Moin Zusammen,
Hat irgendjemand hier mal ein paar Minuten Zeit mir zu erläutern wie das ganze exakt funktioniert?
In meinem Fall würde ich als erstes gern einen simplen „Four Column Text Image“ Plugin erstellen.
Folgender Tree Existiert:
Backend sieht soweit in Ordnung aus >
Für das Erlebniswelten Innere wurde folgender Code benutzt:
{% block sw_cms_block_four_column_text_image %}
<div class="four-column-text-image__left"> <slot name="left-four-column-text-image-image"></slot> <slot name="left-four-column-text-image-text"></slot> </div> <div class="four-column-text-image__right"> <slot name="right-four-column-text-image-image"></slot> <slot name="right-four-column-text-image-text"></slot> </div> <div class="four-column-text-image__end"> <slot name="end-four-column-text-image-image"></slot> <slot name="end-four-column-text-image-text"></slot> </div> </div>
{% endblock %}
Für die Preview in der Erlebniswelt folgender:
{% block sw_cms_block_image_text_row_preview %}
Lorem ipsum dolor sit amet elitr.
<div class="sw-cms-preview-four-column-text-image__left"> <div class="sw-cms-preview-four-column-text-image__image"> <img :src="'/administration/static/img/cms/preview_plant_small.jpg' | asset"> </div> <div> <p>Lorem ipsum dolor sit amet elitr.</p> </div> </div> <div class="sw-cms-preview-four-column-text-image__right"> <div class="sw-cms-preview-four-column-text-image__image"> <img :src="'/administration/static/img/cms/preview_glasses_small.jpg' | asset"> </div> <div> <p>Lorem ipsum dolor sit amet elitr.</p> </div> </div> <div class="sw-cms-preview-four-column-text-image__end"> <div class="sw-cms-preview-four-column-text-image__image"> <img :src="'/administration/static/img/cms/preview_glasses_small.jpg' | asset"> </div> <div> <p>Lorem ipsum dolor sit amet elitr.</p> </div> </div> </div>
{% endblock %}
Index.json entsprechend angepasst.
Frontend habe ich folgendes aus den Original Shopware Dateien entnommen:
{% block block_four-column-text-image %}
{% set columns = 4 %}
{% set id = element.id %}{% block block_image_three_column_start %} {% set element = block.slots.getSlot('start') %} <div class="col-md-4" data-cms-element-id="{{ element.id }}"> {% block block_image_three_column_left_inner %} {% sw_include "@Storefront/storefront/element/cms-element-" ~ element.type ~ ".html.twig" ignore missing %} {% endblock %} </div> {% endblock %} {% block block_image_three_column_left %} {% set element = block.slots.getSlot('left') %} <div class="col-md-4" data-cms-element-id="{{ element.id }}"> {% block block_image_three_column_center_inner %} {% sw_include "@Storefront/storefront/element/cms-element-" ~ element.type ~ ".html.twig" ignore missing %} {% endblock %} </div> {% endblock %} {% block block_image_three_column_right %} {% set element = block.slots.getSlot('right') %} <div class="col-md-4" data-cms-element-id="{{ element.id }}"> {% block block_image_three_column_right_inner %} {% sw_include "@Storefront/storefront/element/cms-element-" ~ element.type ~ ".html.twig" ignore missing %} {% endblock %} </div> {% endblock %} {% block block_image_three_column_end %} {% set element = block.slots.getSlot('end') %} <div class="col-md-4" data-cms-element-id="{{ element.id }}"> {% block block_image_three_column_right_inner %} {% sw_include "@Storefront/storefront/element/cms-element-" ~ element.type ~ ".html.twig" ignore missing %} {% endblock %} </div> {% endblock %}
{% endblock %}
./psh.phar storefront:build
./psh.phar administration:build
./psh.phar cache
bin/console cache:clear
bin/console plugin:refresh
(einfach alles ausprobiert…)
Frontend wird nichts angezeigt.
Why?..
Ich habe mehrere Plugins so erstellt ; leider wird keines davon im Frontend angezeigt… sogar alte, bereits gelöschte, via STRG+F nicht auffindbare Plugins werden noch immer im Frontend angezeigt (trotz sämtlichen Cache clearen etc. pp.)
Wäre Prima wenn mir einer einmal helfen könnte.
EDIT: Wenn ich die Plugins speichere in der Erlebniswelt, werden die Produkte/Bilder immer zurückgesetzt, Plugins bleiben zwar bestehen, allerdings als leere Anzeige. Warum?