我是Yii Framework的新手,并创建了一个基于模块的CRM.使用不同的教程我可以创建自己的主题,但现在我被困在一个点上.
在我的主题中,整个应用程序的上部<nav>和左部<nav>保持不变,直到用户登录.这就是为什么我将它作为main.php的一部分,但在登录页面中没有按钮显示,只是简单的登录表单有2个文本字段.
如何使用自定义主题在我的应用程序中实现此表单?
我试图在该特定操作中定义布局但未成功.任何帮助,将不胜感激.
我在Yii有一个日历应用程序,我按用户存储事件.我想动态地为每个事件建立一个标题.
这段代码在我的控制器中:
$criteria = new CDbCriteria;
$criteria->select = array('all_day','end','id','start');
$criteria->condition = 'user_id ='.$user->id;
$events = Calendar::model()->findAll($criteria);
foreach($events as $event) {
$event->title = 'test title';
}
echo CJSON::encode($events);
Run Code Online (Sandbox Code Playgroud)
在我的日历模型中,我添加了一个名为$ title的新属性:
public $title;
Run Code Online (Sandbox Code Playgroud)
但是当我去回应JSON时,标题没有出现......
[{"all_day":false,"end":"-948712553","id":"2","start":"-146154706"}]
Run Code Online (Sandbox Code Playgroud)
要将标题添加到JSON结果集,我需要做什么?
我遇到了导入php文件的问题.
为什么这样有效:
include( Yii::getPathOfAlias( 'ext.payu.payU').'.php' );
Run Code Online (Sandbox Code Playgroud)
但那不是:
Yii::import( 'ext.payu.payU');
Run Code Online (Sandbox Code Playgroud)
?
文件payU.php:
include_once( dirname(__FILE__) . "/sdk/openpayu.php"); //this is a valid path
class payU{ }
Run Code Online (Sandbox Code Playgroud) 我是YII框架(PHP)的初学者当用YII创建一个新站点时,它将显示英文页面.
我想将默认语言更改为法语,因此页面将以法语显示.
我有带有ID的数组,并希望通过id删除它们
$membersId = array('1','2','3');
$inStatement = implode(',', $membersId);
//dont work!
TRatingMembers::model()->deleteAll(array('member_id IN (:member_id)'),
array(':member_id' => $inStatement));
Run Code Online (Sandbox Code Playgroud)
如何用一个事务删除所有行?
我正在尝试安装Yii2 alpha.下载composer并添加后运行以下命令时
"minimum-stability": "dev"
Run Code Online (Sandbox Code Playgroud)
到composer.json.
$ php composer.phar require yiisoft/yii2-framework "*"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误.
问题1 - 在任何版本中都找不到请求的包最小稳定性,包名中可能存在拼写错误.
问题2 - 在任何版本中找不到所请求的包yiisoft/yii2-composer,包名中可能存在拼写错误.
问题3 - 在任何版本中找不到所请求的包yiisoft/yii2-framework,包名中可能有拼写错误.
可能的原因: - 包裹名称中的拼写错误 - 根据您的最低稳定性设置,包裹在稳定版本中不可用,请参阅https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/讨论更多细节.
阅读http://getcomposer.org/doc/articles/troubleshooting.md以了解更多常见问题.
请帮我.
Yii2 ActiveRecord有一种方法可以自动将表单数据加载到模型中load() ,因为它可以安全地使用数据加载模型,但是我无法找到卸载所有属性模型的等效方法.
即是否有一种方法可以取消Yii2中模型的所有属性,就像unSetAttributes()Yii 1.x中的方法一样?
目前,唯一的方法似乎是
$model->setAttributes(['attribute1'=>NULL,'attribute2' => NULL ... ]);
Run Code Online (Sandbox Code Playgroud)
要么
foreach ($model->attributes as $attribute) {
$model->$attribute = NULL;
}
Run Code Online (Sandbox Code Playgroud)
编辑:为了回应Samuel Liew的回答澄清,虽然在这一点上我只是想通过重新启动模型来取消我可以做的所有属性,我还想控制哪些属性被重置,这unSetAttributes提供了
如何在Yii中转储和打印变量以进行调试?我想用var_dump()或print_r().我尝试使用Yii::trace()但它崩溃了这个错误runtime/logs/app.log.它甚至没有告诉我代码中的行失败.
2015-03-18 20:54:11 [::1][-][-][warning][yii\log\Dispatcher::dispatch] Unable to send log via yii\debug\LogTarget: Exception 'Exception' with message 'Serialization of 'SimpleXMLElement' is not allowed'
in /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2-debug/LogTarget.php:58
Stack trace:
#0 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2-debug/LogTarget.php(58): serialize(Array)
#1 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2-debug/LogTarget.php(112): yii\debug\LogTarget->export(Array)
#2 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2/log/Dispatcher.php(183): yii\debug\LogTarget->collect(Array, true)
#3 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2/log/Logger.php(170): yii\log\Dispatcher->dispatch(Array, true)
#4 [internal function]: yii\log\Logger->flush(true)
#5 {main}
Run Code Online (Sandbox Code Playgroud)
参考 http://www.yiiframework.com/doc-2.0/guide-runtime-logging.html
也许存在跳过404异常的解决方案?我不能将这些消息存储在日志文件中吗?
2015/04/09 12:28:52 [error] [exception.CHttpException.404] exception 'CHttpException' with message '?????????? ?????????? ?????? "offer/downloadOffer".' in /var/www/yii/framework/web/CWebApplication.php:286
Stack trace:
#0 /var/www/yii/framework/web/CWebApplication.php(141): CWebApplication->runController('offer/downloadO...')
#1 /var/www/yii/framework/base/CApplication.php(184): CWebApplication->processRequest()
#2 /var/www/LAP/www/index.php(16): CApplication->run()
#3 {main}
REQUEST_URI=/offer/downloadOffer
Run Code Online (Sandbox Code Playgroud) 我添加了一个示例代码,用于向我的Yii2驱动的应用程序显示Bootstrap 3的标注:
<div class="bs-callout bs-callout-info">
<h4>Use protocol</h4>
Avoid links without <code>http://www.</code> or <code>https://www.</code> in the beginning.
</div>
Run Code Online (Sandbox Code Playgroud)
我看不出合适的造型.
我错过了什么 Yii2上的Bootstrap是旧的,没有这些样式?或许我忘了在某处按下魔法按钮?