# Blog Detailseite Plugin: Welches Event und wie komme ich an die Attribute?

**URL:** <https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098>\
**Category:** Allgemein\
**Created:** [1. Oktober 2019 um 21:34 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098 "2019-10-01T21:34:48Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![frimipiso](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@frimipiso](https://forum.shopware.com/u/frimipiso)\
**Post date:** [1. Oktober 2019 um 21:34 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098/1 "2019-10-01T21:34:48Z")

</div>

Hi Zusammen,

ich schreibe gerade ein Plugin, um Wordpress Blogpost Content&nbsp;auf der&nbsp;Shopware Blog Detailseite einzubinden.

Dazu habe ich folgende Fragen:

**Auf welches Event muss ich mich subscriben, wenn ich Smarty Variablen auf einer Blog Detailseite assignen möchte?**  
Bei den Kategorieseiten ist das ja „onFrontendPostDispatch“. Ist das bei den Blogdetailseiten das gleiche Event?

**Wie kann ich auf meine Attribute zugreifen?**

Das Attribut für die Blogdetailseite definiere ich folgendermassen:

&nbsp;

```
        $service->update('s_blog_attributes', 'wordpressposts_postnumber', 'string', [
            'label' => 'Wordpress Post Nummer zum Einfügen',
            'displayInBackend' => true,
            'position' => $tmp_position++,
        ]);

```

Wie komme ich jetzt an die Attribute? Für die Shopkategorien geht das so:

&nbsp;

```
    public function onFrontendPostDispatch(\Enlight_Controller_ActionEventArgs $args)
    {
        $view = $args->getSubject()->View();
        $cat_attr = $view->sCategoryContent['attribute'];

```

Was würde ich für die Blogattribute anstelle von „$view-\>sCategoryContent[‚attribute‘]“ verwenden?

Kann das leider in der Doku und im Forum nicht finden.

Vielen Dank und gute Nacht,

Jens

---

<div class="post-metadata">

**Author:** ![frimipiso](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@frimipiso](https://forum.shopware.com/u/frimipiso)\
**Post date:** [2. Oktober 2019 um 22:35 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098/2 "2019-10-02T22:35:14Z")

</div>

Hallo,

ich verzweifle langsam. Ich habe ein Attribut in “s\_blog\_attributes” angelegt, aber ich habe&nbsp;  
keine Ahnung, wie ich in meinem Plugin darauf zugreifen soll.

Habe schon sehr viel probiert, aber es klappt nix. So wahnsinnig komplex kann das ja nicht sein.  
Mit den Produkten und den Kategorien klappt es super, aber mit Blogartikel. Dokumentation zu dem Problem finde ich&nbsp;  
keine und im Shopware Buch finde ich auch keine Hilfe.

Muss ich wirklich über ein Mysql Kommando direkt auf die Datenbank zugreifen, um die Blog Attribute auszulesen?

Dann ist dieser ganze CRUD Service aber unnötig, denn kann könnte ich direkt alles in der Datenbank machen.

Gruss

Jens  
&nbsp;

---

<div class="post-metadata">

**Author:** ![NextMike](https://avatars.discourse-cdn.com/v4/letter/n/838e76/32.png) [@NextMike](https://forum.shopware.com/u/NextMike)\
**Post date:** [3. Oktober 2019 um 14:47 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098/3 "2019-10-03T14:47:51Z")

</div>

Die Variablen werden wie folgt zugewiesen:

```
$view->assign('name_der_variable', $wertDerVariable);

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![frimipiso](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@frimipiso](https://forum.shopware.com/u/frimipiso)\
**Post date:** [3. Oktober 2019 um 14:59 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098/4 "2019-10-03T14:59:25Z")

</div>

Danke, aber ich suche etwas anderes:

Ich habe in der install Methode meines Plugins ein Blog Detail Attribut erstellt. Jetzt möchte ich der Event Funktion meines Plugins darauf zugreifen, aber habe keine Ahnung wie das gehen soll, ausser direkt mit sql auf die Tabelle s\_blog\_attributes zuzugreifen.&nbsp;

&nbsp;

Wie ich smarty variablen definiere ist mir klar.

Kann jemand helfen?

---

<div class="post-metadata">

**Author:** ![NextMike](https://avatars.discourse-cdn.com/v4/letter/n/838e76/32.png) [@NextMike](https://forum.shopware.com/u/NextMike)\
**Post date:** [3. Oktober 2019 um 15:07 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098/5 "2019-10-03T15:07:34Z")

</div>

Kommst du an die Attribute nicht so dran?

```
$service = $this->container->get('shopware_attribute.crud_service');

$meinAttribut = $service->get('s_blog_attributes', 'meinAttribut');

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![frimipiso](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@frimipiso](https://forum.shopware.com/u/frimipiso)\
**Post date:** [3. Oktober 2019 um 19:41 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098/6 "2019-10-03T19:41:16Z")

</div>

> [@NextMike schrieb:](https://forum.shopware.com/profile/19433/NextMike "NextMike")
> 
> Kommst du an die Attribute nicht so dran?

Leider nein, wenn ich mir die Variable $meinAttribut im Debugger ansehe, finde ich nur Metadaten über das Attribut selbst, aber nicht den Wert des Attributs.

Hier die Variable im Debugger:

&nbsp;

```
Shopware\Bundle\AttributeBundle\Service\ConfigurationStruct::__set_state(array(
   'id' => 55,
   'label' => 'Wordpress Post Nummer zum Einfügen',
   'helpText' => NULL,
   'supportText' => NULL,
   'position' => 200,
   'displayInBackend' => true,
   'custom' => false,
   'configured' => true,
   'translatable' => false,
   'tableName' => 's_blog_attributes',
   'columnName' => 'wordpressposts_postnumber',
   'defaultValue' => NULL,
   'identifier' => false,
   'core' => false,
   'columnType' => 'string',
   'elasticSearchType' => 
  array (
    'type' => 'string',
  ),
   'dbalType' => 'string',
   'sqlType' => 'VARCHAR(500)',
   'entity' => NULL,
   'arrayStore' => NULL,
))

```

&nbsp;Manchmal habe ich schon den Eindruck, dass Shopware viel komplizierter programmiert ist, als es sein müsste …

---

<div class="post-metadata">

**Author:** ![frimipiso](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@frimipiso](https://forum.shopware.com/u/frimipiso)\
**Post date:** [3. Oktober 2019 um 22:02 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098/7 "2019-10-03T22:02:35Z")

</div>

So geht es, aber schön finde ich es nicht:  
&nbsp;

```
        $blog_id = $view->sArticle['id'];

        //get attribute from database
        $select = '
				SELECT wordpressposts_postnumber
				FROM s_blog_attributes
				WHERE blog_id = ?';

        $blog_details = Shopware()->Db()->fetchRow($select, array($blog_id));
        $wordpressposts_postnumber = $blog_details['wordpressposts_postnumber'];

```

Viele Grüsse

Jens

---

<div class="post-metadata">

**Author:** ![NextMike](https://avatars.discourse-cdn.com/v4/letter/n/838e76/32.png) [@NextMike](https://forum.shopware.com/u/NextMike)\
**Post date:** [4. Oktober 2019 um 07:58 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098/8 "2019-10-04T07:58:34Z")

</div>

Mal eine andere Idee? Werden die Attribute nicht sowieso automatisch assigned?

---

<div class="post-metadata">

**Author:** ![frimipiso](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@frimipiso](https://forum.shopware.com/u/frimipiso)\
**Post date:** [4. Oktober 2019 um 08:02 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098/9 "2019-10-04T08:02:44Z")

</div>

Bei den Kategorien und den Produkten glaube ich schon. Bei den Blogartikeln anscheinend nicht.  
Habe mir mit {debug in Smarty alle Variablen angeschaut und meine Attribute sind nicht automatisch dabei. Das muss man anscheinend immer selbst mit assign im Plugin zuweisen.

---

<div class="post-metadata">

**Author:** ![NextMike](https://avatars.discourse-cdn.com/v4/letter/n/838e76/32.png) [@NextMike](https://forum.shopware.com/u/NextMike)\
**Post date:** [4. Oktober 2019 um 08:05 UTC](https://forum.shopware.com/t/blog-detailseite-plugin-welches-event-und-wie-komme-ich-an-die-attribute/62098/10 "2019-10-04T08:05:12Z")

</div>

Na ja, der Weg über die DB ist auch nicht so schlecht.
