Hi, ich hänge hier mal wieder bei ner neuen Plugin Programmierung. Ich habe schoneinmal ein Plugin gebaut welches einen eigenen Controller zur Verfügung stellt und in Ihm meine neuen Actions definiert. Dies funktioniert auch wunderbar. Ich kann mich allerdings errinern das ich eine ganze Weile gebraucht habe bis der Controller im Frontend erreichbar war. Leider weiss ich aber auch nichtmehr genau was ich dort gemacht hatte damit es funktioniert. Nun stehe ich wieder voir dem gleichen Problem und komme einfach nicht weiter (bei jedem Aufruf bekomme ich in der Console einen 404 zurück). Ich versuche mal den Code darzustellen und hoffe ich vergesse dabei nichts: Bootstrap.php: public function install() { ... $event = $this-\>createEvent( 'Enlight\_Controller\_Dispatcher\_ControllerPath\_Frontend\_Showcase', 'onGetControllerPath' ); $this-\>subscribeEvent($event); ... return true; } ... public static function onGetControllerPath(Enlight\_Event\_EventArgs $args) { return dirname(\_\_FILE\_\_).'/Showcase.php'; }
Selbstverständlich liegen die Dateien alle im Verzeichniss des Plugins. Installieren lässt es sich alles soweit super. Eine Funktion habe ich mal an den PostDispatch Event gehängt und diese wird dann auch einwandfrei ausgeführt. Showcase.php: [code]<?php class Shopware_Controllers_Frontend_Showcase extends Enlight_Controller_Action
{
protected $system;
protected $config;
// initial funktion
public function init()
{
$this->system = Shopware()->System(); $this->config = Shopware()->Config(); $this->View()->addTemplateDir(dirname(__FILE__)); } // showcase ansicht public function showcaseAction() { $config = Shopware()->Plugins()->Frontend()->Showcase()->Config(); $maxThumbs = $config->maxThumbs; echo($maxThumbs); $this->View()->loadTemplate(„showcase.tpl“); } } [/code] Es ist ja nun eigentlich egal was ich in dieser Datei machen möchte. Zum einen ist sichergestellt das sich das Plugin installieren lässt und es wird auch ausgeführt. Aber egal was ich nun in dem Controller machen möchte dürfte ich bei folgendem Aufruf keinen 404 bekommen oder? „/shopware.php/sViewport,Showcase/sAction,showcase“. Eigentlich sollte der Shop auch untert engine/…/Proxies eiune neue Datei anlegen die den Controller repräsentiert. Dies passiert aber auch nicht. Installiere ich dagegen mein altes Plugin mit Controller funktioniert alles sofort auch die gewünschte Proxie Datei ist dann angelegt. Ich hoffe ihr könnt mir an der Stelle weiterhelfen, verstehen tue ich das garnicht, gerade da ichähnliches ja bereits umgesetzt habe. mfg Lars