eigene Blog-Box entwickeln (Listing)

Hallo zusammen,

ich würde gerne eine Custom-Blog-Box für eine Kategorie-Vorschau entwickeln.

Es soll ein Artikel angelegt werden und über das Freitextfeld 1 in die entsprechende Kategorie verlinken.

Dafür gibt es die kategorie.tpl & die box_kategorie.tpl im folgenden Verzeichnis:

/themes/Frontend/MEIN_THEME/frontend/blog
 

Wenn ich nun im Backend unter folgenden Verzeichnis die kategorie.tpl einbinden:

Grundeinstellungen -> Storefront -> Warenkorb / Artikeldetails -> “Verfügbare Templates Blog-Detailseite”

 

Übernimmt der Blog-Eintrag nicht meine Änderungen in der kategorie.tpl.

SW erkennt alledings das es dieses Template gibt.

 

Kann mir jemand weiterhelfen?

bump

Kann mir jemand dabei helfen? Benötigt ihr noch mehr Informationen?

*bump*

Frage angepasst *bump*

 

Hast du denn das Template im Blog ausgewählt? Also wenn du einen neuen Blog Eintrag anlegst musst du ja rechts in den Blog Eigenschaften das Template auswählen. Wie hast du das custom Template eingetragen bzw. in welchen Format? Nur einen Namen vergeben langt ja nicht. Dort müsstest du praktsich sowas stehen haben wie:

:Standard;kategorie.tpl:Mein Blog Template

Hier mehr zu custom tempaltes -> Custom templates for category and detail pages

Bei mir funktioniert es ohne Probleme. Ich vermute mal eher, dass du nicht das korrekte Format in den Einstellungen genommen hast und ggf. auch nicht das Template im Blog ausgewählt hast.

1 Like

@Shopwareianer schrieb:

Hast du denn das Template im Blog ausgewählt? Also wenn du einen neuen Blog Eintrag anlegst musst du ja rechts in den Blog Eigenschaften das Template auswählen. Wie hast du das custom Template eingetragen bzw. in welchen Format? Nur einen Namen vergeben langt ja nicht. Dort müsstest du praktsich sowas stehen haben wie:

:Standard;kategorie.tpl:Mein Blog Template

Hier mehr zu custom tempaltes -> https://developers.shopware.com/designers-guide/custom-templates/

Bei mir funktioniert es ohne Probleme. Ich vermute mal eher, dass du nicht das korrekte Format in den Einstellungen genommen hast und ggf. auch nicht das Template im Blog ausgewählt hast.

Guten Morgen,

vielen Dank für deine Antwort.

Das Template ist im Backend wie folgt angelegt:

 

Zugewiesen im Blog-Eintrag habe ich es auch:

Mfg,

ent_dev

*push*

Irgedwas wirst du halt falsch machen, denn funktioniren tut es. Dann schau das du dir einen Shopware Frontendler schnappst, der sich das genauer anschauen kann anstatt hier 5 mal “zu pushen” :smiley:

@Shopwareianer schrieb:

Irgedwas wirst du halt falsch machen, denn funktioniren tut es. Dann schau das du dir einen Shopware Frontendler schnappst, der sich das genauer anschauen kann anstatt hier 5 mal “zu pushen” :D

thanks for your “advice” Grin

Das letzte was mir noch einfallen würde: Wie genau sieht deine kategorie.tpl aus? Denn das obige sieht so eigentich alles korrekt aus.

1 Like

@Shopwareianer schrieb:

Das letzte was mir noch einfallen würde: Wie genau sieht deine kategorie.tpl aus? Denn das obige sieht so eigentich alles korrekt aus.

Es soll im Prinzip nur eine andere Blog-Box erzeugt werden, in dem Blogeintrag im Backend soll dann über das Attribut 2 der Link zu der Kategorie eingetragen werden. Es geht also nur darum das im Listing eine andere Blog-Box erscheint, leider erkennt er die box_kategorie.tpl nicht, oder ich mache irgendwas komplett falsch Gasp Soviel shopware Erfahrung habe ich leider noch nicht.

Ein Mitarbeiter(aus dem Unternehmen ausgeschieden) hat schon eine zusätzliche Blog-Box erzeugt die auch funktioniert, daher habe ich die kategorie.tpl einfach blind übernommen und lediglich die box_kategorie.tpl angepasst.

 

kategorie.tpl:

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

box_kategorie.tpl

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

{block name='frontend_blog_col_meta_data'}
{/block}

{block name='frontend_blog_col_read_more'}
  
    {if !empty($sArticle.attribute.attribute2)}
    
    {/if}
    {if !empty($sArticle.attribute.attribute2)}
    
    {/if}
  
{/block}

{* Article name *}
{block name='frontend_blog_col_article_name'}
  
    {$sArticle.title}
  
{/block}


{* Description *}
{block name='frontend_blog_col_meta_data_description'}
  {if $sArticle.categoryInfo.description}
    
      {if !empty($sArticle.attribute.attribute2)}
        {$sArticle.categoryInfo.description}
      {else}
        {$sArticle.categoryInfo.description}
      {/if}
    
  {/if}
{/block}

{* Article pictures *}
{block name='frontend_blog_col_article_picture'}
  {if $sArticle.media}
    
      {if !empty($sArticle.attribute.attribute2)}
      
      {/if}
        {if isset($sArticle.media.thumbnails)}
          
        {else}
          
        {/if}
      {if !empty($sArticle.attribute.attribute6)}
      
      {/if}
    
  {/if}
{/block}

 

Du extendest oben die Detail Ansicht. Und wo ist der restliche Inhalt der Datei? Wo wird die box_kategorie.tpl eingebunden? Oben schreibst du vom Listing und dann wieder von der Detail Ansicht. Um welche geht es denn nu?

Du willst diese Boxen bzw. die Ansicht hier anpassen -> https://www.shopwaredemo.de/blog/ ? ( Listing )

Oder in der Detail Ansicht eines Artikels? -> https://www.shopwaredemo.de/blog/news-sit-amet ( Detail )

Die Frage ist auch: Brauchst du tatsächlich zwei unterschiedliche Layouts? Denn falls nicht, kannst du ja einfach die Default Dateien überschreiben.

1 Like

Sry für die Verwirrung, ich will die Boxen bzw. die Ansicht im Listing bearbeiten. -->  https://www.shopwaredemo.de/blog/

 

Ja, ich benötige mehrere Ansichten. Kannst du mir sagen wo ich die box_kategorie.tpl einbinde? Bin da nicht hintergestiegen.

Dann stellt sich die andere Frage:

Wozu braucht man denn zwei verschiedene Listing Blog Ansichten? Hast du im Shop zig verschiedene Blogs oder wie?

Und in den Grundeinstellungen, wo du dein Template angegeben hast, sagt es ja schon der Name: Templates Blog Detailseiten

Du kannst zwar das Listing anpassen, indem du das Default Theme überschreibst. Aber soweit ich im Kopf habe der Blog Listing Seite nicht simpel viele weitere Templates zuweisen. Würde irgendwie ja auch gar keinen Sinn machen.

Möchtest du im Listing dein Box Template laden, dann schaust du hier -> shopware/listing.tpl at 5.5 · shopware/shopware · GitHub
Dort wird das Box Template geladen innerhalb der foreach Schleife, welches die Artikel im Listing anzeigt.

Dort lädst du dann also dein Template. Oder du überschreibst eben direkt das Box default Template -> shopware/box.tpl at 5.5 · shopware/shopware · GitHub

1 Like