Shopware 3.5.4 Umzug auf 5.1

ich habe einen alten 3.5er Shop auf 5.1 geupdatet. Alles funktioniert soweit. Der Shop hatte damals das subshop lite modul mit einer Englischsprachigen Seitenversion. Diese lässt sich über den Sprachenwähler zwar auswählen, Artikel Zeigt er in der Listenansicht auch an, jedoch beim Aufruf einer Artikeldetailseite kommt folgendes: Hat Jemand eine Idee wodran das liegen kann? Ups! An error has occurred! The following hints should help you. Product not available in current shop in Shopware/Bundle/StoreFrontBundle/Service/Core/ProductNumberService.php on line 95 Stack trace: #0 Shopware/Core/sArticles.php(1196): Shopware\Bundle\StoreFrontBundle\Service\Core\ProductNumberService-\>getAvailableNumber('SW10044', Object(Shopware\Bundle\StoreFrontBundle\Struct\ProductContext), Array) #1 Shopware/Plugins/Local/Frontend/PeDetailVerknuepfteArtikel/Bootstrap.php(79): sArticles-\>sGetArticleById('38') #2 Enlight/Event/Handler/Plugin.php(149): Shopware\_Plugins\_Frontend\_PeDetailVerknuepfteArtikel\_Bootstrap::onPostDispatchDetail(Object(Enlight\_Controller\_ActionEventArgs)) #3 Enlight/Event/EventManager.php(210): Enlight\_Event\_Handler\_Plugin-\>execute(Object(Enlight\_Controller\_ActionEventArgs)) #4 Enlight/Controller/Action.php(191): Enlight\_Event\_EventManager-\>notify('Enlight\_Control...', Object(Enlight\_Controller\_ActionEventArgs)) #5 Enlight/Controller/Dispatcher/Default.php(523): Enlight\_Controller\_Action-\>dispatch('indexAction') #6 Enlight/Controller/Front.php(227): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #7 Shopware/Kernel.php(148): Enlight\_Controller\_Front-\>dispatch() #8 vendor/symfony/http-kernel/HttpCache/HttpCache.php(492): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #9 Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #10 vendor/symfony/http-kernel/HttpCache/HttpCache.php(449): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #11 vendor/symfony/http-kernel/HttpCache/HttpCache.php(349): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>fetch(Object(Symfony\Component\HttpFoundation\Request), true) #12 Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>lookup(Object(Symfony\Component\HttpFoundation\Request), true) #13 vendor/symfony/http-kernel/HttpCache/HttpCache.php(213): Shopware\Components\HttpCache\AppCache-\>lookup(Object(Symfony\Component\HttpFoundation\Request), true) #14 Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #15 shopware.php(101): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #16 {main} Danke Gruß Florian

Hallo, ist der Artikel denn im Kategoriebaum des Subshops vorhanden/zugewiesen? Das läuft ja in SW4/5 direkt über den Core. Dort hast du dann einen Shop Englisch in Shopeinstellungen > Shops mit eigenem Kategoriebaum. Moritz

Hallo, danke für die schnelle Antwort. der Artikel ist im Kategoriebaum für Deutsch sowie englisch zugewiesen. Kategorien sind aktiv und die Hauptkategorie ist dem entsprechenden Subshop zugewiesen. Sollte eigentlich alles ok sein. Angezeigt werden die Artikel ja in der Listenansicht einer Englischen Kategorie auch. Nur eben die Detailseite macht Probleme. Spaßeshalber habe ich auch mal alle Plugins deaktiviert die evtl noch aus dem 3.5er Portiert werden mussten. Leider ohen Abhilfe. ;(

Hallo, Ändert sich denn da dran etwas wenn du den Artikel einmal über das Backend öffnest und speicherst?

[quote=„Moritz Naczenski“]Hallo, Ändert sich denn da dran etwas wenn du den Artikel einmal über das Backend öffnest und speicherst?[/quote] Das einfache Öffnen eines Artikels im Backend und erneut abspeichern brachte keine Abhilfe (cache auch geleert) Das öffnen eiens Artikels im Backend und das klicken auf die Weltkugel am Artikel ohne das ein Englischer Artikelname oder eine englische description eingegeben wurde mit anschließendem klick auf Speichern hat funktioniert. Es scheint also damit zusammenzuhängen. Das Problem löst es leider noch nicht. Jeden Artikel per Hand zu öffnen und zu Speichern ist jedenfalls keine Brauchbare Lösung. Habt ihr dazu noch eine idee? Der Tip war auf jeden Fall schon einmal Gold wert :wink:

Hallo, das wird natürlich jetzt schwierig. Kannst du den Subshop mal neu anlegen - kannst ja erstmal einen 2. nehmen - und den Test nennen oder sowas. Einfach mit den gleichen Einstellungen wie der normale Subshop. Kann mir eigentlich nur vorstellen, dass irgendwas für den Subshop fehlt, was normalerweise im Backend, wenn man den manuell in SW5 anlegt erzeugt wird. Grüße Moritz

Hi, du hast unter Local in den Plugins noch was Individuelles liegen mit dem Namen PeDetailVerknuepfteArtikel. Das ist wohl nicht kompatibel und sollte deinstalliert werden. Ich tippe mal, da liegt das Problem. Sebastian

[quote=“Sebastian Klöpper”]Hi, du hast unter Local in den Plugins noch was Individuelles liegen mit dem Namen PeDetailVerknuepfteArtikel. Das ist wohl nicht kompatibel und sollte deinstalliert werden. Ich tippe mal, da liegt das Problem. Sebastian[/quote] Oh das stimmt. Das oben war die Fehlermeldung des ersten Tests. Habe nun alle eigenen Module deaktiviert. bzw. alle die nicht Shopware Standard sind. Problem besteht nur ist die Fehlermeldung aufgeräumter :wink: Unfortunately this item is not available anymore! Den Subshop habe ich einmal komplett gelöscht und neu angelegt leider auch ohne Erfolg.

[quote=„Sebastian Klöpper“]Hi, du hast unter Local in den Plugins noch was Individuelles liegen mit dem Namen PeDetailVerknuepfteArtikel. Das ist wohl nicht kompatibel und sollte deinstalliert werden. Ich tippe mal, da liegt das Problem. Sebastian[/quote] Ist es prinzipiell möglich eine zweite Sprachversion für englisch in SW 5.1. zu nutzen ohen extra eine Subshoplizenz zu erwerben? Es wird ausschließlich die Community Version eingesetzt. Sprich der alte Shop der auf 3.5. lief hatte ja diese Pseudo Subshops „subshops lite“ für die Mehrsprachigkeit. Liegt es vielleicht daran? Oder müsste dann eine Fehlermeldung zwecks Lizenz erscheinen?

Hallo, Also für die sprachshops brauchst du keine Lizenz, da kannst du ab SW4 so viele haben wie du möchtest. Nur eine eigene Domain braucht auch eine Lizenz. Kannst du mir mal einen Beispiellink an forum@shopware.de schicken? Dann schau ich morgen mal ob mir noch was auffällt. Moritz

1 „Gefällt mir“

Anbei mal die Einstellungen des Englischen Sprachshops. Zum Screenshot ist hier evtl schon etwas falsch übernommen worden?

Hallo, kannst du mir auch einen Backend-Zugang geben? Würde gerne mal schauen ob mir noch was auffällt. Eine Fehlermeldung wird da ja aktuell nicht geworfen… Moritz

1 „Gefällt mir“

Das Problem konnte gelöst werden Danke nochmal an Shopware. Anbei mein lösungsschritt. Ich habe über weitere Recherchen herausgefunden das die Translations für die artikelnamen nicht wie vermutet über die s_articles_translation ausgelesen werden (diese tabelle ist wohl nur temporär) sondern einzig und allein über die s_code_translations. Hier habe ich mir ein Script geschrieben das alle Artikel durchgeht und das Feld mit dem Artikelnamen für den entsprechenden sprachen shop entfernt und wieder abspeichert. Hintergrund war der es gab in meinem Shop keine Artikelnamen in anderer Sprache nur eine Description. Demnach waren die ganzen Artikelnamen zwar in der translation tabelle enthalten aber eben leer. Darum hatte er die Artikel im Englischen Subshop nicht geöffnet. Falls jemanden der Code interessiert, ist quick & dirty backup der tabelle vorher wäre natürlich wünschenswert :wink: // ok geht für artikel ohne varianten... // ok geht auch für varianten $sql1 = "SELECT \* FROM s\_core\_translations WHERE objecttype = 'article'"; $articles = Shopware()-\>Db()-\>fetchAll($sql1); if(count($articles)\>0){ foreach ($articles as $article) { $id = $article['id']; $arr = unserialize($article['objectdata']); unset($arr['txtArtikel']); // hier passiert die Magie $arr = serialize($arr); echo $id." "; $sql='UPDATE s\_core\_translations SET objectdata = ? WHERE id = ? LIMIT 1'; Shopware()-\>Db()-\>query($sql,array($arr, $id)); } } echo "FERTIG";exit; Danach funktionierte alles wieder wie gewohnt :wink: Danke