Warum versucht Magento, den Mage-Namespace und nicht meinen benutzerdefinierten Namespace aufzurufen?

8

Ich habe ein Modul im lokalen Codeordner in unserem benutzerdefinierten Namespace erstellt. Der Block wird nicht im Frontend angezeigt, und beim Überprüfen des Ausnahmeprotokolls stellt sich heraus, dass Magento an der falschen Stelle sucht.

%Vor%

Das Gleiche gilt auch, wenn ich das Präfix MyCompany_ beim Aufruf des Blocks ausschließe; Es sieht immer noch im Mage-Namespace aus. Ich habe dies in einer Datei namens MyCompany_All.xml im Ordner Module, und die CMS-Layouts, die ich hinzugefügt habe, funktionieren gut, so dass Magento es definitiv lädt:

%Vor%

Hat jemand irgendwelche Ideen, was das verursacht?

Hinzugefügt: Der Block wird von einem statischen Block mit diesem Vorlagencode aufgerufen: %Vor%

Und die config.xml für den Block ist:

%Vor%     
Richard John 28.01.2010, 14:13
quelle

1 Antwort

7

Versuchen Sie, Ihre Blockdeklaration wie folgt anzupassen:

%Vor%

In Ihrer Konfigurationsdatei haben Sie einen Alias ​​für Ihre Blöcke definiert ( forthcomingproducts ) und nun sollten Sie ihm folgen. Magento wird forthcomingproducts auf den Wert MyCompany_ForthcomingProducts_Block dereferenzieren, wie Sie es angefordert haben, und dann den Großbuchstaben-Klassennamen ( list ) anhängen und den Klassennamen MyCompany_ForthcomingProducts_Block_List erstellen. Wenn Sie ein Alis verwenden, von dem Magento nichts weiß ( MyCompany_ForthcomingProducts in Ihrem Beispiel), wird davon ausgegangen, dass es Teil des Mage-Namensraums ist.

Ich hoffe, das hilft, Joe

    
Joseph Mastey 28.01.2010, 16:05
quelle

Tags und Links