$this->layout in AdminModule.php

Hi,

ich habe soeben ein Module Admin erstellt und wollte ein neues Layout definieren, dass sich von meiner Seite unterscheidet.

Dafür habe ich unter /protected/modules/admin/views/layout/ die Datei main.php und diese der init() Methode zugeweisen. Leider wird weiterhin mein Standard-Layout der Seite geladen?!?!


class AdminModule extends CWebModule

{

	public function init()

	{

		// this method is called when the module is being created

		// you may place code here to customize the module or the application


		// import the module-level models and components

		$this->setImport(array(

			'admin.models.*',

			'admin.components.*',

		));

		$this->layout = 'main';

	}

Danke schon einmal für die Antworten.

Ich habe eine unschöne Lösung gefunden.

Im Controller “DefaultController.php” nach dem Klassenmane public $layout = ‘xyz.php’ schreibe

main heisst doch auch das Standard-Layout, oder?

nenne dein Admin-Layout admin.php und dann sollte es gehen

Ja, aber deine Änderungen haben auch nichts gebracht.

Ich habe das nun im DefaultController untergebracht was eine sehr unelegante Lösung ist.


class DefaultController extends Controller

{

	public $layout = 'main';

wenn ich in der init-Methode des Moduls das layout zuweise mit:




$this->layout = 'admin';



dann sollte in modules/admin/views/layout eine Datei admin.php als Layout verwendet werden.

so klappt da zumindest bei mir :rolleyes:

hab das sogar mal beschrieben:

http://blog.mbischof.de/ein-modul-als-admin-backend

Ich habe das gleiche Problem… kannst Du mir sagen wie (ob) Du es gelöst hast?!

edit habe was gefunden http://www.yiiframework.com/forum/index.php?/topic/10435-can-a-module-have-its-own-confg-file/page__p__51955#entry51955