Ein Modul als Admin Backend
10. Dezember 2009
>>module administrator >>model Post >>model Comment >>crud Post >>crud Comment >>crud Post administrator/Post >>crud Comment administrator/Comment
Im Ordner protected/modules/administrator/views/layouts eine Datei administrator.php anlegen und im AdministratorModule.php das Layout definieren, anderenfalls wird das main-Layout verwendet.
$this->layout = 'administrator';
Damit nur noch der admin-User ins AdminModul kommt, im protected/components-Ordner eine Datei AdminController.php hinzufügen, die wie folgt aussieht.
class AdminController extends CController { public function filters() { return array( 'accessControl', ); } public function accessRules() { return array( array( 'allow', 'users' => array('admin'), ), array( 'deny', 'users' => array('*'), ) ); } }
Alle Controller im AdminModul jetzt von AdminController ableiten.
class DefaultController extends AdminController { public function actionIndex() { $this->render('index'); } }
Verwandte Artikel:
- yiiframework – Guidelines for good schema design
- CButtonColumn erweitern
- Parameterized Named Scopes
- CGridColumn
- Ein Anrede-Behavior
- CGridView
- Gegen DB authentifizieren
- Wie ich Datenbank-Tabellen und -Felder benenne
- Models aus Modulen verwenden
- yiic shell
- Widgets
- Yii Module
- Anonyme Funktionen
- renderPortlets
- Module aus der Datenbank laden
Soweit funktioniert das auch bei mir.
Nur folgendes: Ich habe diese Struktur: administrator/gallery/collection/index
Was muss ich im Collection Controller bei public $layout= angeben, damit das eigene columnxy Layout aus dem Verzeichnis “protected\modules\administrator\views\layouts” angezeigt wird?
das hat in 1.0 funktioniert und wurde wohl minimal geändert.
hier mal rumspielen mit ‘//administrator/columnxy’ oder ‘/administrator/gallery/columnxy’ und so weiter
@admin Mein Fehler. Ich hab natürlich in der eigenen columxy
“beginContent(‘//layouts/main’); ?>”
nicht zu
beginContent(‘/layouts/administrator’); ?>
umgeändert.
Trotzdem danke für die schnelle Antwort!