标签: yii

Yii框架多对多的关系

在Yii框架中保存和更新多对多关系的方法是什么?

php many-to-many has-and-belongs-to-many yii

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

yii框架中的编码标准

是否存在遵循yii框架的任何编码标准,以及指定的位置

php coding-style yii

11
推荐指数
2
解决办法
4868
查看次数

yii php framework"应用程序运行时路径无效".例外

我试图通过执行来制作一个yii项目进行测试

/var/www/html/yii/framework/yiic webapp demo
Run Code Online (Sandbox Code Playgroud)

当我去localhost/demo时,我得到了错误:

Application runtime path "/var/www/html/demo/protected/runtime" is not valid. 
Please make sure it is a directory writable by the Web server process.
Run Code Online (Sandbox Code Playgroud)

起初我以为它确实不可写,所以我做了:

chmod 777 /var/www/html/demo/protected/runtime
Run Code Online (Sandbox Code Playgroud)

没有工作,所以我执行的最后一个想法:

chmod 777 -R /var/www/html/demo/
Run Code Online (Sandbox Code Playgroud)

我仍然得到同样的例外.关于可能出错的任何想法?

- -编辑 - -

FFS这让我疯狂

drwxrwxrwx. 4 apache apache 4096 Jun  5 00:06 commands
drwxrwxrwx. 3 apache apache 4096 Jun  5 00:06 components
drwxrwxrwx. 3 apache apache 4096 Jun  5 00:06 config
drwxrwxrwx. 3 apache apache 4096 Jun  5 00:06 controllers
drwxrwxrwx. 3 apache apache …
Run Code Online (Sandbox Code Playgroud)

php yii

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

保留Yii gridview分页中的复选框值

我有一个gridview,其中包含一个复选框列,并使用分页.当我检查第一页中的一些复选框并导航到第二页并在第二页中检查另一页时,我在第一页中检查的选项不会保留在那里.在分页期间保留复选框值是否可行?

Gridview的代码是

$widget = $this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'     => $model->search(),
    'cssFile'          => Yii::app()->baseUrl . '/media/js/admin/css/admingridview.css',
    //'filter' => $model,
    'ajaxUpdate'       => true,
    'enablePagination' => true,
    'columns'          => array(
        array(
            'name'   => 'id',
            'header' => '#',
            'value'  => '$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)',
        ),
        array(
            'class'          => 'CCheckBoxColumn',
            'selectableRows' => '2',
            'header' => 'Selected',
        ),
        array(
            'name'   => 'fb_user_id',
            'header' => 'FaceBook Id',
            'value'  => 'CHtml::encode($data->fb_user_id)',
        ),
        array(
            'name'   => 'first_name',
            'header' => 'Name',
            'value'  => 'CHtml::encode($data->first_name)',
        ),
        array(
            'name'   => 'email_id',
            'header' …
Run Code Online (Sandbox Code Playgroud)

php ajax pagination yii

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

如何禁用cgridview视图按钮或将可见性设置为false

有些好友请建议如何禁用cgridview小部件上的查看按钮以及如何添加更多按钮,如活动..

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'customer-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
       'id',
       'first_name',
           'last_name',
       'club.club_name',
       array(
         'class' => 'CButtonColumn',
                     'updateButtonUrl' =>'Yii::app()->createUrl("/customer/editmember1",array("id" => $data->primaryKey))',
                     'updateButtonImageUrl'=>Yii::app()->request->baseUrl.'/images/edit.jpg',
                     'deleteButtonUrl' =>'Yii::app()->createUrl("/customer/delete",array("id" => $data->primaryKey))',
                     'deleteButtonImageUrl'=>Yii::app()->request->baseUrl.'/images/delete.jpg', 
                     'viewButton' => array('visiable' => false), 
            ),

              ),   
               )); 
Run Code Online (Sandbox Code Playgroud)

gridview visible yii cgridview cbuttoncolumn

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

YII如何处理自定义404错误页面以及其他错误页面

我想显示404错误页面,因为我在protected/view/system文件夹中创建了error404.php文件.

默认情况下,我有Sitecontroller,它包含错误动作功能,如下所示

public function actionError()
{
    if($error=Yii::app()->errorHandler->error)
    {

        if(Yii::app()->request->isAjaxRequest)
            echo $error['message'];
        else
            $this->render('error', $error);
    }
}
Run Code Online (Sandbox Code Playgroud)

在主配置文件中,它被定义为

    'errorHandler'=>array(
        // use 'site/error' action to display errors
        'errorAction'=>'site/error',
    ),
Run Code Online (Sandbox Code Playgroud)

我的问题是我只需要自定义404页面,其余的错误我需要处理它由sitecontroller的错误函数处理的方式.但我找不到办法做到这一点.如果我想删除'errorAction'=>'site/error',那么它会通过调用显示404错误

        throw new CHttpException(404, 'Page not found');
Run Code Online (Sandbox Code Playgroud)

但这样做我只能看到没有布局的页面,其他自定义错误被视为404,而不是.我多次阅读手册,但我仍然无法解决它.

php yii http-status-code-404

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

如何在Yii CMenu标签中添加原始HTML

我使用CMenu小部件创建了一个类似Twitter Bootstrap导航栏的菜单:

<?php 
    $this->widget( 'zii.widgets.CMenu', array(
    'items' => array(
        array(
            'label' => 'Home', 
            'url' => array( '/site/index' ), 
        ),
        array( 
            'label' => 'Dropdown <b class="caret"></b>', 
            'url' => '#',
            'submenuOptions' => array( 'class' => 'dropdown-menu' ),
            'items' => array( 
                array( 
                    'label' => 'Submenu Item 1', 
                    'url' => array( '/user/create' ), 
                ),
                array( 
                    'label' => 'Submenu Item 1', 
                    'url' => array( '/user/list' ), 
                ),
            ),
            'itemOptions' => array( 'class' => 'dropdown' ),
            'linkOptions' => array( 'class' => 'dropdown-toggle', 'data-toggle' => 'dropdown' ), …
Run Code Online (Sandbox Code Playgroud)

html yii cmenu

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

如何在Yii2中仅显示ActiveField的标签和错误

请告诉我,如何在Yii2中仅显示ActiveField的字段标签和错误?我正在使用Redactor,我不仅要显示textarea,还要显示错误和标签.谢谢.

代码示例如下.

<?php $form = ActiveForm::begin(); ?>

    <?php echo $form->errorSummary($model); ?>

    <?= $form->field($model, 'title')->textInput(['maxlength' => 255]) ?>

    <?php
    echo yii\imperavi\Widget::widget(
        [
            'model' => $model,
            'attribute' => 'text',
            'options' => [],
        ]
    );
    ?>
    <br />
    <div class="form-group">
        <?= Html::submitButton(
            $model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'),
            ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']
        ) ?>
    </div>

    <?php ActiveForm::end(); ?>
Run Code Online (Sandbox Code Playgroud)

php yii yii2

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

如何在Yii2和DbManager中获得specefic角色的用户?

如何在RBAC中的Yii2和DbManager中获得specefic角色的用户?

请介绍一些用于用户管理和角色管理的API.

我搜索并阅读了Yii2指南,但我没有找到任何解决方案.

php rbac yii yii2

11
推荐指数
3
解决办法
6601
查看次数

Yii1:Yii2中的Controller :: beforeRender

我正在将在Yii1中开发的旧应用程序迁移到Yii2.

我以前在控制器中有一个数组,它存储了我需要作为JavaScript发送到前端的所有变量:

public $jsVars;
public function toJSObject($params){
    $this->jsVars = array_merge($this->jsVars, $params);
}

private function printJSVarsObject(){
  //convert my php array into a js json object
}
Run Code Online (Sandbox Code Playgroud)

当我需要在Javascript中公开变量时,我只想在View或Controller中使用$ this-> toJSObject.

然后,在控制器中我也曾经有过:

public function beforeRender($view){
  $this->printJSVarsObject();
}
Run Code Online (Sandbox Code Playgroud)

在Yii2中,我必须使用自定义视图配置View组件,然后附加事件:

namespace app\classes;

use yii\base\Event;
use yii\helpers\Json;

Event::on(\yii\web\View::className(), \yii\web\View::EVENT_END_BODY, function($event) {
    $event->sender->registerJSVars();
});

class View extends \yii\web\View {
    public $jsVars = [];

    public function addJsParam($param){
        $this->jsVars = array_merge($this->jsVars, $param);
    }

    public function registerJSVars() {
        $this->registerJs(
            "var AppOptions= " . Json::htmlEncode($this->jsVars) . ";",
            View::POS_END,
            'acn_options'
        );
    } …
Run Code Online (Sandbox Code Playgroud)

php yii yii2

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