【问题标题】:Yii : How to change widget folderYii:如何更改小部件文件夹
【发布时间】:2014-09-02 02:32:59
【问题描述】:

当我使用 $this->widget('someWidget',array() } 时,我需要将其放入/protected/components 文件夹中。

如果我想在/protected/anotherFolder 中添加一些小部件怎么办?

我可以设置一些东西让 $this->widget() 函数找到另一个文件夹而不更改 $this->widget() 中的参数吗?

【问题讨论】:

    标签: php yii


    【解决方案1】:

    如果你想把它放在另一个文件夹中,那么你必须给它完整的路径才能像在控制器中一样使用它:

     $this->widget('application.anotherFolder.someWidgetFolder.someWidgetClass' , $params);
    

    或者你可以在 config/main 中创建一个别名

    Yii::setPathOfAlias('anotherFolder', dirname(__FILE__) . '/../anotherFolder/someWidgetFolder');
    

    让它变得像

     $this->widget('anotherFolder.someWidgetClass' , $params);    
    

    【讨论】:

    • 这正是我讨厌的。
    • 哇!这很有意义!我选择了你!我的意思是,你的答案。
    • lol @ArekŻelechowski 回答同样的问题,但我很欣赏例子。
    • 我认为,我的解决方案更好,因为您不必在配置文件中将数组与函数调用混合在一起。
    【解决方案2】:

    你可以在配置中这样做:

    return array(
        'aliases' => array(
                'bootstrap' => 'ext.bootstrap',
            ),
    );
    

    【讨论】:

      猜你喜欢
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      • 2013-04-27
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多