Accessory Items in Zubehörartikel ändern

Hallo zusammen,
ich möchte die Zubehörartikel in deutsch darstellen. Es muss doch möglich sein dieses Accessory Items zentral irgendwo zu ÄNDERN!
Unter Textbausteinen ist Accessory Items nicht zu finden.

Das man das einzeln in den Produkten ändern kann, ist mir schon klar.
Aber bei über 1000 Produkten dies einzeln zu ändern, dauert ja Stunden.

Warum ist das überhaupt auf englisch?

In der Shopware 5 Version war das CrossSelling ja fester Bestandteil. Warum ist das bei der 6er Version nicht der Fall. So muss man sich jetzt mit einem externen Plugin weiterhelfen!

Vielleicht gibt es jemanden, die hierfür eine Lösung hat.

1 Like

Hallo,

bei mir hat es problemlos funktioniert…

UPDATE product_cross_selling_translation
SET name = REPLACE(name, ‚Accessory Items‘, ‚Ähnliche Artikel‘);

Beste Grüße
Hans

Moin,

falls jemand dasselbe Problem hat und es nicht über die DB ändern möchte:

In der views\storefront\element\cms-element-cross-selling.html.twig im Block cms_element_cross_selling_tabs_navigation_container den Namen des Produkt CrossSellings {{ crossSelling.translated.name }} austauschen gegen einen eigenen Textbaustein.

Viele Grüße
Tom

Hallo,
wie habt ihr das Problem gelöst, wenn es in SW5 für einen Artikel unter Cross-Selling „Ähnliche Artikel“ und „Zubehör-Artikel“ gibt?

In SW6 werden bei der Migration beide Einträge als „Accessory Items“ im Namen übernommen. Ergebnis sind 2 gleiche „Gruppennamen“ in SW6-Frontend beim Artikel.
In der Tabelle product_cross-selling_translation sind dann unter „name“ ausschließlich „Accessory Items“ enthalten.

Gibt es da einen Weg, das evtl. im Migrations-Plugin zu lösen?
Da ist ja wahrscheinlich schon die Abfrage zu den Cross-Sellings falsch, wenn immer der gleiche Name vergeben wird, richtig wäre ja, wenn nach „Ähnliche Artikel“ und „Zubehörartikel“ unterschieden würde…

1 Like

Das bringt mir diesen Fehler:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‚Items‘, ‚Ähnliche Artikel‘)‘ at line 2

Versuch es mal hiermit

UPDATE product_cross_selling_translation
SET name = REPLACE(name, 'Accessory Items', 'Ähnliche Artikel');

Wenn man mehrere Cross Sellings mit unterschiedliche Namen hat, bringt die Umbenennung nichts.
Ihr musst erstmal folgendes ersetzen:

custom/plugins/SwagMigrationAssistant/Migration/DataSelection/DefaultEntities.php

  final public const CROSS_SELLING_ACCESSORY = 'cross_selling_accessory_item';
  final public const CROSS_SELLING_SIMILAR = 'cross_selling_similar_item';

ersetzen durch

 final public const CROSS_SELLING_ACCESSORY = 'product_cross_selling_accessory';
 final public const CROSS_SELLING_SIMILAR = 'product_cross_selling_similar';

Dann die Artikel neu migrieren und danach erst die Namen in der Datenbank ersetzen mit :

UPDATE `product_cross_selling_translation` SET `name` = 'Zubehör' WHERE `name` LIKE 'Accessory Items';

UPDATE `product_cross_selling_translation` SET `name` = 'Ähnliche Artikel' WHERE `name` LIKE 'Similar Items';
4 Likes

Vielen Dank, das werde ich mal, sobald ich Zeit habe, mal testen.

Ich habe das so gemacht:
Im Backend ein neues Textbaustein erstellt:
Name: customCrossSelling
Textbaustein-Set: BASE de-DE : Ähnliche Artikel
Textbaustein-Set: BASE en-GB : Similar Items

Dann in meinem ChildTheme die Datei erstellt:
/page/product-detail/cross-selling/tabs.html.twig

und da habe ich den Block aus der Datei der MutterTheme reinkopiert und wie folgt geändert:

{% sw_extends '@Storefront/storefront/page/product-detail/cross-selling/tabs.html.twig' %}


{% block page_product_detail_cross_selling_tabs_navigation_container %}
    <ul class="nav nav-tabs product-detail-tab-navigation-list"
        id="product-detail-cross-selling-tabs"
        role="tablist">
        {% for item in crossSellings|filter(item => item.total > 0 and item.crossSelling.active == true) %}
            {% set id = item.crossSelling.id %}
            <li class="nav-item">
                <a class="nav-link product-detail-tab-navigation-link{% if loop.first %} active{% endif %}"
                   id="cs-{{ id }}-tab"
                   data-bs-toggle="tab"
                   href="#cs-{{ id }}-tab-pane"
                   role="tab"
                   title="{{ item.crossSelling.name }}"
                   aria-controls="cs-{{ id }}-tab-pane"
                   aria-selected="true">
                    {{ "customCrossSelling"|trans|sw_sanitize }}
                    <span class="product-detail-tab-navigation-icon">
                                        {% sw_icon 'arrow-medium-right' style {'pack':'solid'} %}
                                    </span>
                </a>
            </li>
        {% endfor %}
    </ul>
{% endblock %}

Dann noch:
php bin/console theme:compile
und
php bin/console cache:clear

Fertig

Shopware hat das mittlerweile gefixt

Hallo @11shop,
das kann ich leider nicht bestätigen. Habe aktuell die 6.5.8.1 - Wie bist Du vorgegangen?

VG Armin

Hallo @lederwerkstatt ,
ist auch auf meiner Wunschliste, wurde nun gefixt und kommt mit dem nächsten Update des Migrations-Assistenten, siehe:

1 Like

Habe es gerade getestet und ja: es wurde von Shopware gefixt!

Hmmmm, dennoch sehe ich in einen neu installierten SW 6.6.3.1 die tollen Reiter „Accessory Items“ etc… :frowning: Sicher das es wirklich behoben wurde?

Kann ich bestätigen. Bei mir besteht der Fehler unter 6.6.4

Der Fix besteht inzwischen darin, die Cross-Sellings wie gewünscht zu benennen, ggf. umzubenennen.

Also im 6.6.4.0 mit Migrationsassistent 12.0.0 steht immer noch (!) folgendes fix im Code

        if ($data['type'] === DefaultEntities::CROSS_SELLING_SIMILAR) {
            $converted['name'] = 'Similar Items';
        } else {
            $converted['name'] = 'Accessory Items';
        }

custom/plugins/SwagMigrationAssistant/src/Profile/Shopware/Converter/CrossSellingConverter.php

Abgesehen ist es völlig unklar, warum der Name hier in der Tabelle „product_cross_selling_translation“ fest drin steht. Warum wurde an dieser Stelle kein Textbaustein eingebaut, so wie im Rest von SW6?

Für meine Begriffe war hier eine Laie unterwegs.

2 Likes

Wie lässt sich das Problem mittlerweile am einfachsten lösen? Mit den oben genannten Lösungsvorschlägen komme ich leider nicht weiter, da Laie…

Das hängt ganz von deiner individuellen Situation ab. Die Cross-Selling-Titel werden bei jedem Artikel angezeigt und können bei Bedarf (in verschiedenen Sprachen) angepasst werden.