Hi, mein plugin lädt ein standardtemplate, welches aber einen block enthält, den ich nicht anzeigen lassen möchte. konkret geht es um die suchergebnisseite. ich lasse meine ergebisse auf dem entsprechenden template ausgeben: $this-\>View()-\>loadTemplate('/frontend/search/index.tpl');
möchte aber den block ‚frontend_search_index_headline‘ entfernen: $this-\>View()-\>extendsBlock('frontend\_search\_index\_headline', '', 'replace');
allerdings funktioniert es nicht, wenn ich die beiden funktionen nacheinander aufrufe. kann mir jmd. sagen, wie ich den block entfernen kann, ohne die index.tpl der suche anzufassen? danke gruß Artur
Hallo artur, ich habe das ganze bei mir ohne Probleme umsetzen können. Könntest du mir bitte einmal die gesamte Methode schicken in der du das template lädst und den Block überschreibst. Hier der Source Code der bei mir funktionierte: public function install() { $event = $this->createEvent(‘Enlight_Controller_Action_PostDispatch_Frontend_Search’, ‘onPostDispatchSearch’); $this->subscribeEvent($event); return true; } public static function onPostDispatchSearch(Enlight_Event_EventArgs $args) { $request = $args->getSubject()->Request(); $response = $args->getSubject()->Response(); $view = $args->getSubject()->View(); $validControllers = array(‘search’); if(!$request->isDispatched() || $response->isException() || $request->getModuleName() != ‘frontend’ || !in_array($request->getControllerName(), $validControllers) ) { return; } $view->loadTemplate(’/frontend/search/index.tpl’); $view->extendsBlock(‘frontend_search_index_headline’, ‘’, ‘replace’); }