如何在另一个模块中调用模块?此代码适用于受保护/控制器中的控制器:
$image = Yii::app()->image->save($photofile, 'some_name','uploadedGal');
Run Code Online (Sandbox Code Playgroud)
但在我的其他模块(admin)的控制器中,我得到了这个错误.
Property "CWebApplication.image" is not defined.
Run Code Online (Sandbox Code Playgroud)
我image在主配置文件中定义了模块:
'modules'=>array(
'image'=>array(
'createOnDemand'=>true, // requires apache mod_rewrite enabled
'install'=>true, // allows you to run the installer
),
'admin',
),
Run Code Online (Sandbox Code Playgroud) 应该在控制器上还是在视图中调用createUrl?没关系?或者它确实重要?
我们应遵循规则吗?像扩展ccontroller的方法应该在控制器等上使用..?
我试图为Yii的每个表行分配一个唯一的id CGridView.
最好是$data->id来自数据库表的东西.
我没有成功地id为每个渲染添加属性<tr>.
任何建议都将非常感激.
所以我正在一个页面上学习Yii.就是这样:http://devcave.freeiz.com/
我想要做的是,当我点击登录时,div正在向下滑动,login.php表格应该在那里.问题是如何将其呈现到main.php的div标签中.
我试过$this->renderPartial('//site/login',array('model'=>$model));,但我得到Undefined变量:模型错误.我阅读了理解yii视图渲染流程,但似乎我没有放弃获得重点.
有什么建议吗?
我需要覆盖一些yii核心文件 - 特别是CGridColumn.php和CController.php.我需要确保在我的应用程序中引用这些类,而不是它们覆盖或扩展的核心文件.我该怎么做呢?它必须非常简单,但我似乎找不到记录在案的"正确"方法.
我正在尝试完成每次用户访问某个页面时为会话变量(即数组)添加值的函数.这是我的控制器代码:
public function actionPut($id)
{
$session=new CHttpSession;
$session->open();
if (empty($session['the_variable'])) {
$session['the_variable'] = array($id);
}
else {
$session['the_variable'][] = $id;
}
$session->close();
$this->render('test', array('session'=>$session));
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.如果变量为空,则它仅存储第一次的信息.下次我访问该页面时,它不会为数组增加值.我也试过push_array功能,但没有运气.怎么了?
我正在尝试在Yii中构建自定义扩展,但无法访问自定义配置.
假设我在main.php中有以下内容:
'my_extension'=>array(
'class'=>'ext.my_extension.my_extension'
'custom_config'=>array(
'first_option'=>array(
'active'=>true,
'custom_username'=>'username',
'custom_password'=>'password',
),
),
),
Run Code Online (Sandbox Code Playgroud)
如何访问"有效","custom_username"和"custom_password"?
在我扩展CFormModel的扩展中,我试过:
Yii::app()->my_extension->custom_config['first_option']['custom_username'];
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
Property "my_extension.custom_config" is not defined.
Run Code Online (Sandbox Code Playgroud) 我想更改控制器的默认操作取决于登录的用户.我的网站中有两个用户:发布者和作者,我希望在发布者登录时将发布者操作设置为默认操作,对作者也是如此.
我该怎么办?我何时可以检查我的角色并设置相关的操作?
注意:在SO上还有其他与此相关的问题,但没有一个真正为我解答.我并不担心服务器端,因为有很多方法可以处理保存相关的模型信息(以及如何执行此操作的大量示例).
我需要知道的是:如何在创建父模型时实现视图代码以添加许多子模型?
肯定会出现在本页面上看到的内容:http://www.yiiframework.com/doc/guide/1.1/en/form.table.除了代码处理一堆模型的更新,而不是插入它们.这就是我需要的.
简而言之,我有一个事件表单,用户可以在其中添加许多约会(每个约会都有一天,start_time和end_time).我想使用Yii帮助器在事件表单中呈现约会字段,以便获得验证和其他框架优势.
在创建事件时,用户将能够为同一事件添加多个约会.
我想将数组插入MYSQL数据库,最好使用Yii的活动记录.
例如,我有一个数组:
User = array(
fname => "Joe"
lname => "Schmidt"
)
Run Code Online (Sandbox Code Playgroud)
使用我的数据库中的用户表,列为id,fname和lname.其中一个选项是创建一个对象并执行:
$user = new User;
$user->fname = User['fname'];
$user->lname = User['lname'];
$user->save();
Run Code Online (Sandbox Code Playgroud)
但是,对于这种常见功能而言,这似乎是如此多的代码.有没有办法将数组插入到数据库中,其中数组键与相应的列匹配,而我没有编写自己的函数或执行一些SQL查询hack?理想情况下,它使用已存在的Yii活动记录.