PStadtfeldPStadtfeld MemberComments: 371 Received thanks: 92 Member since: August 2017

Sind noch relativ unerfahren bei der Arbeit mit Shopware und versuchen das Buch durchzuarbeiten, allerdings scheitert dieses Unterfangen oftmals an Versionsunterschieden oder (scheinbar?) falschen Angaben im Buch... Jedenfalls konnten wir die Probleme meist nach 2-8 Stunden Recherche in Foren und Dergleichen selbst lösen, beim "LorumQuestions" - Beispiel unter 5.2 funktioniert allerdings mal wieder rein gar nichts wie beschrieben und wir quälen uns nun seit fast 3 Stunden durch Workaround-Versuche von einem Fehler zum Nächsten..

- Installiert wurde Shopware (5.3) lokal über die Vagrant-Box - Variante (nach 3 Versuchen, da scheinbar nicht alle angegebenen Komponenten in der aktuellsten Version ordentlich zusammenspielen).

Zu den eigentlichen Problemen mit dem Beispiel ..

1. Die Datei "LoremQuestions.php" sorgte nach dem Anlegen direkt für katastrophale Probleme in Front und Backend, denn anstelle der üblichen Shopwareseiten bekam man nur noch eine weiße Seite.. Alle Codefragmente mehrmals durchgesehen, Originalplugin heruntergeladen und getestet - gleiche Ergebnis. Im Browser kam nach Änderung der config.php die Meldung "FatalError: could not find class LoremQuestions for plugin LoremQuestions" oder so ähnlich..

Nach ca. 1 Stunde dann scheinbar die Lösung nach mehrfacher Codedurchsicht und schließlich einem Vergleich der "LoremQuestions.php" - Datei mit einem anderen, funktionierenden Plugin..

class LoremQuestions extends \Shopware\Components\Plugin 
{

wurde zu

namespace LoremQuestions;

use Shopware\Components\Plugin;

class LoremQuestions extends Plugin {

Das funktionierte dann scheinbar (warum auch immer, da es ja recht ähnlich aussieht, aber gut..)

 

2. Das Plugin über das Backend im PluginManager installiert und aktiviert. Cache geleert und Themes neu kompiliert, daraufhin kommt der nächste fatale Fehler in den Artikeldetails, denn:

Fatal error: Uncaught InvalidArgumentException: [ERROR 1866] Element '{http://symfony.com/schema/dic/services}container', attribute 'xsi:schemaLocation': The attribute 'xsi:schemaLocation' is not allowed. (in /home/vagrant/www/shopware/ - line 4, column 0) in /home/vagrant/www/shopware/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php on line 286

So viel zum besseren Weg der Subscriber für's Erste..

1 Answer

  • wabABwabAB MemberComments: 95 Received thanks: 13 edited September 2017 Member since: February 2017

    Hey,

    ich gehe mal davon aus, dass es um das neue Plugin System geht. Hast du unter custom/plugins/DeinPlugin/Resources/services.xml in dem  etwas stehen? Wenn nein lösche die beiden Knoten aus dem xml. Das hat bei mir den Fehler behoben.

     

    VG

    Quote
    Accepted Answer
    Thanked by 1PStadtfeld
  • Accepted Answer

Answers

  • wabABwabAB MemberComments: 95 Received thanks: 13 edited September 2017 Member since: February 2017

    Hey,

    ich gehe mal davon aus, dass es um das neue Plugin System geht. Hast du unter custom/plugins/DeinPlugin/Resources/services.xml in dem  etwas stehen? Wenn nein lösche die beiden Knoten aus dem xml. Das hat bei mir den Fehler behoben.

     

    VG

    Quote
    Accepted Answer
    Thanked by 1PStadtfeld
  • PStadtfeldPStadtfeld MemberComments: 371 Received thanks: 92 Member since: August 2017

    Hast du unter custom/plugins/DeinPlugin/Resources/services.xml in dem  etwas stehen?

    Fehlte da etwas zwischen "dem"  und  "etwas" ?

    Der Hinweis mit "lösche die beiden Knoten" hat mich jedenfalls veranlasst testweise einfach einmal den gesamten Abschnitt zu löschen, also

    xsi:schemaLocation="URL1 URL2">

    komplett entfernt und es scheint nun auch so zu funktionieren, danke!

     

  • wabABwabAB MemberComments: 95 Received thanks: 13 Member since: February 2017

    Ja sorry, scheinbar wurden hier die 

    <services> </services> tags escaped, habe nciht darauf geachtet :D

     

  • PStadtfeldPStadtfeld MemberComments: 371 Received thanks: 92 Member since: August 2017

    Ah okay, die habe ich allerdings nicht gelöscht, dachte gerade um die Service ginge es eben bei der Datei :p

    Das Ganze sieht nun so aus und nach erstem Betrachten scheint auf der Artikelseite auch alles noch/wieder drauf zu sein:

    <?xml version="1.0" ?>
    
    <container 	xmlns="http://symfony.com/schema/dic/services">;
    
    		<services>
    			<service id="lorem_questions.controller" class="LoremQuestions\Subscriber\Controller">
    				<argument type="service" id="service_container" />
    				<tag name="shopware.event_subscriber" />
    			</service>
    			<service id="lorem_questions.detail" class="LoremQuestions\Subscriber\Detail">
    					<argument type="service" id="service_container" />
    					<tag name="shopware.event_subscriber" />
    			</service>
    		</services>
    </container>

     

Sign In or Register to comment.