Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 27. Februar 2013 18:41
- SlurmMcKenzie
- hat von CMS/ms gehört
- Registriert: 27. Februar 2013
- Beiträge: 4
Nach Update, Probleme mit UDT und Template-editor
Hallo, ich nutze CMSMS schon eine Weile, aber jetzt hab ich plötzlich ein merkwürdiges Problem welches ich nicht lösen kann.
Ich habe bisher CMSMS in der Version 1.10.2 benutzt.
Die Seite läuft auch super.
Jetzt wollte ich allerdings auf 1.11.4 updaten.
Das Update selber geht auch, aber danach stellte ich fest, dass mein Frontend nicht mehr geht.
Ich konnte das Problem soweit eingrenzen, dass ich jetzt weiß, es liegt an den user defined tags und der Einbindung ins Template.
Die UDT's sind unverändert zu Version 1.10.2.
Wenn ich die einbindung der UDT's aus dem Template entferne kann ich das Template speichern und die Seite geht so.
Sobald ich einen der UDT's ins Template einfüge habe ich folgendes Problem:
Ich kann die Änderung im Template nicht speichern.
Der Übernehmen, sowie der Absenden Button gehen nicht.
Ich vermute an dieser Stelle schlägt die automatische Validierung des Codes fehl.
Ich bekomme keine Fehlermeldung was genau da nicht geht.
Die UDT's zu bearbeiten und zu speichern ist kein Problem.
Wenn ich einen neuen, "leeren" UDT erstelle und einbinde geht das.
(mit leer meine ich da ist z.b. nur ein
[== php ==]
echo 'hallo';
drin)
Mein Frage ist jetzt, was genau ist an meinen UDT's falsch das sie plötzlich nicht mehr funktionieren ?
Oder ist gar nichts falsch und das Problem liegt in der Validierungsfunktion von CMSMS?
Wenn ich erst den leeren UDT einfüge ins Template und dann speichere, was ja geht, und nachträglich dann den UDT mit
dem alten Code fülle, was auch geht, dann funktioniert die Seite sogar. Aber ich kann nachträglich das Template nicht mehr ändern.
Hier ist eins der fehlerhaften UDT:
[== php ==]
global $gCms;
$db =& $gCms->GetDb();
// get current page
$manager =& $gCms->GetHierarchyManager();
$thisPage = $gCms->variables['page_name'];
$currentNode = & $manager->sureGetNodeByAlias($thisPage);
$cont = &$currentNode->getContent();
$thisMenuText="";
if( defined( $cont->MenuText() ) )
{
$thisMenuText = constant($cont->MenuText());
}
else
{
$thisMenuText = $cont->MenuText();
}
echo $thisMenuText;
Ich kann es erstellen und speichen, aber solabd ich den Tag im Template einbinde, kann ich die Änderung am Template nicht mehr speichern.
Offline
#2 27. Februar 2013 19:22
- Klenkes
- Server-Pate
- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: Nach Update, Probleme mit UDT und Template-editor
In CMSMS 1.11 hat sich doch so einiges geändert.
Aber wie ich das sehe, ist alles was dein UDT macht, den aktuellen Menütext zu holen.
Das kann mit dem Modul Toolbox einfacher gemacht werden:
{$tbtools->getPageMenutext()}
Setzt von der aktuellen Seite den Menütext.
In der Modulhilfe im TAB Smarty Tools finden sich noch mehr hilfreiche Snippets für die man früher UDTs gebraucht hat.
Beitrag geändert von Klenkes (27. Februar 2013 19:23)
Offline
#3 27. Februar 2013 20:03
- SlurmMcKenzie
- hat von CMS/ms gehört
- Registriert: 27. Februar 2013
- Beiträge: 4
Re: Nach Update, Probleme mit UDT und Template-editor
ok, vielen dank für die antwort.
dieses UDT war ja nur 1 von 4, die anderen sind länger und mit mehr funktionen.
der fehler liegt aber irgendwo in dem teil
global $gCms;
$db =& $gCms->GetDb();
// get current page
$manager =& $gCms->GetHierarchyManager();
$thisPage = $gCms->variables['page_name'];
$currentNode = & $manager->sureGetNodeByAlias($thisPage);
$cont = &$currentNode->getContent();
ohne den teil gehts.
Offline
#4 27. Februar 2013 20:32
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.017
- Webseite
Re: Nach Update, Probleme mit UDT und Template-editor
Ersetz mal
global $gCms;
durch
$gCms = cmsms();
Offline
#5 28. Februar 2013 08:30
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: Nach Update, Probleme mit UDT und Template-editor
Um den aktuellen Menütext zu holen, braucht man weder UDT noch Toolbox:
{if isset($content_obj) && is_object($content_obj)}
{$content_obj->MenuText()}
{/if}
Die if-Bedingung ist nötig, damit man das Template auch speichern kann. CMSms kompiliert seit 1.11 das Template beim Speichern, um Fehler festzustellen. Dadurch werden auch Plugins ausgeführt. Sind diese fehlerhaft, kann das Template nicht gespeichert werden. Da es im Backend beim Bearbeiten eines Templates kein aktuelles Inhaltsobjekt gibt, muss man eben vorher prüfen, ob {$content_obj} existiert bzw. ein Objekt ist.
Zu den weiteren Plugins können wir erst etwas sagen, wenn wir diese gesehen haben.
Sachen wie z.B. $gCms->variables['blablubb'] gehen nämlich auch nicht mehr einfach so.
Ich habe allerdings die Befürchtung, dass es in Deinem Fall nicht nur an den UDTs liegt.
UDTs werden neuerdings im Backend nicht mehr ausgeführt.
Ich vermute mal, dass da noch Plugins sind, die überarbeitet werden müssen oder, dass Du im Template noch ein paar Sachen stehen hast, die so nicht mehr funktionieren (z.B. {$content_obj->BlaBlubb()} ohne zu prüfen, ob die Variable existiert etc.).
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#6 28. Februar 2013 09:44
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.017
- Webseite
Re: Nach Update, Probleme mit UDT und Template-editor
Sachen wie z.B. $gCms->variables['blablubb'] gehen nämlich auch nicht mehr einfach so.
Kannst du das "nicht mehr einfach so" noch etwas genauer beschreiben?
Hab da nämlich auch einiges anzupassen ...
Offline
#7 28. Februar 2013 10:03
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: Nach Update, Probleme mit UDT und Template-editor
Statt:
$gCms->variables['blablubb']
sollte so funktionieren:
cmsms()->get_variable('blablubb')
ist aber leider gegen die Forge-Rules. Außerdem haben sich auch einige Variablennamen geändert. Die Variable "pageinfo" existiert z.B. nicht mehr. Dafür gibt es das "content_obj". Wenn man Forge-Konform arbeiten will, muss man genau schauen, ob es nicht auch einen offiziellen Weg gibt, um an bestimmte Daten zu kommen. Im Falle des Inhaltsobjektes kann man sich z.B. mit
cms_utils::get_current_content()
das aktuelle Inhaltsobjekt geben lassen (die Funktion macht genau das gleiche wie cmsms()->get_variable('content_obj'), aber dafür muss man nicht auf interne Funktionen zugreifen).
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#8 28. Februar 2013 16:43
- SlurmMcKenzie
- hat von CMS/ms gehört
- Registriert: 27. Februar 2013
- Beiträge: 4
Re: Nach Update, Probleme mit UDT und Template-editor
Hey, danke für eure Hilfe.
ich denke ich weiß jetzt was los ist.
ein paar der UDT's gehen wieder
hab dort das hier benutzt anstelle des alten Codes:
$manager = cmsms()->GetHierarchyManager();
$cont = cms_utils::get_current_content();
if (isset($cont) && is_object($cont))
{ ... }
es sind zwar noch ein paar fehler drin aber ich denke die kann ich auch noch abschalten.
muss eh ein paar sachen umschreiben.
gibts eigentlich irgendwo ne liste in der steht was es alles für befehle gibt ?
wie diese hier
cms_utils::get_current_content()
cmsms()->...
konnte in der dokumentation nix finden
Offline
#9 28. Februar 2013 16:58
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: Nach Update, Probleme mit UDT und Template-editor
Eventuell hilft Dir das schon weiter: http://apidoc.cmsmadesimple.org/
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#10 28. Februar 2013 17:45
- SlurmMcKenzie
- hat von CMS/ms gehört
- Registriert: 27. Februar 2013
- Beiträge: 4
Re: Nach Update, Probleme mit UDT und Template-editor
Eventuell hilft Dir das schon weiter: http://apidoc.cmsmadesimple.org/
das hatte ich auch schon gefunden, und ich denke da stehen sicher auch alle antworten auf meine frage drin, aber es ist alles andere als einfach oder übersichtlich ;-)
werde mich bei gelegenheit aber mal da durchlesen
Offline
Seiten: 1