# s\_articles\_supplier\_attributes in frontend

**URL:** <https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918>\
**Category:** Programmierung\
**Created:** [11. April 2016 um 12:00 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918 "2016-04-11T12:00:46Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![wontfix](https://avatars.discourse-cdn.com/v4/letter/w/b19c9b/32.png) [@wontfix](https://forum.shopware.com/u/wontfix)\
**Post date:** [11. April 2016 um 12:00 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/1 "2016-04-11T12:00:46Z")

</div>

wie bekommen wir werte von s\_articles\_supplier\_attributes in hersteller seiten frontend?

ich hab ein backend plugin geschrieben der für hersteller eine extra textarea ins s\_articles\_supplier\_attributes schreibt und diese wollen wir auf hersteller seite anzeigen.

die hersteller frontend template ist anscheinend frontend/listing/manufacturer.tpl (obwohl anders wo hersteller als supplier genannt wird…) und da sehe ich sachen wie:

```
{$manufacturer->getDescription()}

```

hab aber nichts gefunden wie wir die attribute erhalten können…

dann habe ich diese lustige ding (gefunden durch {debug}) probiert:

```
{foreach $sArticles as $a}
    {$a.supplier_attributes.core.extra_text
    {break}
{/foreach}

```

aber das sagt

```
Fatal error: Cannot use object of type Shopware\Bundle\StoreFrontBundle\Struct\Attribute as array

```

was mache ich falsch?

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [11. April 2016 um 21:58 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/2 "2016-04-11T21:58:19Z")

</div>

{$a.supplier\_attributes.core-\>get(“extra\_text”)}

Wenn dann muesste es so sein

---

<div class="post-metadata">

**Author:** ![wontfix](https://avatars.discourse-cdn.com/v4/letter/w/b19c9b/32.png) [@wontfix](https://forum.shopware.com/u/wontfix)\
**Post date:** [12. April 2016 um 06:24 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/3 "2016-04-12T06:24:48Z")

</div>

> [@Shyim schrieb:](https://forum.shopware.com/profile/20792/Shyim "Shyim")
> 
> {$a.supplier\_attributes.core-\>get(„extra\_text“)}
> 
> Wenn dann muesste es so sein

aber natürlich, danke!

jetzt habe ich gemerkt das wenn ich folgendes benutze

```
{$manufacturer->getAttribute()}

```

bekomme ich keine fehler, also muss diese methode existieren. aber keins von folgenden gibt mir die inhalt von datenbank

```
{$manufacturer->getAttribute("extra_text")}
{$manufacturer->getAttribute("ExtraText")}
{$manufacturer->getAttribute("extraText")}

```

wäre dies nicht der richtige weg?  
oder hat diese getAttribute nichts mit s\_articles\_supplier\_attributes zu tun?  
wo ist diese $manufacturer-\>getAttribute definiert?

&nbsp;

---

<div class="post-metadata">

**Author:** ![wontfix](https://avatars.discourse-cdn.com/v4/letter/w/b19c9b/32.png) [@wontfix](https://forum.shopware.com/u/wontfix)\
**Post date:** [12. April 2016 um 06:42 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/4 "2016-04-12T06:42:15Z")

</div>

anscheinend gibts noch so was

```
{assign attr $manufacturer->getAttributes()}
{$attr.core->get("extra_text")}

```

diese funktioniert und sollte mir gut genug sein.

---

<div class="post-metadata">

**Author:** ![mthrum](https://avatars.discourse-cdn.com/v4/letter/m/e95f7d/32.png) [@mthrum](https://forum.shopware.com/u/mthrum)\
**Post date:** [3. August 2016 um 08:04 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/5 "2016-08-03T08:04:59Z")

</div>

Ich könnte zu diesem Thema vielleicht auch einen kleinen Hinweis gebrauchen. Es handelt sich um Freitextfelder in den Artikel Filter Optionen.  
Es ist mir nicht möglich den Array Inhalt nach dem hier vorher genutzten Model auszugeben. Wo ist mein Fehler? Meine Formulierungsversuche sind:

```
{*{if $sProperty.sfva_attr1}{$sProperty.sfva_attr1}{else}{$sProperty.name}{/if}*}
{*{$sProperty.attributes.core.storage.sfva_attr1}*}
{*{assign attr $sProperty->getAttributes()}
{$attr.core->get("sfva_attr1")}*}
{*{$sProperty->getAttribute("sfva_attr1")}*}
// Dieser Versuch gibt zumindestens keinen Fehler aber auch keinen Variableninhalt aus
{$sProperty.attributes.core->get("sfva_attr1")}

```

Und hier im Bild mal der Array Aufbau.

Ich würde mich sehr über ein wenig Denkhilfe freuen.

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [3. August 2016 um 08:11 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/6 "2016-08-03T08:11:42Z")

</div>

> [@xp24 schrieb:](https://forum.shopware.com/profile/785/xp24 "xp24")
> 
> Ich könnte zu diesem Thema vielleicht auch einen kleinen Hinweis gebrauchen. Es handelt sich um Freitextfelder in den Artikel Filter Optionen.  
> Es ist mir nicht möglich den Array Inhalt nach dem hier vorher genutzten Model auszugeben. Wo ist mein Fehler? Meine Formulierungsversuche sind:
> 
> {_{if $sProperty.sfva\_attr1}{$sProperty.sfva\_attr1}{else}{$sProperty.name}{/if}_}  
> {_{$sProperty.attributes.core.storage.sfva\_attr1}_}  
> {_{assign attr $sProperty-\>getAttributes()}  
> {$attr.core-\>get(„sfva\_attr1“)}_}  
> {_{$sProperty-\>getAttribute(„sfva\_attr1“)}_}  
> // Dieser Versuch gibt zumindestens keinen Fehler aber auch keinen Variableninhalt aus  
> {$sProperty.attributes.core-\>get(„sfva\_attr1“)}
> 
> Und hier im Bild mal der Array Aufbau.
> 
> Ich würde mich sehr über ein wenig Denkhilfe freuen.

Hallo,

die Variable ist ja als **protected** deklariert - somit kommt man da nicht so einfach dran. Was kommt bei deimem Aufruf für eine Meldung? Prinzipiell müsste das mit get(„variable“) so funktionieren.

Beste Grüße

Sebastian

---

<div class="post-metadata">

**Author:** ![mthrum](https://avatars.discourse-cdn.com/v4/letter/m/e95f7d/32.png) [@mthrum](https://forum.shopware.com/u/mthrum)\
**Post date:** [3. August 2016 um 08:53 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/7 "2016-08-03T08:53:44Z")

</div>

Hallo Sebastian, vielen Dank für den Hinweis. Besteht ohne zusätzlichen Pluginaufwand überhapt eine Chance da ran zu kommen?

Und warum ist die Variable des zus. Supplier Freitextfeldes beim Kollegen nicht protected?

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [3. August 2016 um 09:11 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/8 "2016-08-03T09:11:25Z")

</div>

Das stimmt so nicht - dafür gibt es ja den getter:&nbsp;[shopware/Attribute.php at 5.2 · shopware/shopware · GitHub](https://github.com/shopware/shopware/blob/5.2/engine/Shopware/Bundle/StoreFrontBundle/Struct/Attribute.php#L129)

Ich nutze zb in einem Template ohne Probleme:  
{if $sArticle.attributes.core-\>get( “attr2” ) != “…”}

Wo ist denn das Problem? Erhältst du eine Fehlermeldung?

Viele Grüße

---

<div class="post-metadata">

**Author:** ![mthrum](https://avatars.discourse-cdn.com/v4/letter/m/e95f7d/32.png) [@mthrum](https://forum.shopware.com/u/mthrum)\
**Post date:** [3. August 2016 um 09:33 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/9 "2016-08-03T09:33:31Z")

</div>

Danke Sebastian, … passt!

---

<div class="post-metadata">

**Author:** ![ProWebs](https://avatars.discourse-cdn.com/v4/letter/p/dec6dc/32.png) [@ProWebs](https://forum.shopware.com/u/ProWebs)\
**Post date:** [27. November 2024 um 17:46 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/10 "2024-11-27T17:46:25Z")

</div>

Bei mir funktioniert es so nicht. Nach dem Aufruf wird die Ausführung weiterer Ausgaben abgebrochen.

Ich versuche an die Daten des Hersteller in der description.tpl abzurufen.

```auto
{extends file="parent:frontend/detail/tabs/description.tpl"}

{block name="frontend_detail_description"}   
    
    {$smarty.block.parent}
    
    {* GPSR *}
    {block name='frontend_detail_description_gpsr'}
        <div class="gprs">
            <h6>Produktinformationen gemäß GPRS</h6>
            {assign attr $manufacturer->getAttributes()}
            {$attr.core->get("gpsr")}
        </div>
    {/block}
    
{/block}

```

---

<div class="post-metadata">

**Author:** ![ProWebs](https://avatars.discourse-cdn.com/v4/letter/p/dec6dc/32.png) [@ProWebs](https://forum.shopware.com/u/ProWebs)\
**Post date:** [27. November 2024 um 18:00 UTC](https://forum.shopware.com/t/s-articles-supplier-attributes-in-frontend/35918/11 "2024-11-27T18:00:09Z")

</div>

Das hat für mich funktioniert:

```auto
{$sArticle.supplier_attributes.core.gprs}

```
