Search code examples
foreachsmartyshopware

Accessing the name of a smarty variables


Hello i need some help with a basic question. This is my code:

{foreach $sArticle.attributes.core->toArray() as $attribute}
                        <tr class="product--properties-row">
                            <td class="product--properties-label is--bold">{$sArticle.attributes.name}{$sArticle.attributesName}</td>
                            <td class="product--properties-label is--bold">{$attribute}</td>
                        </tr>
                    {/foreach}

1.Question: How do I enter the attributes name? I mean the column name from the attribute in the database? 2.Question: I only want to loop with the foreach through columns with name="artikelattr_" any idea how this can be done?

Thanks


Solution

  • I adjusted my answer here: https://stackoverflow.com/a/71237355/7201069 How to get the name of the attribute.

    To consider only certain attributes that starts with a specific string, just add an if in the loop:

    {foreach $sArticle.attributes.core->toArray() as $attributeName => $attribute}
        {if $attributeName|strpos:"artikelattr_" === 0}
            {$attributeName|var_dump}
            {$attribute|var_dump}
        {/if}
    {/foreach}
    

    You can simply use nearly all PHP functions in Smarty.