# Freitextfelder in der Theme-Entwicklung nutzen

**URL:** <https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584>\
**Category:** Themes & Design\
**Created:** [13. August 2018 um 15:31 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584 "2018-08-13T15:31:16Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![TheAvocoder](https://avatars.discourse-cdn.com/v4/letter/t/e56c9b/32.png) [@TheAvocoder](https://forum.shopware.com/u/TheAvocoder)\
**Post date:** [13. August 2018 um 15:31 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/1 "2018-08-13T15:31:16Z")

</div>

Hallo Community,

ich habe einen sehr komisches Problem. Es geht um ein Blog-Freitextfeld (Checkbox), welches ich in meinem Theme benutzen moechte. Das erste komische, was mir aufgefallen ist, ist, dass der name des Attributes nicht genau dem entspricht was ich urspruenglich angegeben habe. Shopware&nbsp;hat einfach die underscores&nbsp;weggelassen. Ich habe {debug} benutzt um es herauszufinden.Ich habe ein andere Freitextfeld, wo Shopware das nicht macht …&nbsp;

Wie dem auch sei, ich wollte nun das Freitextfeld in der Themeentwicklung benutzen. Ich kann es auslesen und es kommen die gewuenschten ergebnisse, allerdings moechte ich diese gerne Abfragen, wenn ‚Freitextfeld‘ == 0 -\> dann … Wie gesagt ich bekomme 0 aus dem Attribut, allerdings kann ich sie nicht in einer if - Bedingung abfragen.

Ich freue mich ueber jede Antwort, vielen Dank.

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [13. August 2018 um 15:49 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/2 "2018-08-13T15:49:43Z")

</div>

Was heißt den “nicht abfragen”?  
Bei einer 1 funktioniert es?

---

<div class="post-metadata">

**Author:** ![TheAvocoder](https://avatars.discourse-cdn.com/v4/letter/t/e56c9b/32.png) [@TheAvocoder](https://forum.shopware.com/u/TheAvocoder)\
**Post date:** [13. August 2018 um 15:57 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/3 "2018-08-13T15:57:07Z")

</div>

> [@Moritz Naczenski schrieb:](https://forum.shopware.com/profile/14574/Moritz%20Naczenski "Moritz%20Naczenski")
> 
> Was heißt den „nicht abfragen“?  
> Bei einer 1 funktioniert es?

Also, ich kann das Attribute&nbsp; via foreach loop als $sArticles.attribute.attributename in ein p-tag ausgeben lassen. Ausgabe = 0 (wie erwuenscht), diese Ausgabe moechte ich jetzt ueber if&nbsp;$sArticles.attribute.attributename == 0, abfragen und einen spezifischen code ausfuehren lassen. Wie gesagt das Textfeld ist eine checkbox, falls das weiterhilft.

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [13. August 2018 um 16:10 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/4 "2018-08-13T16:10:36Z")

</div>

Aber wenn du auf “1” (Checkbox angehakt) prüfst, funktioniert es?  
Dann könntest du ja mal {if&nbsp;$sArticles.attribute.attributename != 1} probieren.

---

<div class="post-metadata">

**Author:** ![TheAvocoder](https://avatars.discourse-cdn.com/v4/letter/t/e56c9b/32.png) [@TheAvocoder](https://forum.shopware.com/u/TheAvocoder)\
**Post date:** [13. August 2018 um 17:29 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/5 "2018-08-13T17:29:36Z")

</div>

Ahh, dann hatte ich dich falsch verstanden.&nbsp;

Nein, auch das geht leider nicht.

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [13. August 2018 um 18:00 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/6 "2018-08-13T18:00:37Z")

</div>

Zeig mal deine Template Datei. Also welche Zeile du anpasst usw.

---

<div class="post-metadata">

**Author:** ![TheAvocoder](https://avatars.discourse-cdn.com/v4/letter/t/e56c9b/32.png) [@TheAvocoder](https://forum.shopware.com/u/TheAvocoder)\
**Post date:** [13. August 2018 um 18:11 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/7 "2018-08-13T18:11:21Z")

</div>

ich passe die ./frontend/blog/box.tpl an

```
{extends file="parent:frontend/blog/box.tpl"}

{if $sArticle.attribute['csBlogEmpfehlung'] == 0}

  
      {block name='frontend_blog_col_blog_entry'}

      {$sArticle.attribute['csBlogEmpfehlung']}

          {* Blog Header *}
          {block name='frontend_blog-col_box_header'}
              
.
.
.

wenn ich mir die Variable mit dem ausgeben lasse, bekomme ich wie gesagt die richtigen Daten.

 was ich hier besonders komisch finde ist, dass die Variable als csBlogEmpfehlung gespeichert ist, ich sie aber als cs_blog_empfehlung angelegt habe. Ich hatte schonmal ein Freitextfeld in den Kategorien erstellt, mit dem gleichen Aufbau (cs_name_color) und darauf konnte ich dann mit $category.subcategories.attribute.cs_name_color zugreifen. Bei dem Blog-Freitextfeld geht das nicht, da muss ich mit dem Array drauf zugreifen.
```

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [13. August 2018 um 18:20 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/8 "2018-08-13T18:20:15Z")

</div>

Aber du kannst da ganz normal drauf zugreifen, du brauchst dafür keine Foreach - das Array ist ja ganz normal.

Also $sArticle.attribute.csBlogEmpfehlung sollte schon ausreichen, darauf solltest du auch prüfen.

Das Mit der Schreibweise ist nur die Umwandlung SnakeCase und CamelCase - im Model ist alles CamelCase, in der Datenbank meistens SnakeCase.

---

<div class="post-metadata">

**Author:** ![TheAvocoder](https://avatars.discourse-cdn.com/v4/letter/t/e56c9b/32.png) [@TheAvocoder](https://forum.shopware.com/u/TheAvocoder)\
**Post date:** [13. August 2018 um 18:46 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/9 "2018-08-13T18:46:11Z")

</div>

Ok, ja das hat tatsaechlich auch funktioniert, loest aber leider nicht das problem.&nbsp;

Ich greife mit einer foreach auf alle blogposts zu, um diese dann anzuzeigen.

codeauszug aus ./frontend/blog/listing.tpl&nbsp;

```
{foreach from=$sBlogArticles item=sArticle key=key name="counter"}
     {include file="frontend/blog/box.tpl" sArticle=$sArticle key=$key}
{/foreach}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [13. August 2018 um 18:49 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/10 "2018-08-13T18:49:53Z")

</div>

Jetzt aber…

Ich habe mir dein Template nochmal angeschaut. Pack das If mal innerhalb von einem Block. Oder lass das Extends mal testweise weg.

---

<div class="post-metadata">

**Author:** ![TheAvocoder](https://avatars.discourse-cdn.com/v4/letter/t/e56c9b/32.png) [@TheAvocoder](https://forum.shopware.com/u/TheAvocoder)\
**Post date:** [13. August 2018 um 19:11 UTC](https://forum.shopware.com/t/freitextfelder-in-der-theme-entwicklung-nutzen/54584/11 "2018-08-13T19:11:01Z")

</div>

Endlich! Ich kann nicht glauben, dass ich so lange fuer sowas gebraucht habe 😃 Ich danke dir unglaublich!!!

Shopware hat noch so seine eigenarten, die ich noch nicht alle komplett drauf habe.

Ich habe jetzt nicht vom parent extended. Da ich sowieso alles ueberschreiben will ist das ok.

Danke, Danke!
