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

#1 11. April 2016 19:57

parsec
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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

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

Re:

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}

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

#4 12. April 2016 12:08

parsec
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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

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

Re:

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.


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

#6 12. April 2016 12:13

parsec
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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

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

Re:

Hat LI nicht einen Parameter, um dessen Instanzen aufzurufen?


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

#10 12. April 2016 12:45

parsec
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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

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

Re:

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 cyberman (12. April 2016 13:00)


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

#14 12. April 2016 13:08

parsec
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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

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

Re:

Was gibt denn {$cinst} bei dir aus?


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

#16 12. April 2016 13:35

parsec
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

Gar nix, sorry! sad


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#17 12. April 2016 13:52

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

Re:

Ok, noch mal

{$cinst = "Listit2{$page_alias}"}

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

#18 12. April 2016 14:01

parsec
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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: 538

Re:

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

Re:

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

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

Re:

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 cyberman (12. April 2016 15:54)


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

#22 12. April 2016 16:49

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

Re:

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


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

#23 12. April 2016 19:14

parsec
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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
arbeitet mit CMSMS
Registriert: 04. Oktober 2012
Beiträge: 144

Re:

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

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

Re:

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/


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

Fußzeile des Forums

Powered by FluxBB