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

#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?


Skelt0r schrieb:

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