2016-04-18 15 views
0

Ich habe einige Probleme in Prestashop 1.6 mit Smarty.Smarty bekommen Offset von Array

Ich habe ein Array, aber sein Offset wird nicht für jedes Produkt zurückgesetzt.

so für das firdst Produkt mit attrivute es 1,2,3,4 Dann es usw. offest hat für das nächste Produkt Offset hat 5,6,7,8

Ich habe diese Art von Array

$combinations Smarty_Variable Object (3) 
->value = Array (4) 
    5 => Array (14) 
    attributes_values => Array (1) 
     1 => "S" 
    attributes => Array (1) 
     0 => 1 
    price => 0 
    specific_price => Array (0) 
    ecotax => 0 
    weight => 0 
    quantity => 20 
    reference => "" 
    unit_impact => 0 
    minimal_quantity => "1" 
    date_formatted => "" 
    available_date => "" 
    id_image => -1 
    list => "'1'" 
    6 => Array (14) 

ich versuche trhough dieses Array zu gehen, aber es funktioniert nicht, wenn ich leer setzen Offset (es innerhalb einer foreach ist)

{$combinations[]['quantity']} 

Wie kann ich ihm sagen, trhough der ersten Iteration zu gehen, und dann im zweiten autom eigentlich?

Dies gibt mir die folgenden Fehler zurück.

Fatal error: Cannot use [] for reading in /htdocs/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()'d code on line 584 

Ich kann ihm nicht sagen, was zu verwenden, Offset, da für jedes Produkt es geht nach oben und zurückgesetzt wird, nicht auf 0

würde ich für anykind Hilfe sehr dankbar sein.

Antwort

1

Hier ist, wie es zu tun, current den ersten Wert eines Arrays zurückgeben

{$combination = current($combinations)} 
{$combination['quantity']} 
+0

Danke. Aber ich möchte direkt auf die Tabelle zugreifen. Ohne Schleife. Aber ich kenne den ersten Schlüssel nicht, weil er sich für jede Produktseite ändert. –

+0

versuchen Sie '{$ combinations [0] ['quantity']}' – UnLoCo

+0

Es funktioniert nicht, weil 0 nicht immer der erste Schlüssel ist. Was ich finden muss, ist der erste Schlüssel eines gegebenen Arrays –

1

zusätzlich zu @UnLoCo Antwort, wenn Sie diese Tasten 1,2 ... 7,8

{foreach from=$array key=key item=value} 
    {$key} => {$value} 
{/foreach} 

oder

{foreach $array $key=>$value} {* like PHP style *} 
     {$key} => {$value} 
{/foreach} 

auch Smarty docs Sie können http://www.smarty.net/docs/en/language.function.foreach.tpl

0 Hilfe
+0

Was ich finden muss, ist der erste Schlüssel eines gegebenen Arrays ohne Schleife. Ist es möglich ? –

+1

http://stackoverflow.com/questions/25448838/get-first-smarty-array-element in Ihrem Fall wird es sein {zuweisen var = ersten Wert = $ Kombinationen | @key} {$ combinations. $ First.content } –