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

#1 06. Januar 2016 22:43

owr_web
Server-Pate
Registriert: 16. Dezember 2010
Beiträge: 543

[GELÖST] Weder UDT noch GlobalContent übergibt Variable ins Template

Ich seh grad wieder mal den Wald vor Bäumen nicht.

Nachdem ich grade eine Seite mit der V2.1.1 erstelle wollte ich diese Mehrsprachig aufbauen - ohne Module verwenden zu müssen.

Aufbau analog zu http://www.cmscanbesimple.org/blog/mult … ade-simple von rolf

Damit ich die Seiten reinbringe, kann ich template-Variablen bilden.

Aber diese werden vom Template einfach nicht ausgelesen.

Template:

[== Template ==]
   {process_pagedata}
    {get_root_page_alias assign='lang'}
    {languagestrings}   // --->>>>>>>    Hier als UDT auch als GCB schon probiert
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$lang}" lang="{$lang}">
 {* $lang funktioniert hier einwandfrei !!! *}  

<head>
     <title>{$mysitename} - {title}</title> 
   {metadata}

Var1 - UDT:

[== php ==]
if ($lang = de) {
$mysitename = "DeutscherName";
$myyouarehere = "Sie sind hier";
$myfoo = "bar";
$smarty->assign('mysitename', $mysitename);
$smarty->assign('myyouarehere', $myyouarehere);
$smarty->assign('myfoo', $myfoo);
}
elseif ($lang = "en") {
}

echo $mysitename;

das echo wird am Anfang wo der UDT steht korrekt ausgegeben, jedoch nicht mehr im Template bei der Variablen "mysitename"
woch senn ich das ganze ohne die smarty-Zeilen mache -> gleiches Ergebnis

[== GCB ==]
{if $lang == de}

{$mysitename = 'DeutscherName'}
// oder zweite Variante {assign var="mysitename" value="Deutscher Name"}
{$myyouarehere = 'Sie sind hier'}
{$langstringfoo = 'bar'}

{elseif $lang == "en"}

{$mysitename = 'englischerName'}
{$langstring.youarehere = 'Sie sind hier'}
{$langstring.foo = 'bar'}

{$mysitename}

{/if}

Auch dieselbe Reaktion die Ausgabe vor dem Seitenanfang wird korrket wiedergegeben (letzte Zeile im GCB), der Rest ist wieder Schweigen im Walde sad(

vielleicht sieht jemand, wo ich falsch abgebogen bin.

Beitrag geändert von owr_web (06. Januar 2016 22:46)

Offline

#2 07. Januar 2016 23:28

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: [GELÖST] Weder UDT noch GlobalContent übergibt Variable ins Template

Häng mal bei den Variablen Zuweisungen im FCB ein scope=global rein ... siehe

http://www.smarty.net/docs/en/language. … assign.tpl

Offline

#3 07. Januar 2016 00:40

owr_web
Server-Pate
Registriert: 16. Dezember 2010
Beiträge: 543

Re: [GELÖST] Weder UDT noch GlobalContent übergibt Variable ins Template

Danke das wars - wusste doch, dass ich beim Baum angelaufen bin ohne es zu merken

so funktionierts mit GCB perfekt:

[== smarty ==]
 {assign var="mysitename" value="Deutscher Name" scope=global}

Offline

#4 08. Januar 2016 09:56

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: [GELÖST] Weder UDT noch GlobalContent übergibt Variable ins Template

Für den UDT sollte dir dies weiterhelfen wink

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

Offline

#5 10. Januar 2016 23:36

owr_web
Server-Pate
Registriert: 16. Dezember 2010
Beiträge: 543

Re: [GELÖST] Weder UDT noch GlobalContent übergibt Variable ins Template

Manchmal denke ich mir "Herr lass Hirn regnen" zumindest wenn ich mich beim Basteln meiner "MLE-Seite" geärgert hab und der Wald vor lauter Bäumen nicht zu sehen war.  cool  wink
Hab hier mal mein Ergebnis zusammengeschrieben: http://www.cmsmadesimple.de/forum/viewt … 604#p37604

Offline