Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 17. März 2014 12:56

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.039
Webseite

Re:

Hallo,

wenn ich in CGCalendar blättere durch Monaten dann kann ich der Wert für Monat $month zeigen, läuft schön mit, mit dem gezeigten Monat.

Jetzt möchte ich diese Wert übergeben an einem anderen Seite/Template so, dass ich eine verkurzte Layout für dem selben Monat zeigen kann.
Sehe http://www.rainbach.at/index.php?page=v … gskalender (mit leere Tagen) ein Klick auf Kurzansicht (ohne leere Tagen).

Kann man überhaupt variabelen von eine Seite mitnehmen auf eine andere Seite mit Smarty so etwas wie ein "global variabele"?

mfg
Jan


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

#2 17. März 2014 13:15

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

So ganz spontan fallen mir da Session Cookies ein   roll...


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#3 17. März 2014 13:23

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.058

Re:

Entweder Session-Cookies oder den aktuellen Monat mit an den Link dranhängen.
Wie kommt denn der Link "Kurzansicht" bzw. "Normale Ansicht" zustande?

Offline

#4 17. März 2014 13:34

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.039
Webseite

Re:

Es sind 2 Seiten in CMSMS mit unterschiedlichen Templates.

An Session Cookies habe ich auch schon gedacht. Lese jetzt in Doku dass es Tags {php}{/php} gibt, funktioniert dass, denn es soll deprecated sein?

mfg
Jan


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

#5 17. März 2014 14:01

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.058

Re:

Das würde ich dann eher mit einem UDT/Plugin machen anstelle mit {php} Tags.

Aber man könnte doch auch ein und dieselbe Seite verwenden, nur eben mit verschiedenen Variablen im Link. Z.B.:
.../index.php?page=veranstaltungskalender&kurzansicht=1&monat=3

Wenn keine Variable "kurzansicht" im Link oder der Wert gleich 0 ist, wird die normale Ansicht angezeigt. Wenn die Variable "kurzansicht=1" da ist, rufst Du das Kalender Modul mit entsprechenden Parametern auf, damit nur die Kurzansicht angezeigt wird (ich vermute mal Du verwendest verschiedene Kalender-Templates, oder?).

Ebenso kannst Du doch auch den Monat mit in den Link einbauen. Ohne Variable für den Monat wird der aktuelle Monat angezeigt. Mit Variable, der Monat, der im Link steht.

Wäre das nicht besser als zwei Seiten mit unterschiedlichen Templates zu haben?

Offline

#6 17. März 2014 14:18

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.039
Webseite

Re:

@NaN

ich werde es mal über den Link versuchen, das ist einfacher als Variabelen austauschen zwischen Smarty und PHP.

Danke


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

#7 17. März 2014 15:11

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.039
Webseite

Re:

in dem Template funktioniert das:
<a href="index.php?page=veranstaltungskalender-kurz&maand={$month}&jaar={$year}">Kurz Ansicht</a>
es liefert
http://www.rainbach.at/index.php?page=v … &jaar=2014

beim Abruf mit
{cms_module module="CGCalendar" lang="de_DE" calendartemplate="Monatkurz" inline="0" detailpage="veranstaltungskalender" month=$maand year=$jaar}

komm ich wieder auf Monat 3 statt auf Monat 5

Irgendwie stehe ich auf dem Schlauch . . . .

Was übersehe ich?

mfg
Jan


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

#8 17. März 2014 15:48

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.058

Re:

Wie kommst Du auf "$maand" bzw. "$jaar" im Template?
Du musst die GET-Parameter aus dem Link auslesen. (escapen zur Sicherheit nicht vergessen! wobei intval() auch reichen müsste. sind ja nur zahlen)
Z.B.:

{cms_module ... month=$smarty.get.maand|intval ... year=$smarty.get.jaar|intval}

Offline

#9 17. März 2014 16:16

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.058

Re:

Hier mal ein Beispiel wie man es mit einer Seite machen könnte.
UDT ("get_cal_parms"):

$shortview = isset($_GET['shortview']) && $_GET['shortview'] == 1;
$month = isset($_GET['maand']) ? intval($_GET['maand']) : date("m");
$year = isset($_GET['jaar']) ? intval($_GET['jaar']) : date("Y");
$smarty =& cmsms()->GetSmarty();
$smarty->assign("shortview", $shortview);
$smarty->assign("month", $month);
$smarty->assign("year", $year);
$smarty->assign("calendartemplate", $shortview ? "Monatkurz" : "Monatnormal");

Smarty:

{get_cal_parms}
{cms_module module="CGCalendar" lang="de_DE" calendartemplate=$calendartemplate inline="0" detailpage="veranstaltungskalender" month=$month year=$year}

Offline

#10 17. März 2014 16:41

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.039
Webseite

Re:

Danke Nan,

ich war mal kurz weg, das hilft. War klar, GET vergessen.

Statt month und year habe ich maand und jaar (holländisch) genommen so, dass es nicht stört mit Smarty's eigen Variabelen.

Ich muss erst andere Sachen zu Ende machen, heute abend spät oder morgen mache ich es zu Ende.

DIe methode über der URL ist perfekt, das hätte ich bedenken müssen, so habe ich mehrere non-cms Websites gebaut. Muss Frühlingsmüdigkeit sein ;-).

mfg
Jan

Beitrag geändert von Janl (17. März 2014 16:42)


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

#11 17. März 2014 17:31

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.039
Webseite

Re:

Fertig, funktioniert.

Danke Nan

mfg
Jan


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

Fußzeile des Forums

Powered by FluxBB