Ich habe verschiedene eigene Views mit entsprechender Logik erstellt, die auch tadellos funktionieren. Leider werden beim Aufruf eines solchen Views jedoch keine Navigationslinks (Kategoriebaum) angezeigt, die sich normalerweise im linken Seitenbereich befinden. Ruft man eine normale, im Shop standardmäßig existierende Seite auf, werden die Kategorien korrekt angezeigt.
Was muss ich meinem View mitgeben, damit meine Kategorien und damit die Navigation immer angezeigt wird?
Ich möchte noch einmal nachhaken, ob mir jemand einen Tipp geben kann, weswegen die normale Kategorienavigation nicht angezeigt wird, denn ich ein eigenes View nutze?
Aktuell erzeuge ich eine Referenz auf oView beispielsweise in der Render Methode mit
$oSmarty->assign( "oView", $this);
Scheinbar reicht das nicht aus. Was fehlt hier, damit der Kategoriebaum (linke Navigation) angezeigt wird?
[QUOTE=AlexWeedy;60362]Ich möchte noch einmal nachhaken, ob mir jemand einen Tipp geben kann, weswegen die normale Kategorienavigation nicht angezeigt wird, denn ich ein eigenes View nutze?
Aktuell erzeuge ich eine Referenz auf oView beispielsweise in der Render Methode mit
$oSmarty->assign( "oView", $this);
Scheinbar reicht das nicht aus. Was fehlt hier, damit der Kategoriebaum (linke Navigation) angezeigt wird?[/QUOTE]
Views (genauer gesagt Controller) sollten standardmäßig eine Ableitung von oxUBase sein.
Wolltest du “nur” ein Smarty-Plugin schrieben?
Nein, es ist kein Smarty Plugin sondern ein View, wie beispielsweise der account view. Abgeleitet von oxUBase ist er (sind sie - ich habe mehrere Views und bei keinem wird die Kategoriebaum-Navigation angezeigt).
Hier mal mein PHP Aufbau, der nur den Bereich zeigt, der zum erstmaligen Laden des Views benötigt wird. Weitere Funktionen durch Abschicken eines Formulars gibt es natürlich auch und diese funktionieren wunderbar (wenn auch ohne Kategoriebaum-Navigation).
class mein_view extends oxUBase
{
/**
* Current class template name.
* @var string
*/
protected $_sThisTemplate = 'page/info/mein_template.tpl';
/**
* Current view search engine indexing state
*
* @var int
*/
protected $_iViewIndexState = VIEW_INDEXSTATE_NOINDEXNOFOLLOW;
public function init()
{
parent::init();
$this->_sThisTemplate = 'page/info/mein_template.tpl';
}
public function render()
{
parent::render();
$oSmarty = oxUtilsView::getInstance()->getSmarty();
$oSmarty->assign( "oViewConf", $this->_aViewData["oViewConf"]);
$oSmarty->assign( "shop", $this->_aViewData["shop"]);
$oSmarty->assign( "oView", $this);
$oSmarty->assign( "search_empty", 0);
echo $oSmarty->fetch("page/info/mein_template.tpl");
oxUtils::getInstance()->showMessageAndExit( "" );
}
}