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 big_smile - 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

parsec schrieb:

ohne dass ich das jetzt ausprobiert hab,

Solltest du aber - hab ja nicht sämtliche LI-Parameter im Kopf wink ... 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... neutral

[== 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. big_smile


"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);
}

von https://www.cmsmadesimple.de/forum/view … hp?id=4543


"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! sad


"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 wink

{$cinst = "{$smarty.ldelim}ListIt2{$page_alias}{$smarty.rdelim}"}
{include file="string:$cinst"}

http://www.smarty.net/docs/en/resources.string.tpl

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..... big_smile


"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

cyberman schrieb:

die problematische Funktion eval

Problematisch deswegen, weil sie sehr langsam arbeitet wink

http://php.webtutor.pl/en/2011/06/13/ev … ng-faster/

Offline