标签: yii-components

Yii中的组件,扩展和模块有什么区别

我是Yii框架的新手,刚刚遇到受保护文件夹中的模块,扩展组件.

任何人都可以在理论上和实际上区分所有这些.

yii yii-components yii-extensions

28
推荐指数
2
解决办法
8841
查看次数

何时使用组件以及何时在Yii中使用扩展?

我对protected /中的组件和扩展文件夹的目的有点困惑

请澄清.

yii yii-components yii-extensions

23
推荐指数
1
解决办法
5174
查看次数

Yii中模块和扩展之间的差异

我想知道Yii Framework中模块和组件之间的区别.我搜索了这么多,但没有得到任何好结果.所以有人可以帮助我了解这一点.任何帮助和建议都将非常值得一提.

components module yii yii-components yii-extensions

16
推荐指数
1
解决办法
5136
查看次数

在Yii Framework中如何验证电子邮件和电子邮件是否存在或未检查?

如何使用Yii模型验证规则功能代码验证电子邮件.此外,如何使用Yii中的模型验证规则功能检查电子邮件是否存在.

php model yii yii-components yii-extensions

16
推荐指数
4
解决办法
3万
查看次数

Yii用于控制控制器下所有动作的神奇方法

突击队需要你的帮助.

我在Yii有一个控制器:

class PageController extends Controller {
    public function actionSOMETHING_MAGIC($pagename) {
        // Commando will to rendering,etc from here
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要在Yii CController下使用一些神奇的方法来控制/ page ||下的所有子请求 页面控制器.

这是Yii的某种可能吗?

谢谢!

php yii magic-methods yii-components

13
推荐指数
2
解决办法
7768
查看次数

yii2框架消息语言

如您所知,在Yii2中,核心消息以26种语言提供.我想更改yii核心消息语言以我的语言显示验证消息.

我将此行添加到配置文件中:

'language' => 'fa_IR',
Run Code Online (Sandbox Code Playgroud)

并添加了这一行:

'i18n'=>[
            ...
                'yii'=>[
                    'class' => 'yii\i18n\PhpMessageSource',
                    'basePath' => "@vendor/yiisoft/yii2/messages",
                    'sourceLanguage' => 'en_US',
                    'fileMap' => [
                        'yii'=>'yii.php',
                    ]
                ]
            ]
        ],
Run Code Online (Sandbox Code Playgroud)

但核心信息以英文显示.我只想使用Yii2提供的框架消息.例如,在此路径vendor/yiisoft/yii2/messages/fa_IR/yii.php中

这项工作的最佳解决方案是什么?

php yii yii-components yii-extensions yii2

11
推荐指数
1
解决办法
6561
查看次数

获取Yii中的当前控制器ID

我想获取处理当前操作的当前控制器名称.但在我的情况下,我将在我的布局文件中的main.php中查找当前的控制器.

这是我的目录结构的小视图,让您了解我的布局文件在哪里以及我将代码放入搜索控制器名称的文件

  • /保护
  • /主题
    • / mylayout
      • /布局
        • main.php
        • column1.php
        • column2.php
      • /现场
        • 的index.php

这可能吗?我尝试以下代码,但我没有得到我当前的控制器名称...

echo Yii::app()->controller->getId;
echo Yii:app()->getController->id;
echo Yii:app()->controller->uniqueID;
Run Code Online (Sandbox Code Playgroud)

谢谢

php templates yii yii-components

10
推荐指数
3
解决办法
2万
查看次数

如何在Yii Framework上的JQRelcopy中添加CJuiDatePicker

我在Yii框架的JQRelcopy模块中遇到了CJuiDatePicker的问题.

我使用这个模块,因为我有一个带有datepicker字段的表单,可以根据用户的意愿复制多次.

如果我放一个普通字段(没有datepicker),模块工作正常,但是一旦我添加了模块CJuiDatePicker,它也是Yii框架的一个模块,我就会出现一个空白页面.我按照以下教程:http://www.yiiframework.com/extension/jqrelcopy/解释了包含CJuiDatePickerm的表单中的集成jqrelcopy,这正是我需要的.

我研究了这个问题,我发现当我在我的小部件JQRelcopy的属性中使用以下行时,会出现问题:

'jsAfterNewId'=> JQRelcopy :: afterNewIdDatePicker($ datePickerConfig),

$ this-> widget('ext.jqrelcopy.JQRelcopy',array(

  'id' => 'copylink',
  'removeText' => 'remove',

  //add the datapicker functionality to the cloned datepicker with the same options
  'jsAfterNewId' => JQRelcopy::afterNewIdDatePicker($datePickerConfig),
Run Code Online (Sandbox Code Playgroud)

));

我看了几个论坛,一个人遇到了和我一样的问题.

你能帮助我吗?

对不起我的英语不好

yii yii-events yii-components yii-extensions yii1.x

10
推荐指数
1
解决办法
769
查看次数

Yii将过滤器添加到CGridView中的虚拟属性并使其可排序

我有以下型号:

User 列{id,user_name,password,user_type}

Admin 列{id,user_id,full_name,..... etc}

Editor 列{id,user_id,full_name,... etc}

关系是 User:'admin' => array(self::HAS_ONE, 'Admin', 'user_id'),'editor' => array(self::HAS_ONE, 'Editor', 'user_id'),

Admin : 'user' => array(self::BELONGS_TO, 'User', 'user_id'),

Editor : 'user' => array(self::BELONGS_TO, 'User', 'user_id'),

现在我fullNameUserModel中设置了一个虚拟属性,如下所示

public function getFullName()

{

    if($this->user_type=='admin')

        return $this->admin->full_name;

    else if($this->user_type=='editor')

        return $this->editor->full_name;


}
Run Code Online (Sandbox Code Playgroud)

我可以fullName在gridview中显示虚拟属性,但是如何在属性中添加过滤器并使其在gridview中可排序?

UPADTE 1:

我根据@Jon的答案更新了模型search()函数,如下所示

    public function search()
        {


            $criteria=new CDbCriteria;
            $criteria->select=array('*','COALESCE( editor.full_name,admin.first_name, \'\') AS calculatedName');
            $criteria->with=array('editor','admin');
            $criteria->compare('calculatedName',$this->calculatedName,true);
            $criteria->compare('email',$this->email,true);
            $criteria->compare('user_type',$this->user_type);

            return new CActiveDataProvider($this, array(
                'criteria'=>$criteria,


));
    } …
Run Code Online (Sandbox Code Playgroud)

php yii yii-components

9
推荐指数
1
解决办法
8394
查看次数

如何在Yii2中编写全局函数并在任何视图中访问它们(不是自定义方式)

Yii1.1有一个CComponent类,它有一个CBaseController,它是CController的基类.有一个/protected/components/Controller.php类,它允许在任何视图中访问该类中的任何函数.

Yii2不再拥有CComponent类.所述Yii2引导指示"的Yii 2.0断CComponent在1.1类分为两类:YII \基\对象和YII \基地\组件".有没有人知道如何在Yii2和任何视图中编写全局函数,就像在Yii1.1中使用/protected/components/Controller.php一样?

几个类似的主题讨论自定义答案,但我想知道是否有正式的方法,而不是自定义的方式.

php yii-components yii2

9
推荐指数
2
解决办法
1万
查看次数