标签: yii

在Yii中使用资产的正确方法是什么?

我注意到Yii在assets目录中创建了一组奇怪的目录(名称如8523d23或10s89b92),这甚至发生在运行时.例如,我的一个表获得了超过10条记录,分页被踢了,我在名为pager.css的assets子目录中获得了一个新文件.

当我将我的网站从测试移动到生产时,我应该复制所有这些,还是只创建一个空的"assets"目录,它将在运行时填充?

如果我想添加一些新的jQuery插件,我该怎么办?

例如,我想添加jquery.charcounter.js,我将它复制到资产还是yii/framework/web/js/source?如果我做后者,我如何获得HTML页面输出中包含的.js文件?

php assets jquery-plugins yii

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

如何将变量传递给布局?

我知道如何将变量从控制器传递到视图中:

$this->render('view_name', array('variable_name'=>'variable_value'));
Run Code Online (Sandbox Code Playgroud)

但是我想把一些变量传递给布局.控制器和布局之间的唯一连接似乎是控制器类中的public $ layout属性,如下所示:

public $layout='//layouts/column2';
Run Code Online (Sandbox Code Playgroud)

但是,我没有看到将变量传递给它的方法?

php yii

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

Yii findByAttributes()具有大于属性.

我一直在使用Yii一段时间,当我想从数据库中提取数据时,我通常只使用findByAttributes.

$model=Auction::model()->findAllByAttributes(array('status'=>'1'));
Run Code Online (Sandbox Code Playgroud)

或类似的规定.

我的问题是,我将如何处理大于类型的情况?我试过了

$model=Auction::model()->findAllByAttributes(array('starttime'>=$date));
Run Code Online (Sandbox Code Playgroud)

其中日期已分配当前日期/时间设置,但这会导致错误.所以我的问题是我需要使用条件和/或参数吗?我应该在模型中使用Criteria或CActiveDataProvider这样的东西吗?

我希望有人指出我正确的方向.我总是通过使用findAll()来获得,但我知道他们是更好的方法.关于什么以及何时使用属性,条件,参数等的一般信息也很好.

我已阅读Yii文档并搜索了大量网站以获取这些问题的答案,我找不到它.

php attributes params yii conditional-statements

12
推荐指数
2
解决办法
4万
查看次数

如何在Yii中获取没有参数的当前URL?

我正在使用Yii.
如果我的网址是http://localhost/evengee/event/page/id/2/sfn+master/?tab=3 我的真实网址(文件路径)只是http://localhost/evengee
我将如何获得,最好是在视图中:

  1. 完整的网址 http://localhost/evengee/event/page/id/2/sfn+master/?tab=3
  2. 没有显式参数的url http://localhost/evengee/event/page/id/2/sfn+master/

我知道我可以拆分/爆炸str_replace吗?并使用$ _SERVER.宁愿使用Yii本机方法.

php url url-routing yii

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

yii中的findAll()

EmailArchive表:

id email_id to from
1  101      uk  msm
2  102      uu  avc
3  101      rk  uk
4  103      xyz abc
5  104      xyz poi
6  104      abc xyz
7  101      xyz abc
Run Code Online (Sandbox Code Playgroud)

现在在Yii我想要记录,其中email_id = 101我正在使用下面的代码,但它不起作用.

$id =101;
$criteria = new CDbCriteria();
$criteria->addCondition("email_id < :email_id");
$comments = EmailArchive::model()->findAll($criteria, array(':email_id' => $id,));
Run Code Online (Sandbox Code Playgroud)

php yii yii-cactiverecord

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

我们可以在yii中指定默认控制器和操作

我在yii中创建了一个项目,我的默认控制器指向站点控制器.我想用其他一些来改变它,我可以在yii中指定默认控制器和动作.

php yii

12
推荐指数
1
解决办法
8542
查看次数

有没有办法迫使Yii在每个请求上重新加载模块资产?

我的网站分为单独的模块.每个模块都有自己的特定css或js文件/protected/modules/my_module/assets/cssjsjs文件.当我第一次使用使用我的资产的页面时,Yiis资产管理器创建文件夹.不幸的是,如果我在我的文件中更改某些内容 - Yii不会重新加载我的css或js文件.我必须手动删除/projects/assets文件夹.在开发应用程序时,这真的很烦人.

有没有办法迫使Yii每次请求重新加载资产?

php assets refresh reload yii

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

如何检查YII应用程序是从控制台还是从浏览器运行?

我是YII框架的新手,我想知道是否有办法知道/检查你是从控制台还是在浏览器中运行?

谢谢!

yii

12
推荐指数
3
解决办法
9037
查看次数

在Yii2中的其他地方渲染视图 - 没有renderPartial?

我需要在自定义组件文件中呈现局部视图Yii2,根据Yii文档,您可以通过以下方式访问视图实例:

\Yii::$app->view->renderFile('@app/views/site/license.php');
Run Code Online (Sandbox Code Playgroud)

我继续尝试:

Yii::$app->view->renderPartial('//my/view/');
Run Code Online (Sandbox Code Playgroud)

...但是我得到了一个错误,我试图访问一个不存在的方法.

然后我检查了视图类并注意到它没有renderPartial,这是控制器类的方法.

我看到它有renderFile方法和render方法; 我应该使用以下哪些?

文档没有说明render方法包含的布局就像控制器类中的同名方法一样,所以我不确定; 对于renderFile,我不是100%确定是否合适?

有人可以解释哪种方法会产生相同的结果renderPartial吗?

php yii yii2

12
推荐指数
1
解决办法
3万
查看次数

Yii2中事件的真实示例

我从yii2 doc中了解了一些事件.

我知道它是如何工作的,但我不知道在哪里使用它以及如何在我的开发中使用它.有一个发送电子邮件通知的例子,但我想要一个明确的例子,清楚这个想法在哪里使用以及如何使用它.

我的代码在我写的模型下面

const EVENT_NEW_USER = 'new-user';
public function sendMailto($event){
    $this->sendMail(arguments);
   // you code 
}  
Run Code Online (Sandbox Code Playgroud)

在控制器中:

use yii\base\Component;
use yii\base\Event;

public function someaction (){
    $model->on(SignUpForm::EVENT_NEW_USER, [$model,'sendMailto'],['auth'=>$model_auth,'user_details'=>$user_details]);
    $model->trigger(SignUpForm::EVENT_NEW_USER); 
}
Run Code Online (Sandbox Code Playgroud)

php yii yii2

12
推荐指数
1
解决办法
3844
查看次数