Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 20. Februar 2012 15:53
- gik
- hat von CMS/ms gehört
- Registriert: 30. Dezember 2011
- Beiträge: 13
[GELÖST] Zufallsbilder im Header menüabhängig einblenden
Hallo Forum,
der Betreff sagt eigentlich schon alles. Wie kann ich abhängig vom jeweiligen Menüpunkt 3-4 Zufallsbilder anzeigen lassen und beim nächsten Menüpunkt 3-4 andere usw.
Muss ich da für jeden Menüpunkt ein eigenes Template erstellen, da die Zufallsbilder ja im header erscheinen sollen?
Oder kann man da eine "Abfrage" irgendwie stellen. Habe allerdings keine Ahnung von php oder smarty.
Bin für jede Hilfe dankbar.
liebe Grüße
Gaby
Offline
#2 20. Februar 2012 16:36
- rage_all
- kennt CMS/ms
- Ort: Augsburg
- Registriert: 09. März 2011
- Beiträge: 288
Re: [GELÖST] Zufallsbilder im Header menüabhängig einblenden
Hej!
Mehrere Bilder ... weiß ich nicht.
Ich habe einmal eine Lösung mit jeweils einem Bild umgesetzt, wie folgt:
Im Template liegt der Aufruf für ein Hintergrundbild, das einen bestimmten Dateinamen haben soll, nämlich dem der Seite selbst:
[== Template / HTML ==]
<div id="header" style="background:url(template/anja/headers/header_{alias}.jpg) no-repeat 0 0;">
"alias" ist ein UDT, ein benutzerdefinierter Tag. In diesem liegt dieser Code:
[== UDT ==]
global $gCms;
$smarty =& $gCms->GetSmarty();
$page_alias = $smarty->get_template_vars('page_alias');
echo $page_alias;
Im gerenderten Quelltext der Seite liegt dann also beispielsweise: »...ackground:url(template/anja/headers/header_home.jpg) no-rep...«
Mag sein, dass dies auf die aktuelle Version nicht mehr zutrifft, oder es inzwischen elegantere Lösungen gibt. Diese hier wurde nämlich in der gefühlten Steinzeit noch unter 1.8.2 entwickelt...
Sobald eine neue Seite erstellt wurde, musst Du nur noch ein Bild hochladen, dass den entsprechenden Namen trägt.
Mit mehreren Fotos habe ich mal was mit einem Fotoalbum erstellt, bei Garten Eberle.
Wenn Du an sowas Interesse hast, muss ich mal buddeln wo ich meine Notizen hierfür hab.
Offline
#3 20. Februar 2012 19:29
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Zufallsbilder im Header menüabhängig einblenden
Ähm, das Seiten-Alias gibt es doch schon als Variable im Template. Siehe diese Zeile in Deinem Code:
$smarty->get_template_vars('page_alias');
D.h.:
<div id="header" style="background:url(template/anja/headers/header_{$page_alias}.jpg) no-repeat 0 0;">
macht schon das was es soll
Genausogut könnte man das Seitenalias aber als Verzeichnisnamen nehmen, dort dann einfach die Bilder auswählen, einer Variablen zuweisen, durcheinanderwürfeln und dann die ersten drei Bilder auswählen.
{assign var="bilder" value="uploads/images/$page_alias/*.jpg"|glob}
{$bilder|@shuffle|replace:'1':''} {* kein Plan wie ich Smarty sonst sagen kann, dass hier nichts ausgegeben werden soll *}
{foreach from=$bilder item=bild name="bilder"}
{if $smarty.foreach.bilder.iteration <= 3}
<img src="{root_url}/{$bild}" />
{/if}
{/foreach}
Ist noch Ausbaufähig (vor allem wenn man unterschieliche Dateiendungen hat).
Sollte aber das machen was Du willst: Drei Zufallsbilder je nach Seite. Es muss natürlich bei diesem Beispiel für jede Seite ein Verzeichnis "uploads/images/[seitenalias]" existieren. Dort packst Du dann die Bilder für die Seiten rein.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#4 20. Februar 2012 19:34
- gik
- hat von CMS/ms gehört
- Registriert: 30. Dezember 2011
- Beiträge: 13
Re: [GELÖST] Zufallsbilder im Header menüabhängig einblenden
Ihr seid einfach unbezahlbar. Werde es morgen ausprobieren und mich wahrscheinlich (womöglich) dann wieder melden weil ich es nicht blicke.
Also erst mal vielen Dank und liebe Grüße
Gaby
Offline
#5 20. Februar 2012 21:58
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: [GELÖST] Zufallsbilder im Header menüabhängig einblenden
{$bilder|@shuffle|replace:'1':''} {* kein Plan wie ich Smarty sonst sagen kann, dass hier nichts ausgegeben werden soll *}
wie wäre es mit {capture}{$bilder|@shuffle}{/capture}? nehme ich jedenfalls immer
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#6 20. Februar 2012 22:17
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Zufallsbilder im Header menüabhängig einblenden
Stimmt. {capture} wäre auch eine Lösung. Müsste man glatt mal vergleichen, was davon performanter wäre.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#7 21. Februar 2012 01:31
- rage_all
- kennt CMS/ms
- Ort: Augsburg
- Registriert: 09. März 2011
- Beiträge: 288
Re: [GELÖST] Zufallsbilder im Header menüabhängig einblenden
Jaja, die Coder wieder...
Ich sitz seinerzeit nen halben Tag mit Try-and-Error, quäle mich im IRC mit endlosen S-O-S Hilferufen, lese irgendwelche zusammenhanglosen PHP und Smarty-Dokus, damit Ihr hier mal eben so in 8 Sekunden die besseren Lösungen auf den Tisch zaubert um dann ganz in Ruhe über Performancefragen zu meditieren...
Ihr macht mich fertig.
So, ich geh jetzt wieder irgendwas anmalen und schließe hiermit meinen Beitrag in diesem Thread </Beitrag>
Aber: Gut zu wissen, wo ich fragen kann, wenn mich mal wieder eine Designidee zwickt, die code-mäßig umgesetzt werden muss...
Offline
#8 21. Februar 2012 09:09
- gik
- hat von CMS/ms gehört
- Registriert: 30. Dezember 2011
- Beiträge: 13
Re: [GELÖST] Zufallsbilder im Header menüabhängig einblenden
Hallo ihr Coder,
es funktioniert, aber leider werden auch die thumbs in die Auswahl miteinbezogen.
Ich habe folgendes getan:
In der Bildverwaltung einen neuen Ordner angelegt der den Namen der page_alias hat. In diesen Ordner meine drei Bildchen hochgeladen.
Im Template an der richtigen Stelle den Code eingefügt und wie gesagt - es funktionierte bis auf die kleine Unstimmigkeit, dass auch die thumbs mit in die Auswahl aufgenommen werden.
Dann habe ich den Ordner in der Bildverwaltung gelöscht und per FTP neu angelegt und die Bilder reingeladen.
Jetzt funktioniert es richtig, aber ich habe in meiner Bildverwaltung natürlich keine Bildanzeige sondern nur den Namen der Bilder.
Was ich gestern noch vergessen habe... . Die Bildchen sollen alle paar Sekunden von alleine wechseln. Da gibts doch irgendwas mit microtime oder so??????????
Sorry, dass ich euch nochmal belästige
liebe Grüße
Gaby
Offline
#9 22. Februar 2012 02:14
- rage_all
- kennt CMS/ms
- Ort: Augsburg
- Registriert: 09. März 2011
- Beiträge: 288
Re: [GELÖST] Zufallsbilder im Header menüabhängig einblenden
Hmm. Wie schon gesagt, ich bin Designer, kein Coder.
Trotzdem, mein erster Ansatz wäre das Ganze mit JS durchzuführen und entweder gleich mit JavaScript die Adresse auszulesen und eine Variable zu bauen um die richtigen Bilder zur richtigen Seite zu zeigen, oder beim Rendern mit einem der bisher genannten serverseitigen Ansätze die entsprechende Variable in den JavaScript Code einzubetten und dann erst dem Browser auszuliefern.
Welche JS-Variante für Übergang und Wechsel bliebe auch noch Dir überlassen und hat evtl. auch Einfluss auf die bestmögliche Lösung.
Es gibt immer viele Wege, irgendwo hin zu kommen - nicht alle sind auch elegant, Beispiele gibt es dutzende wenn nicht hunderte, siehe auch in meinem vorletzten Post und den Antworten.
Eine Möglichkeit, auf die ich jetzt einfach mal hinweise, wäre das System was ich bei dem Gartenbauer platziert habe, mit dem aktuellen Gallery Modul und dem Verzeichnis der Gallery via Variablen mit der Adresse, ergo dem Content zu verknüpfen. So geht's automatisch. Ansonsten (das ist aktuell so auf dieser Seite) im jeweiligen Content einfach das entsprechende Verzeichnis manuell auswählen, z.B.:
{cms_module module='album' albums='7'}
Wie gesagt, nur eine, der vielen Möglichkeiten.
Offline
Seiten: 1