Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
- Links zu: Aktiven | Unbeantworteten
#26 12. April 2016 21:41
- cyberman
- Moderator

- Ort: Dohna / Sachsen
- Registriert: 13. September 2010
- Beiträge: 6.741
- Webseite
Re:
wie müsste das den aussehen wenn es selber erkennen soll ob überhaupt eine Liste existiert und wenn nicht dann keinen Error anzeigt.
Na jetzt bin ich doch bißl enttäuscht
... hast du doch quasi ein paar Posts weiter oben schon die Lösung angegeben.
Was ich damit meine? Na die Funktion get_listit_instances()!
Mit dieser Funktion holst du dir sämtliche Instanzen, die dann als String "ListIt2startseite|ListIt2folgeseite|ListIt2nocheineseite" ausgegeben werden. Ergo musst du nur noch in dem String nachschauen (lassen), ob der Name der Instanz vorhanden ist.
Also in etwa so (ungetestet)
{$ainst = ':::get_listit_instances:::'}
{$cinst = "{$smarty.ldelim}ListIt2{$page_alias}{$smarty.rdelim}"}
{$einst = strpos($ainst, substr($cinst,1,-1)}
{if $einst !== false)}
{include file="string:$cinst"}
{/if}Beitrag geändert von cyberman (15. April 2016 13:55)
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
#27 14. April 2016 14:32
- parsec
- arbeitet mit CMSMS

- Registriert: 04. Oktober 2012
- Beiträge: 144
Re:
Geht nicht leider...
Syntax error in template "tpl_body:31" on line 28 "
{$ainst = get_listit_instances()}" unknown function "get_listit_instances""Es ist unmöglich, alles zu wissen" - Horaz
Offline
#28 15. April 2016 10:32
- cyberman
- Moderator

- Ort: Dohna / Sachsen
- Registriert: 13. September 2010
- Beiträge: 6.741
- Webseite
Re:
Ähmm, wo is'n dein Beitrag von 11 Uhr hin
?
Hattest es doch zum Laufen bekommen...
Hab deine Änderung mal oben mit eingebaut.
Einen Fehler konnte ich daran nicht finden, hab aber gerade auch nichts zum Testen online. Vllt kannst du den Fehler mit einem geänderten Workflow kompensieren, also erst Liste erstellen, dann Seite aktivieren
...
Beitrag geändert von cyberman (15. April 2016 13:56)
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
#29 15. April 2016 14:17
- NaN
- Moderator

- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.058
Re:
Wie wäre es damit :
Eine modifizierte Version von get_listit_instances() :
<?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;
if(isset($params['implode']) && $params['implode'])
$ret = implode($delimiter, $ret);
return isset($params['assign']) ? $template->smarty->assign($params['assign'], $ret) : $ret;
}
?>Parameter:
delimiter
(Trennzeichen)implode
(wenn true -> gibt eine Liste von ListIt-Instanzen mit Trennzeichen aus; ansonsten -> gibt das Array zurück)assign
(Variablenname für Verwendung im Template)
Aufruf:
{get_listit_instances assign="listit_instances"}
{$current_instance="ListIt2"|cat:$page_alias}
{if $current_instance|in_array:$listit_instances}
{cms_module module="$current_instance"}
{else}
FEHLER!
{/if}Hab's nicht getestet.
Aber das Prinzip sollte klar sein:
1. Alle ListIt-Instanzen auslesen
2. Den Namen der aktuellen Instanz aus "ListIt2" und dem Alias der aktuellen Seiten zusammensetzen
3. prüfen, ob es eine ListIt-Instanz mit dem Namen der aktuellen Instanz gibt
Module: GBFilePicker, AdvancedContent, FEUMailer
Plugins: AjaxTools, XajaxTools
Sicherheit: Beispiel .htaccess-Datei
Offline