Yii Framework Forum: Layout Erstellung Mit 2 Dynamischen Bereichen - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Layout Erstellung Mit 2 Dynamischen Bereichen Rate Topic: -----

#1 User is offline   Scentyoo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 10-January 12
  • Location:Germany

Posted 14 January 2013 - 06:59 PM

Hallo, ich komme einfach nicht bei der Erstellung eines Layouts weiter.

Ich möchte im Header 2 Bereiche: Zum einen einen Bereich mit wechselndem Inhalt, je nach Controller. Zum anderen immer gleich bleibender Inhalt wie z.B. Werbung. Der Content soll sich ganz normal verändern, je nachdem welcher controller/action aufgerufen wurde.

Hier ein simples Beispiel meines Layouts:
<div>
  <div>
    <div>
      Header dynamisch (für jeden Controller)
    </div>
    <div>
      Header statisch (Werbung)
    </div>
  </div>
  <div>
      Content (dynamisch)
  </div>
  Footer
</div>



Ich weiß einfach nicht in welche Dateien ich das aufteilen muss, und wann ich beginContent/endContent und renderPartial benutzen muss. Hierbei soll natürlich, falls möglich, keine Zeile Code doppelt geschrieben werden müssen.
0

#2 User is offline   CeBe 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 478
  • Joined: 16-July 10
  • Location:Berlin. Germany

Posted 15 January 2013 - 02:46 PM

Hallo Scentyoo!

um im Layout file den content auszugeben, musst du einfach nur
<?php echo $content; ?>

schreiben. Schau dir dazu am besten mal die layout files an, die bei der von yiic generierten Webapplication dabei sind.

Für den controller-Abhängigen content kannst du eine methode in jedem controller erstellen, die du von hier aus aufrufst:
<?php echo $this->renderHeaderContent(); ?>

und im Controller dann:
public function renderHeaderContent() {
    return $this->renderPartial('controllerspecificView', array(), true);
}

"renderHeaderContent()" kannst du je nachdem, wie du es brauchst auch in einer Oberklasse aller Controller definieren und dann in Controllern, die anderen content benötigen überschreiben.

Grüße,
Carsten
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users