Unterseiten in Abhängigkeit

Hi, mein Problem in Kurzfassung. Ich habe eine Seite mit mehreren Hauptseiten. Beim öffnen der Seiten sollen dann in einer Sidenavigation weitere Seiten auswählbar sein, die je nach gewählter Hauptseite unterschiedlich sind. Wie kann ich das am besten bewerkstelligen? Danke für Tipps…

Hauptseite1Controller

  • actionIndex

  • actionUnterseite1

  • actionUnterseite2

Hauptseite2Controller

  • actionIndex

  • actionUnterseite1

  • actionUnterseite2

und controllerweit definierst du ein Menü mit deinen Unterseiten, was du im Layout mittels CMenu-Widget anzeigst

Danke für die Antwort…

wie is das gemeint? es kommt lediglich eine 404 Fehlermeldung bei mir bzw, wenn ich diese weg habe, zeigts mir zwar das Menü an, aber eben auf allen Seiten und nicht nur auf spezifischen.

Desweiteren sollen die links in einem Portlet stehen, aber jedesmal kommt obengenannte 404. die links stehen zwar da, aber sobald man anklickt kommt :"The system is unable to find the requested action" trotz controller.

Hallo marduk

Du definierst in einem Controller ein Attribut $menu:




public $menu = array(

  array('label'=>'Menü Eintrag 1', 'url'=>array('controller/action1')),

  array('label'=>'Menü Eintrag 2', 'url'=>array('controller/action2')),

);



In den dazugehörigen views (besser noch in einem layout) kannst du dieses Menü dann beispielsweise mit einem Portlet anzeigen:




$this->beginWidget('zii.widgets.CPortlet', array(

  'title'=>'Operations',

  'htmlOptions'=>array('class'=>'portlet'),

));

$this->widget('zii.widgets.CMenu', array(

  'items'=>$this->menu,

  'htmlOptions'=>array('class'=>'operations'),

));

$this->endWidget();



In einem zweiten Controller gehst du genau gleich vor, halt mit anderen Menüeinträgen. So kannst du ganz einfach controllerweit Menüs definieren und anzeigen. Du kannst sogar in den views das $menu Attribut überschreiben und so die Menüs noch flexibler gestalten. Hoffe das hilft :slight_smile:

Jap, danke das hilft ungemein… Bin das Problem zwar erstmal umgangen, aber das is ja nicht Sinn und Zweck der Sache.


 <?php $seite = $_GET['view']; 				 				

if($seite == 'history') 

  { 				

     $this->widget('zii.widgets.CMenu',array...

  }

?>