Hallo zusammen,
ich habe es noch einmal ausprobiert, scheitere aber nach wie vor an der Übergabe der Variable sowie beim Anhängen in Smarty.
Die oben genannte Frage habe ich auch mal dem OXID-Support gestellt und das war die Antwort:
auf der folgenden Seite Variables | Smarty habe ich folgende Auflistung der Arrays gefunden:
Defining Arrays:
{assign var=foo value=[1,2,3]}
{assign var=foo value=[‘y’=>‘yellow’,‘b’=>‘blue’]}
{assign var=foo value=[1,[9,8],3]} // can be nested
Short variable assignment:
{$foo=$bar+2}
{$foo = strlen($bar)} // function in assignment
{$foo = myfunct( ($x+$y)*3 )} // as function parameter
{$foo.bar=1} // assign to specific array element
{$foo.bar.baz=1}
{$foo=1} // appending to an array
Insbesondere {$foo =1} ist hier interessant.
Parallel dazu können Sie auch mit der PHP Session arbeiten:
[{PHP}]
if ($parentId) {
$_SESSION['parentIds']=$_POST['columns'];
}
[{/PHP}]
//Code:
[{$smarty.session.parentIds}]
Welche von beiden Methoden performanter ist, kann ich nicht sagen, da ich dies nicht getestet habe.
Daraufhin habe ich z.B. Folgendes erfolglos in der basket.tpl probiert:
[{ assign var="arrallbasketparentids[]" value=$basketproduct->oxarticles__oxparentid}]
Außerdem die Idee mit PHP:
[{PHP}]
if ($parentId) {
$_SESSION['parentIds']=$_POST['columns'];
}
[{/PHP}]
Code:
[{$smarty.session.parentIds}]
Alles erfolglos, da ich irgendeinen blöden Fehler mache und ihn nicht finde.
Meine basket.tpl-Testdatei sieht aktuell an der betreffenden Stelle ungefähr so aus:
[{assign var="basketitemlist" value=$oView->getBasketArticles() }]
[{foreach key=basketindex from=$oxcmp_basket->getContents() item=basketitem name=test_Contents}]
[{assign var="basketproduct" value=$basketitemlist.$basketindex }]
[{assign var="allparentids" value=$basketproduct->oxarticles__oxparentid}] //hier anhängen
[{/foreach}]
[{oxid_include_dynamic file="dyn/_c_basket.tpl"}] //hierhin soll Variable übergeben werden
Wie genau muss ich den Code korrigieren um die parentids entweder als string oder als array zu erhalten und dann an das dynamische Template zu übergeben?
Schon mal im Voraus vielen Dank für eure Mühe.
LG
Stefan