Smarty Berechnung und assign

Moin,
ich habe folgendes in meiner AB:

<h3>
        <span class="fett2">Material:</span> 
        In der Regel eine Legierung aus Silber, Kupfer und Nickel.
</h3>

<p class="material">
    <span class="fett2">Höhe:</span> 
        {math equation="x / z" x=$st_hoehe z=1.00 format="%.1f"} - 
        {math equation="x / z" x=$st_hoehebis z=1.00 format="%.1f"} cm 
        ({math equation="x / z" x=$st_hoehe z=2.54 format="%.2f"} - 
        {math equation="x / z" x=$st_hoehebis z=2.54 format="%.2f"} inches)<br>
        
    <span class="fett2">Breite:</span> 
    	{math equation="x / z" x=$st_breite z=1.00 format="%.1f"} - 
        {math equation="x / z" x=$st_breitebis z=1.00 format="%.1f"} cm 
        ({math equation="x / z" x=$st_breite z=2.54 format="%.2f"} - 
        {math equation="x / z" x=$st_breitebis z=2.54 format="%.2f"} inches)<br>
        
    <span class="fett2">Gesamtgewicht:</span> 
        {math equation="x / z" x=$st_gewichtbis z=1.00 format="%.0f"} g 
        ({math equation="x / z" x=$st_gewichtbis z=28.35 format="%.2f"} oz)
</p>

Das darf auch nicht geändert werden da ich mit etope 8 aus dem Lager in mehrere Plattformen einstelle und verwalte. So nun muss ich ja noch die Variablen zuweisen. Das mache ich so:


{assign var="st_hoehe" value=$free_Frei01}
{assign var="st_breite" value=$free_Frei02}
{assign var="st_gewicht" value=$free_Frei03}
{assign var="st_hoehebis" value=$free_Frei07}
{assign var="st_breitebis" value=$free_Frei08}
{assign var="st_gewichtbis" value=$free_Frei06}
{assign var="st_durchbis" value=$free_Frei09}
{assign var="st_breiteoffen" value=$free_Frei05}
{assign var="st_durch" value=$free_Frei04}
{assign var="st_laenge" value=$free_Frei14}
{assign var="st_blaetter" value=$free_Frei12}
{assign var="st_seiten" value=$free_Frei11}
{assign var="st_malerei" value=$free_Frei13}
{assign var="st_tueren" value=$free_Frei15

Das funzt aber nicht in Oxid: Würde gerne das assign oben ins Template (Azure Childtemplate) reinbauen. Wie kann ich das machen [{…}] habe ich probiert. Und wo bau ich ich das am sinnvollsten ein?

Puh, magst du das vielleicht nochmal formatieren und in Code Tags packen?
Ist echt anstrengend zu lesen.

Die eckigen Klammern fehlen definitiv und sag uns doch mal, wann und wie die Variablen deklariert wurden - zb.


$free_Frei01

[QUOTE=novalgin;118135]…ist echt anstrengend zu lesen…[/QUOTE]

da stimme ich voll zu.

Ohne eine Variable zu deklarieren wird`s meiner Meinung nach schwer:

Bsp:
http://forum.oxid-esales.com/showthread.php?t=5798&highlight=math+equation%3D#post34177 :wink:

Moin schon mal danke für die Antworten. Hab das mal oben lesbarer gemacht.
Folgendes passiert:
Etope 8 arbeitet mit Kürzeln und Feldern die in jeglicher Art angelegt werden können und in die AB`s per $Kürzel$ eingefügt werden.

Nun habe ich z.B. ein Freifeld angelegt wo ich die Höhe eingebe. Das Smarty berechnet mir daraus den Wert für die Länder. Also andere Sprache bzw. Sprachumschalter bei ebay ein anderer errechnender Wert.

Nun möchte ich meinen Textbaustein in dem ich die asiigns angelegt habe und bei ebay einfach als Kürzel oben im Template habe nicht immer noch für Oxid direkt in der Beschreibung haben, also $Variablen$.

Ideal wäre wenn ich die assigns in Azure Template oben reinsetze. Super wäre sogar als CMS.

Die Werte wie

$free_Frei01

ersetzt etope beim einstellen mit den Werten. Also auch bei der Übergabe an Oxid, da kommt denn statt der Feldbezeichnung z.B. nee 3 an.

Danke fürs formatieren, so ist das besser:)

Es liegt mit Sicherheit an mir, aber irgendwie verstehe ich nicht, wo genau das Problem ist und was du eigentlich genau willst.

Wenn Du in einem Template eine Variable erstellen und deklarieren willst, machst du das mit:


[{assign var="st_hoehe" value=$free_Frei01}]

Jetzt hast du eine Variable mit dem Namen $st_hoehe erstellt und sie mit dem Wert von $free_Frei01 deklariert. Diese kannst Du nun innerhalb des Templates nutzen.

Was funktioniert denn nicht? Die Berechnung mit math equation?

Okay danke dir erstmal und werde es nochmal testen. Gebe dann Bescheid.