Neue Frage
So Leute...
Ob ihr es glaubt oder nicht: Es hat sich etwas getan und ich habe einen Teilerfolg zu verzeichnen!
...nur leider nicht auf Eure Art der Vorgaben...
Folgende Syntax in der Hilfsdatei hat jetzt gegriffen (und das Ganze ganz ohne JS-Scripte!)...
aus der originalen Zeile
PHP:
$dayout = '<a href="'.CALENDAR_PAGE.$link.'" class="tooltip"><b>'.$day.'</b><span class="twrapper">'.$output.'</span></a>';
wurde jetzt:
PHP:
$dayout = '<a href="?id=kalender&'.$link.'" class="tooltip"><b>'.$day.'</b><span class="twrapper">'.$output.'</span></a>';
(auf das "&" bin ich eher zufällig gestoßen... - eine Ableitung von anderen Fallbeispielen mit Mehrfach-Funktionen)
Klicke ich jetzt im Sidebar-Kalender einen Tag mit Terminen (einen "Link") an, so wird die Gastansicht des Kalenders im Content geöffnet (ja, die Kalenderansicht wird wirklich in den Content includiert!!!) und es wird dann sofort die Tagesliste mit angezeit (so wie es eigentlich auch sein soll, wenn man im Sidebar einen Tag anklickt).
Wechsel ich nun im Menü zur Gastansicht (startet ja ohne Tagesliste) und klicke hier auf einen Tag: Die entsprechende Tagesliste wird geöffnet! (also auch die normale Funktion, wie es sein soll)
So weit -so gut! Aber nun kommt das große ABER:
Wenn ich jetzt in der Gastansicht die Monate blättern will, dann springt er von der Gastansicht zum Default-Inhalt (Startseite) und im Sidebar-Kalender wird jetzt der nächste Monat angezeigt (je nach dem, welche richtung geblättert: +1 oder -1)
Das heißt also, ich muß jetzt nur noch einen Weg finden, wie er in der Gastansicht bleibt, wenn in der Gastansicht in den Monaten geblättert wird...
(so, ich brauch erst einmal 'ne Mütze voll Schlaf :roll:)
---
Nachtrag:
Ich vermute, dass ich eine if-else-Anweisung nach folgendem Sinnbild benötige:
Wenn "guest.php" geöffnet ist, dann Action-Pfad "guest.php?go=[Blätter-Richtung]" sonst (also wenn nicht guest.php) Action-Pfad "index.php?go=[Blätterrichtung]
Ist so etwas möglich?
------------------------------------
PS @janm:
Deine Überlegung und der Lösungsansatz hat sich demzufolge fast bestätigt.
Nur, dass ich an Stelle des von dir vorgeschlagenen, zu übernehmenden "bliblablub" (date=[datum]) einfach nur das ".$funktion." anstatt "date=[Datum] übernehmen mußte und halt die "&-Verknüpfung" benötige, damit er " .$link. " richtig auswertet
(Ja, manchmal sieht man den wald vor lauter Bäumen nicht, weil man auf einen anderen Lösungsansatz fixiert ist/war...)
Im Nachhinein gesehen:
Wenn er auf "#" das als Sprungziel "Seitenanfang" interpretiert hat, hätte ich mal gleich schauen sollen, wie er auf das "?" reagiert hätte...
=> Keine Fehlermeldungen mehr!
... und dann das "?" nur noch entsprechend erweitern und schauen müssen, was passiert.
----------
So, nun habe ich in der funktionsausführenden Hilfsdatei des Kalenders wieder die ursprüngliche original-Zeile...
PHP:
$dayout = '<a href="'.CALENDAR_PAGE.$link.'" class="tooltip"><b>'.$day.'</b><span class="twrapper">'.$output.'</span></a>';
...stehen
in der Config steht jetzt die letzte Pfadkonfiguration, die ich in der Kalenderhilfsdatei stehen hatte und zum Erfolg geführt hat:
PHP:
define('CALENDAR_PAGE', 'index.php?id=kalender&');
Entgegen meiner ersten Vermutung wird die Funktion "Blätter Monat vor/zurück" über eine andere Konfiguration in der Hilfsdatei ausgeführt.
die Stings dafür lauten:
PHP:
$linkback = '<a href="'.$this->self_link.'go=back" title="Vorheriger Monat"><<</a>';
$linkforward = '<a href="'.$this->self_link.'go=forw" title="Folgender Monat">>></a>';
Der gesamte Steuer-Block lautet:
PHP:
// Start output
echo '<table summary="month" cellpadding="0" cellspacing="0" class="month">'."\n";
if (ENABLE_SESSION) {
$linkback = '<a href="'.$this->self_link.'go=back" title="Vorheriger Monat"><<</a>';
$linkforward = '<a href="'.$this->self_link.'go=forw" title="Folgender Monat">>></a>';
} else {
$linkback = "";
$linkforward = "";
}
echo ' <tr><th colspan="7">'.$linkback." ".$this->monthName[$this->showMonth['mon']]." - ".$this->showMonth['year']." ".$linkforward.'</th></tr>'."\n";
echo ' <tr class="days">';
foreach($this->dayName AS $day) echo "<td>$day</td>";
echo "</tr>\n";
Ich muß jetzt also nur noch rausfinden, wie ich dieses Blättern in den Monaten so hinbekomme, dass z.B. beim Blättern im Sidebar-Kalender immer wieder die index,php mit dem aktuellen Seiteninhalt aufgerufen wird.
(also die Seitenanzeige, auf der ich mich gerade befinde, wenn ich im Sidebar-Kalender zu blättern beginnen will)
Derzeit wechselt er immer zum default-Seiteninhalt, was ja die "Startseite" wäre...
Das Problem ist, dass " '.$this->self_link.' ... " lediglich " ?go=... " erzeugt und nicht die aktuelle Seitenansicht registriert/erkennt.
Beispiele:
Startansicht der HP (ohne einen menü-Punkt gewählt zu haben): => "<url>/?go=..."
nach Aufruf eines Menü-Punktes: => "index.php?go=..."
In der Hoffnung, dass der String funktionieren wird, ist diese Ausgabe gewünscht: "index.php?id=[aktuelle Seitenansicht]&go=..."
Weitere Verknüpfungen mit " '.$this->self_link.' " wären folgende 2 Strings:
und
PHP:
function prepare($edit = false){
$this->edit = $edit;
$parsed = parse_url($_SERVER['REQUEST_URI']);
$this->self_link = $parsed['path']."?";
/*
if ($target_link=="") $target_link = ADMIN_PAGE;
$this->target_link = $target_link;
if ($go_link=="") $go_link = $self;
$this->go_link = $go_link;
echo "ta: $target_link <br/>";
echo "go: $go_link <br/>";
*/
$this->actions_do($_REQUEST); //process user-actions
$this->check_go();
$this->load_events();
}
Ich wäre für Lösungsansätze (hilfreiche Tipps, was ich nachschlagen könnte) dankbar!
Gruß Frank