Yii - gewusst wie: abrufen von Modell-Daten in ein layout-Seite?

Möchte ich zur Liste einige der Kategorien, Namen auf meinem layout main.php Seite.
Da das layout muss nicht alle zugehörigen controller oder Modell, ich möchte erstellen Sie eine statische Methode, wie dieses Modell Kategorie:

public static function getHeaderModels()
{
   //get all models here
   return $models;
}

und dann in das Haupt-layout

<?php
$models = Category::getHeaderModels();
foreach($models as $model)
{
   //....
}
?>

Meine Frage ist eine ganz einfache:
Wie kann ich abrufen dieser Kategorie-Namen, die aus dem Modell ?

Hier ist das vollständige Modell:

class Category extends CActiveRecord {


    public static function model($className=__CLASS__) {
        return parent::model($className);
    }

    public function tableName() {
        return 'category';
    }

    public function rules() {
        return array(
            array('parent_id', 'numerical', 'integerOnly' => true),
            array('name', 'length', 'max' => 255),
            array('id, parent_id, name', 'safe', 'on' => 'search'),
        );
    }

    public function relations() {
        return array(
            'users' => array(self::MANY_MANY, 'User', 'categories(category_id, user_id)'),
        );
    }

    public function scopes()
    {
        return array(
            'toplevel'=>array(
                'condition' => 'parent_id IS NULL'
            ),
        );
    }

    public function attributeLabels() {
        $id = Yii::t('trans', 'ID');
        $parentId = Yii::t('trans', 'Parent');
        $name = Yii::t('trans', 'Name');

        return array(
            'id' => $id,
            'parent_id' => $parentId,
            'name' => $name,
        );
    }

    public function search() {
        $criteria = new CDbCriteria;
        $criteria->compare('id', $this->id);
        $criteria->compare('parent_id', $this->parent_id);
        $criteria->compare('name', $this->name, true);

        return new CActiveDataProvider(get_class($this), array(
                'criteria' => $criteria,
            ));
    }


        public static function getHeaderModels() {

            //what sintax should I use to retrieve the models here ?

            return $models;

        }
InformationsquelleAutor MEM | 2011-12-08
Schreibe einen Kommentar