Динамически изменить настройки модуля

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
assd18
Сообщения: 69
Зарегистрирован: 2013.01.11, 16:11

Re: Динамически изменить настройки модуля

Сообщение assd18 »

Спасибо за идею, так все заработало

Экшн главного контроллера

Код: Выделить всё

$lazyloading = Yii::$app->getModule('lazyloading');
$lazyloading->modelNamespace = '\common\models\Posts';
return $lazyloading->runAction('lazyloading/test');
 

В контроллере модуля

Код: Выделить всё

public function actions() {
        return [
            'test' => [
                'class' => 'denar90\lazyloading\components\HelloWorldAction',
                'property1' => $this->module->modelNamespace // значение \common\models\Posts
            ]
        ];
    }
 
Сам экшн

Код: Выделить всё

<?php
namespace denar90\lazyloading\components;

use yii\base\Action;

class HelloWorldAction extends Action {

    public $property1;

    public function run()
    {
        print_r($this->property1); die(); // \common\models\Posts
        return "Hello World";
    }
}
 
Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Динамически изменить настройки модуля

Сообщение Insolita »

а собственно сам модуль зачем...что в нем такого - другие настройки тоже параметрами в акшн передавать можно

Код: Выделить всё

public function actions() {
        return [
            'test' => [
                'class' => 'denar90\lazyloading\components\HelloWorldAction',
                'property1' =>'\common\models\Posts',
                'otherproperty'=>'bla-bla-bla'
            ]
        ];
    }

Код: Выделить всё

class HelloWorldAction extends Action {

    public $property1;
    public $property2;
    public $otherproperty;

    public function run()
    {
        $modelClass=$this->property1;
        $model= $modelClass::className(); 
        print_r($model->getAttributes()); die();  
        return "Hello World";
    }
}
assd18
Сообщения: 69
Зарегистрирован: 2013.01.11, 16:11

Re: Динамически изменить настройки модуля

Сообщение assd18 »

Ваша правда. Согласен на 100%.
Ответить