Plugin Templatedateien einbinden

Liebes Forum :slight_smile: :slight_smile:

ich versuche gerade ein Plugin mit der neuen Pluginstruktur unter custom/plugin/ zu erstellen.

Und zwar ein ganz eifaches, das nur zwei Blöcke einer Templatedatei ersetzt. Ich habe sogar das shopware Buch, bekomme das aber einfach nicht hin.

Das Plugin heisst LoremQuestions

und besteht aus zwei Dateien:

…\custom\plugins\LoremQuestions\LoremQuestions.php

 'onPostDispatchFrontend'            
        ];
    }

    public function onPostDispatchFrontend()
    {
        $this->container->get('Template')->addTemplateDir(
            $this->getPath() . '/resources/Views/'
        );

    }
}

und …\custom\plugins\LoremQuestions\resources\Views\frontend\index\index.tpl

{extends file='parent:frontend/index/index.tpl'}
    {block name='frontend_index_after_body'}
        AAA
    {/block}

    {block name="frontend_index_page_wrap"}
        BBB
    {/block}

Habe wirklich schon viel probiert, aber die Blöcke werden einfach nicht überschrieben/angezeigt.

Wo könnte der Fehler liegen ?

Vielleicht könnte ja jamand ein Beispiel posten.

Ich möchte noch einmal an dieses Thema erinnern. Ich bekomme das einfach nicht hin  Frown

Überschreibst du das Standard Theme oder ein eigenes?

Ich überschreibe ein eigenes Theme. Sollte aber beides gehen.

Recht beliebt ist ein Typo an dieser Stelle:

 $this->getPath() . '/resources/Views/'

Groß- und Kleinschreibung. 

ja, … und dann ? :slight_smile:

Hat bitte mal jemand ein simples Beispiel-Plugin ? Oder kann sagen, woran es liegt ?

Liebe Grüße

Kerstin :slight_smile:

@Kerstin83 schrieb:

ja, … und dann ? :)

Hat bitte mal jemand ein simples Beispiel-Plugin ? Oder kann sagen, woran es liegt ?

Liebe Grüße

Kerstin :)

schau mal ob die Schreibung (Pfad) bei Dir passt 

Eigentlich ja. Deswegen habe ich die Pfade mit angegeben, weil ich mir nicht ganz sicher bin. Könnt ihr mal bitte schauen?

Bitte, bitte postet doch mal ein kleines Beispiel. Mit Pfaden.

Hallo Kerstin,

habe das gerade mal gestestet.

Einmal unter /custom/plugins/Testplugin4 eine Datei „Testplugin4.php“ anlegen:

 'onFrontendPostDispatchBlog'
        ];
    }
    public function onFrontendPostDispatchBlog(\Enlight_Controller_ActionEventArgs $args)
    {
        $this->container->get('template')->addTemplateDir(
        $this->getPath() . '/Resources/views/'
        );
    }
}

Dann unter /custom/plugins/Testplugin4/Resources/views/frontend/blog/detail.tpl anlegen.

Bei mir sah die so aus:

{extends file='parent:frontend/blog/detail.tpl'}

{block name='frontend_index_content'}
    {$smarty.block.parent}
    Dies ist ein Test
{/block}

Dann hab ich im Frontend auch „Dies ist ein Test“ im Blog gesehen. Kannst du natürlich für jedes andere Template und Controller adaptieren.

1 „Gefällt mir“

Vielen, vielen Dank, Moritz, das hat endlich geklappt :slight_smile: :slight_smile: *freu

Ich muss mal schauen, was an meinem Plugin eigentlich falsch ist.

Less einbinden habe ich jetzt auch geschafft.

Aber eine Frage noch, wie binde ich im neuen Plugin System Javascript ein ?

Liebe Grüße

Kerstin