Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 23. November 2013 20:48
- dlen
- probiert CMS/ms aus
- Registriert: 05. Februar 2011
- Beiträge: 59
[GELÖST] {capture} crasht und {$friendly_position} meckert
Hallo Foristen,
dieser Beitrag enthält den Fortschritt der Recherchen.
Ich habe auch gelöstes dringelassen, falls jemand andres ähnliches sucht.
habe eine Seite mit Gorans Multilanguage-Methode (http://www.i-do-this.com/blog/25/Anothe … CMSMS-Page). Die Seite funktionierte unter 1.10.3 fehlerlos. Ich habe sie nun (lokal unter XAMPP) auf 1.11.9 gebracht und habe eine Reihe von Fehlermeldungen, die ich allein nicht auflösen kann.
Der wesentliche Code ist
{capture assign='page_lang'}{$cgsimple->get_root_alias()}{/capture}
...
<body>
{*capture assign="hierarchy_en"}2{$friendly_position|substr:'1'}{/capture}
{capture assign="hierarchy_de"}3{$friendly_position|substr:'1'}{/capture}
{hierarchy_position friendly_position=$hierarchy_en assign="en_alias"}
{hierarchy_position friendly_position=$hierarchy_de assign="de_alias"*}
....
Hier ist der letzte Codeblock auskommentiert. Wenn ich dessen erste Zeile entkommentiere und das Template absende, erhalte ich (direkt im Backend):
Notice: Undefined index: friendly_position in C:\xampp-1-8-2\htdocs\aum-muenchen\tmp\templates_c\parser1385235242^dd10a1840f43813cd647195dd79bd3add047c6e9.template.appdata;tmp_template.php on line 55
Notice: Trying to get property of non-object in C:\xampp-1-8-2\htdocs\aum-muenchen\tmp\templates_c\parser1385235242^dd10a1840f43813cd647195dd79bd3add047c6e9.template.appdata;tmp_template.php on line 55
Notice: Undefined property: Smarty_CMS::$_capture_stack in C:\xampp-1-8-2\htdocs\aum-muenchen\lib\smarty\Smarty.class.php on line 676
Notice: Indirect modification of overloaded property Smarty_CMS::$_capture_stack has no effect in C:\xampp-1-8-2\htdocs\aum-muenchen\tmp\templates_c\parser1385235242^dd10a1840f43813cd647195dd79bd3add047c6e9.template.appdata;tmp_template.php on line 57
Fatal error: Uncaught exception 'SmartyException' with message 'Call of unknown method 'capture_error'
Das sind 2 Hauptfehler: mit capture und mit friendly_position.
Erster Fehler: Die Anführungszeichen.
Wenn ich die doppelten durch einfache ersetze - wohl ein Anfängerfehler - d.h. so
{capture assign='hierarchy_en'}2{$friendly_position|substr:'1'}{/capture}
ändert sich die Fehlermeldung so:
Notice: Undefined property: Smarty_CMS::$_capture_stack in C:\xampp-1-8-2\htdocs\aum-muenchen\lib\smarty\Smarty.class.php on line 676
Notice: Indirect modification of overloaded property Smarty_CMS::$_capture_stack has no effect in C:\xampp-1-8-2\htdocs\aum-muenchen\tmp\templates_c\parser1385236403^dd10a1840f43813cd647195dd79bd3add047c6e9.template.appdata;tmp_template.php on line 55
Fatal error: Uncaught exception 'SmartyException' with message 'Call of unknown method 'capture_error'.' in C:\xampp-1-8-2\htdocs\aum-muenchen\lib\smarty\sysplugins\smarty_internal_templatebase.php:806 Stack trace: #0 C:\xampp-1-8-2\htdocs\aum-muenchen\tmp\templates_c\parser1385238331^dd10a1840f43813cd647195dd79bd3add047c6e9.template.appdata;tmp_template.php(63): Smarty_Internal_TemplateBase->__call('capture_error', Array) #1 C:\xampp-1-8-2\htdocs\aum-muenchen\tmp\templates_c\parser1385238331^dd10a1840f43813cd647195dd79bd3add047c6e9.template.appdata;tmp_template.php(63): Smarty_CMS->capture_error() #2 C:\xampp-1-8-2\htdocs\aum-muenchen\lib\classes\class.Smarty_Parser.php(284): content_52910f3b988bd7_41345302(Object(Smarty_Internal_Template)) #3 C:\xampp-1-8-2\htdocs\aum-muenchen\admin\edittemplate.php(137): Smarty_Parser->fetch('template:appdat...') #4 {main} thrown in C:\xampp-1-8-2\htdocs\aum-muenchen\lib\smarty\sysplugins\smarty_internal_templatebase.php on line 806
Also auch hier wird {capture} noch zerschossen, aber immerhin wird {friendly_position} anscheinend richtig ausgewertet.
Zweiter Fehler: {capture} wird innerhalb des Body-Tags nicht ausgewertet
Weiß nicht warum, aber wenn ich die {capture}-Befehle in den vor-html-Teil verschiebe, läuft es.
Es bleibt nur noch folgende Meldung, diesmal im Front-End:
Notice: Use of undefined constant friendly_position - assumed 'friendly_position' in C:\xampp-1-8-2\htdocs\aum-muenchen\lib\classes\class.usertagoperations.inc.php(265) : eval()'d code on line 9
Notice: Use of undefined constant friendly_position - assumed 'friendly_position' in C:\xampp-1-8-2\htdocs\aum-muenchen\lib\classes\class.usertagoperations.inc.php(265) : eval()'d code on line 9
Die kriege ich nicht weg.
Für Tipps wäre ich dankbar. Auch für Wissen, warum capture nicht mehr im body-Tag läuft.
Beitrag geändert von dlen (24. November 2013 23:18)
Offline
#2 23. November 2013 21:43
- Cherry
- arbeitet mit CMS/ms
- Registriert: 15. Dezember 2010
- Beiträge: 529
Re: [GELÖST] {capture} crasht und {$friendly_position} meckert
In den Kommentaren zu dem Artikel findet sich etwas von einem User bzgl Version 1.11.4
Vielleicht hilft dir das auch weiter?
In CMSMS Fernandina (I used 1.11.4) the fourth line in the template should be:
{capture assign='page_lang'}{substr($cgsimple->get_root_alias(),0,2)}{/capture}
Offline
#3 24. November 2013 23:27
- dlen
- probiert CMS/ms aus
- Registriert: 05. Februar 2011
- Beiträge: 59
Re: [GELÖST] {capture} crasht und {$friendly_position} meckert
So , das letzt ist auch noch gelöst:
Es gibt einen UDT von Goran, in dem folgender STring auftaucht:
if (!empty($params[friendly_position])){
-- und hier fehlen klar die Gänsezeichen! Die reingesetzt und es läuft wieder.
Offline
#4 24. November 2013 05:05
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] {capture} crasht und {$friendly_position} meckert
Den Befehl capture musst du seit Smarty3 nicht mehr bemühen. Das geht wesentlich kürzer :-)
{$page_lang = substr($cgsimple->get_root_alias(),0,2)}
Offline
#5 24. November 2013 16:46
- dlen
- probiert CMS/ms aus
- Registriert: 05. Februar 2011
- Beiträge: 59
Re: [GELÖST] {capture} crasht und {$friendly_position} meckert
Ich werde das gleich testen. Danke dafür.
Aber ein Update zum Nichtfunktionieren von capture: Es hängt an folgendem UDT
$smarty = cmsms() -> GetSmarty();
$cgsimple = $smarty->get_template_vars('cgsimple');
$root_alias = $cgsimple->get_root_alias();
if ($root_alias == 'de') {
setlocale(LC_ALL, array('de_DE.UTF-8','de_DE@euro','de_DE','german'));
} else {
setlocale(LC_ALL, array('en_US.UTF-8','en_US','english'));
}
$current_id = $smarty->get_template_vars('content_id');
Davor läuft capture, danach ist es kaputt. Seltsam.
Offline
#6 24. November 2013 17:35
- dlen
- probiert CMS/ms aus
- Registriert: 05. Februar 2011
- Beiträge: 59
Re: [GELÖST] {capture} crasht und {$friendly_position} meckert
So, läuft jetzt mit
{$page_lang = substr($cgsimple->get_root_alias(),0,2)}
{$hierarchy_en = '2'|cat:substr($friendly_position,1)}
{$hierarchy_de = '3'|cat:substr($friendly_position,1)}
Sehr schön.
Offline
Seiten: 1