Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
#1 11. April 2016 19:57
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
[GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Hallo Leute,
hab in einem anderem Thema mal mitbekommen, dass man jeder Seite automatisch eine eigene CSS-Klasse mit dem Seiten-Alias mitgeben kann. Super Sache wer mit CSS und HTML gut umgehen kann, da Spart man sich zusätzliche Templates.
[== html ==]
<body id="{$page_alias}">
Wie kann ich dieses Page-Alias dazu benutzen, eine eigens für bestimmte Seiten vorgesehene LisIt-Liste automatisch aufzurufen? Wenn ich die jeweiligen Listen nach den dazugehörigen Page-Alias benenne, kann das doch nicht so schwer sein oder?
Also ungefähr so (geht natürlich nicht)
[== smarty ==]
{ListIt2{$page_alias}}
Vielleicht hat jemand eine Idee!
Gruß und vielen Dank an alle die helfen!
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#2 11. April 2016 21:44
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Ich könnte natürlich den Page-Aliase den jeweiligen ListIt-Listen-Namen geben. Diese Holzhacker-Methode, hab ich jetzt nicht Probiert aber ich glaub das geht bestimmt gar nicht. Oder doch?
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#3 12. April 2016 08:28
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Nee, nix Holzhacker - derartige Variablen etc. sind in Smarty genau dafür da ... um die entsprechenden Logiken aufzubauen, z.Bsp.
[== smarty ==]
{ListIt2 category=$page_alias}
Offline
#4 12. April 2016 12:08
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Aha, dann wahrscheinlich in diesem Fall, ohne dass ich das jetzt ausprobiert hab,
[== smarty ==]
{ListIt2 module=$pagealias}
richtig?
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#5 12. April 2016 12:12
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
ohne dass ich das jetzt ausprobiert hab,
Solltest du aber - hab ja nicht sämtliche LI-Parameter im Kopf ... aber grundsätzlich sollte es schon passen.
Offline
#6 12. April 2016 12:13
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Oder eher,
[== Smarty ==]
{cms_module module=$pagealias}
hm ich probier es einfach mal.
Danke für die Anregung!
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#7 12. April 2016 12:27
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Wär ja zu schön gewesen...
Syntax error in template "tpl_body:32" on line 46 " {ListIt2 module=$page_alias} " unknown tag "ListIt2"
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#8 12. April 2016 12:36
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Ich hab eine ListIt2-Liste erstellt "startseite" , wenn ich ins Template {ListIt2startseite} wird die Liste einwandfrei angezeigt.
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#9 12. April 2016 12:41
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Hat LI nicht einen Parameter, um dessen Instanzen aufzurufen?
Offline
#10 12. April 2016 12:45
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Hab nur das gefunden...
[== smarty ==]
{ListIt2Loader item='item' identifier='alias' instance='ListIt2Instance' value='myalias' assign='tmp'}
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#11 12. April 2016 12:52
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Menno... Nicht lachen hab das grad gemacht...
[== Smarty ==]
Syntax error in template "tpl_body:32" on line 46 " {ListIt2 instance='$page_alias'} " unknown tag "ListIt2"
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#12 12. April 2016 12:54
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Ich bemüh mich ja, bin einfach zu grün hinter den Ohren. HTML und CSS bin ich Meister aber das ist immer zu hoch für mich.
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#13 12. April 2016 12:58
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Da ist sie doch - die Instanz.
{$cinst = "ListIt2`$page_alias`"}
und das dann einsetzen, also instance=$cinst
PS: Bei Variablen als Parameter kannst/musst du die einfachen Anführungszeichen weg lassen.
Beitrag geändert von Andynium (12. April 2016 13:00)
Offline
#14 12. April 2016 13:08
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Hab das eingefügt, zumindest kein Error, aber auch die Liste ist nicht zu sehen.
Hab noch nen PHP-Fetzen von ner anderen Sache mit Listit gefunden "function.get_listit_instances.php"
Vielleicht hilft das ja...
[== PHP ==]
function smarty_function_get_listit_instances($params, &$template) {
if(!$li = &cms_utils::get_module('ListIt2')) {
return;
}
$delimiter = isset($params['delimiter']) ? $params['delimiter'] : '|';
$ret = array();
$modules = $li->ListModules();
foreach($modules as $mod) {
$ret[$mod->module_id] = $mod->module_name;
}
return implode($delimiter, $ret);
}
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#15 12. April 2016 13:14
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Was gibt denn {$cinst} bei dir aus?
Offline
#16 12. April 2016 13:35
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Gar nix, sorry!
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#17 12. April 2016 13:52
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Ok, noch mal
{$cinst = "Listit2{$page_alias}"}
Offline
#18 12. April 2016 14:01
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Kommt nix an Sorry, auch kein Error!
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#19 12. April 2016 14:14
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
[== smarty ==]
{ListIt2$page_alias}
Schon mal ganz einfach so versucht - also ganz einfach die Variable direkt hinten angefügt -, denn nochmal smarty in smarty ist eher kontraproduktiv.
Offline
#20 12. April 2016 14:36
- Klenkes
- Server-Pate
- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Superumständlich aber kurz unter 1.12.1 getestet:
{$cinst=ListIt2|cat:$page_alias}
{eval var="{ldelim}$cinst{rdelim}"}
Wobei dein ListIt-Modul allerdings in Kleinbuchstaben sein muss, da es der Alias meist auch ist. Sonst müsstest du weitere Aktionen durchführen um vorher den page_alias mit capitalize anzupassen.
Holy Sh*t!
Beitrag geändert von Klenkes (12. April 2016 14:37)
Offline
#21 12. April 2016 15:51
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Auch so herum sollte es funktionieren
{$cinst = "{$smarty.ldelim}ListIt2{$page_alias}{$smarty.rdelim}"}
{eval var=$cinst}
Da hat es eine Zeile zum Zusammenbauen des LI-Aufrufs und eine Zeile für die Ausführung. Ist programmtechnisch etwas sauberer und nach meinem persönlichen Empfinden auch übersichtlicher und auch performanter (du sparst die Funktionen cat, rdelim und ldelim).
Hab es so anhand des News-Moduls getestet, und es funktioniert ...
Beitrag geändert von Andynium (12. April 2016 15:54)
Offline
#22 12. April 2016 16:49
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Um die problematische Funktion eval los zu werden, gibt es auch noch diese Alternative
{$cinst = "{$smarty.ldelim}ListIt2{$page_alias}{$smarty.rdelim}"}
{include file="string:$cinst"}
Offline
#23 12. April 2016 19:14
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Meine Herren, so geht es ich bedanke mich bei euch recht herzlich! Wunderbar jetzt brauch ich nur noch ein Template für Listenseiten! Freu.....
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#24 12. April 2016 19:49
- parsec
- kennt CMS/ms
- Registriert: 04. Oktober 2012
- Beiträge: 208
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
Ich weis, jetzt werde ich frech, wie müsste das den aussehen wenn es selber erkennen soll ob überhaupt eine Liste existiert und wenn nicht dann keinen Error anzeigt. Wahrscheinlich etwa?
[== smarty ==]
{if $cinst != ' '}{$cinst = "{$smarty.ldelim}ListIt2{$page_alias}{$smarty.rdelim}"}{include file="string:$cinst"}{/if}
"Es ist unmöglich, alles zu wissen" - Horaz
Offline
#25 12. April 2016 21:17
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Seiten-Spezifische ListIt-Liste mttels Page-Alias automatisch aufrufen
die problematische Funktion eval
Problematisch deswegen, weil sie sehr langsam arbeitet
Offline