Home > Yii > Ein Modul als Admin Backend

Ein Modul als Admin Backend

>>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:

  1. yiiframework – Guidelines for good schema design
  2. CButtonColumn erweitern
  3. Parameterized Named Scopes
  4. CGridColumn
  5. Ein Anrede-Behavior
  6. CGridView
  7. Gegen DB authentifizieren
  8. Wie ich Datenbank-Tabellen und -Felder benenne
  9. Models aus Modulen verwenden
  10. yiic shell
  11. Widgets
  12. Yii Module
  13. Anonyme Funktionen
  14. renderPortlets
  15. Module aus der Datenbank laden
Author: Categories: Yii Tags: , ,
  1. mpo
    25. April 2012, 19:34 | #1

    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?

  2. admin
    25. April 2012, 20:06 | #2

    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

  3. mpo
    25. April 2012, 21:19 | #3

    @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!

  1. Bisher keine Trackbacks