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

#1 28. Dezember 2017 19:03

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

LISE automatisches Auswahl-Dropdown erstellen

Hallo Leute,

ich hab mir mittlerweile CMSMS2 angetan, alles aktuell, auch LISE. Auf CMSMS1 hatte ich ein wunderbares PHP-File, das mir alle vorhandenen LISTIT2 Instanzen ausliest und in einem Dropdown im Template auf jeder Seite auswählbar machen konnte.

Zuerst die alte Form…

Aufruf im HTML-Template:

Außerhalb vom  Body…

{content assign='liste' label='' block="Listen" block_group='Liste' block_type="dropdown" items="keine Liste|:::get_listit_instances:::" smarty="backend"  no_collapse='true'}

…und im Body dann:

{if $liste != '' }{cms_module module=$liste}{/if}

Im Plugins Ordner (function.get_listit_instances.php):

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

Das hat bisher alles super funktioniert. Meine PHP und Smarty-Fähigkeiten sind leider sehr begrenzt. Ich Schlaumeier dachte mir, ich mach einfach aus allen ListIt2 bzw. ListIt  ein LISE und hab sogar ECB2 dabei berücksichtig (ich hoff zumindest das war richtig).

Also...

Aufruf im HTML-Template:

Außerhalb vom  Body:

{content_module module="ECB2" label="Liste" block="Listen" field="dropdown" values="keine Liste | :::get_lise_instances:::" smarty="backend" no_collapse="true" assign="liste"}

Im Body dann schließlich:

{if $liste != '' }{cms_module module=$liste}{/if}

Dann im Plugnis-Ordner (function.get_lise_instances.php):

<?php
function smarty_function_get_lise_instances($params, &$template) 
{
                if(!$li = &cms_utils::get_module('LISE'))
                               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);

}
?>

Leider kommt da zwar ein Dropdown aber nur mit dem Inhalt  „keine Liste|:::get_listit_instances:::“ ??  Ich dachte mir, einer der sich damit auskennt, dürfte damit keine Schwierigkeiten haben. Das alte PHP hat mir damals NAN zukommen lassen in folgendem Beitrag.

http://www.cmsmadesimple.de/forum/viewtopic.php?id=4776

Es ging ursprünglich um eine automatische Seiten-Spezifische ListIt-Listen-Anzeige mittels Page-Alias. Das funktionierte übrigens sogar mit CMSMS2 einwandfrei. Weiter unten wurde ich dann frech und hab noch das ListIt2-Dropdown erbettelt wink

Vielleicht hilft das ja?

Gruß

Beitrag geändert von parsec (28. Dezember 2017 19:04)


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

Offline

#2 06. Januar 2018 17:58

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

Re: LISE automatisches Auswahl-Dropdown erstellen

sad  keiner ne Idee?


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

Offline

#3 06. Januar 2018 20:35

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

Re: LISE automatisches Auswahl-Dropdown erstellen

parsec schrieb:

Leider kommt da zwar ein Dropdown aber nur mit dem Inhalt  „keine Liste|:::get_listit_instances:::“ ??

Das bringt mich auf den Gedanken, dass mit dem Plugin etwas nicht stimmt. Gerade geschaut - die Funktion ListModules ist auch in LISE drin.

Ersetz mal darin das

<?php
function smarty_function_get_lise_instances($params, &$template) 
{
                if(!$li = &cms_utils::get_module('LISE'))

durch das

<?php
function smarty_function_get_lise_instances($params, &$smarty) 
{
                if(!$li = \cms_utils::get_module('LISE'))

Mehr kann ich dir dazu nicht sagen (arbeite nicht mit der V2 tongue )


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#4 07. Januar 2018 18:57

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

Re: LISE automatisches Auswahl-Dropdown erstellen

Danke für den Tipp, einen Versuch war es wert, aber leider hat das nichts gebracht. Bisher war ich mit der Version 1 ja auch zufrieden und kann auch größtenteils noch damit arbeiten. Nur früher oder später muss man ja wohl umsteigen, oder seht Ihr das anders? Wie gesagt ich hab schon mehrfach von meinen Kunden hören müssen dass Ihnen das PHP5.6 nun extra berechnet wird. Manche fragen/verlangen auch PHP7.


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

Offline

#5 07. Januar 2018 19:32

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

Re: LISE automatisches Auswahl-Dropdown erstellen

parsec schrieb:

Danke für den Tipp, einen Versuch war es wert, aber leider hat das nichts gebracht.

Schade, aber wie gesagt - hab da auch nur in die aktuellen Sourcen geschaut, wie es da gelöst ist. Hab für die 2.x nicht einmal mehr ein Test-Setting...

Wichtig wäre, erst einmal den UDT zu einer Ausgabe zu bewegen. Vorher brauchst du über ECB gar nicht nachdenken. Hast du das schon mal probiert?

parsec schrieb:

Nur früher oder später muss man ja wohl umsteigen, oder seht Ihr das anders?

Wie heisst es in der EDV so schön ... "Never change a running system" big_smile .

Und was die 2.x betrifft, hatte es @NaN so schön auf den Punkt gebracht

http://www.cmsmadesimple.de/forum/viewt … 744#p40744

Abgesehen davon ist eine Aktualisierung auf die 2.x kein reguläres Update, was in kurzer Zeit erledigt ist, sondern mit richtig Arbeit verbunden (die GCB's gibt's so nicht mehr, neues Menü Modul etc.). Das muss man einem Kunden natürlich auch sagen.

Ist aber meine ganz persönliche Meinung...

parsec schrieb:

Wie gesagt ich hab schon mehrfach von meinen Kunden hören müssen dass Ihnen das PHP5.6 nun extra berechnet wird.

Das ist DEFINITIV haushohe Geldschneiderei, zumindest zum gegenwärtigen Zeitpunkt. Würde ich auch ganz klar so vermitteln und notfalls einen Umzug vorschlagen. Bis Dezember 2018 gibt's noch Sicherheits-Updates für PHP 5.6:

http://php.net/supported-versions.php

Also keinerlei Gefahr im Verzug o.ä.

Bei all-inkl.com ist im Premium-Paket für 9,90 EUR von PHP 5.5 (!!!) bis 7.1 alles drin (yup, so ein Paket hab ich dort). Und so wie ich das Unternehmen kenne, ist das bei dem (kleinsten) Privat-Tarif für 4,95 EUR nicht anders.

parsec schrieb:

Manche fragen/verlangen auch PHP7.

Vllt hilft dir ja auch das weiter

http://www.cmsmadesimple.de/forum/viewt … 153#p40153


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline