小编Muh*_*zad的帖子

隐藏Yii2 GridView操作按钮

我想在模型字段状态的基础上隐藏Yii2 GridView Action Column按钮.如果status = 1,则仅隐藏视图按钮.我怎么能?

码:

     [  
        'class' => 'yii\grid\ActionColumn',
        'contentOptions' => ['style' => 'width:260px;'],
        'header'=>'Actions',
        'template' => '{view} {delete}',
        'buttons' => [

            //view button
            'view' => function ($url, $model) {
                return Html::a('<span class="fa fa-search"></span>View', $url, [
                            'title' => Yii::t('app', 'View'),
                            'class'=>'btn btn-primary btn-xs',                                  
                ]);
            },
        ],

        'urlCreator' => function ($action, $model, $key, $index) {
            if ($action === 'view') {
                $url ='/jobs/view?id='.$model->jobid;
                return $url;
        }

       ],
Run Code Online (Sandbox Code Playgroud)

yii2

28
推荐指数
5
解决办法
6万
查看次数

yii2在视图中注册js代码

在yii2视图中注册js代码的最佳方法是什么?

1

<?php
    $this->registerJs(
    '$("document").ready(function(){ alert("hi"); });'
    );
  ?>
Run Code Online (Sandbox Code Playgroud)

2

<?php 
     $this->registerJs('alert("hi");', View::POS_READY);
?>
Run Code Online (Sandbox Code Playgroud)

3

<?php 
  $script = "function test() { alert('hi');}";    
  $this->registerJs($script, View::POS_END, 'my-options'); 
?>
Run Code Online (Sandbox Code Playgroud)

yii2

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

Yii2下拉选择值

我想在Yii2下拉列表中显示所选值,

$ _GET价值:

  $id = $_GET["cid"];
Run Code Online (Sandbox Code Playgroud)

下拉代码

  $form->field($model, 'userid')
    ->dropDownList(
          [User::getUser()],
          //[ArrayHelper::map(User::findAll(['active' => '1']), 'id', 'name')],
          ['prompt'=>'Select a user','id'=>'user_dropdown'],    
          ['options' =>
                    [                        
                      $id => ['selected' => true]
                    ]
          ]

        )->label('');           
Run Code Online (Sandbox Code Playgroud)

但这种方法不起作用!

yii2 yii2-advanced-app

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

Yii2主题整合

我已经安装了Yii2高级应用程序,现在我想更改后端主题.我怎样才能做到这一点?有没有我需要告诉Yii2使用我的自定义主题的文件?我确定了我的主题backend/web/themes/mytheme.我刚刚更换了这段代码advanced/backend/config/main.php,但什么都没发生!

 'view' => [
  'theme' => [
       'pathMap' => ['@app/views' => '@app/themes/mytheme'],
       'baseUrl' => '@web/themes/mytheme',
    ],
  ], 
Run Code Online (Sandbox Code Playgroud)

然后我替换了这个代码,common/config/main.php但没有改变!

yii2

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

元素使用JQuery从字符串/变量中查找和删除

我在变量中存储了一些HTML.现在我想从这个变量中删除一些div标签editor_data:

function validate_step_3()
{
    var editor_data = CKEDITOR.instances.editor1.getData(); 
    var i = $(editor_data);
    alert(i);
}
Run Code Online (Sandbox Code Playgroud)

警报显示:

[对象]

我想删除这个div

editor_data.find('#fetch_InCkeditor').remove();
Run Code Online (Sandbox Code Playgroud)

jquery jquery-plugins

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

Yii2 params访问公共目录中的本地配置文件

我正在使用Yii2高级模板,我想params.phpmain-local.php文件中访问,我这样调用:

主local.php:

'mailer' => [
            'class' => 'myClass',
             'apikey' => \Yii::$app->params['mandrill_api_key'],
             'viewPath' => '@common/mail',            
        ],
Run Code Online (Sandbox Code Playgroud)

我把它存放mandrill_api_key在了params.php

params.php:

<?php
return [
    'adminEmail' => 'admin@example.com',
    'supportEmail' => 'support@example.com',
    'user.passwordResetTokenExpire' => 3600,
     'mandrill_api_key' => 'mykey'
];
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

注意:尝试在第25行的C:\ xampp\htdocs\myproject\common\config\main-local.php中获取非对象的属性

我该怎么做才能访问这些参数?

yii2 yii2-advanced-app

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

Google BigQuery 字符串类型替换函数

我正在尝试替换数据中的某些客户名称。我能够使用 Google BigQuery 语言执行 SQL,通过某个特定字符串的替换函数将字符串的一部分转换为另一部分。

Replace(CustomerName, 'ABC', 'XYZ')
Run Code Online (Sandbox Code Playgroud)

但是,我还有更多需要使用替换功能,这样

Replace(CustomerName, 'PLO', 'Rustic')
Replace(CustomerName, 'Kix', 'BowWow')
Run Code Online (Sandbox Code Playgroud)

等等。

我试过做

Replace(CustomerName, 'ABC', 'XYZ') OR Replace(CustomerName, 'PLO', 'Rustic') OR Replace(CustomerName, 'Kix', 'BowWow')

但这给了我一条错误消息。

我也尝试过

Replace(CustomerName, 'ABC', 'XYZ') AND Replace(CustomerName, 'PLO', 'Rustic') AND Replace(CustomerName, 'Kix', 'BowWow')

但这也给我带来了一条错误消息。

我可以只使用“case when 语句”,然后对每个语句进行硬编码,但我想知道是否有更好/更快的方法来只使用替换语句。

感谢您的帮助。

string replace google-bigquery

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

多个API调用:设计模式

我必须调用具有多个API的多个服务.其中很少有人基本上阅读(他们返回一些数据),其中很少有人改变几个对象的状态(他们基本上更新了几个对象的状态).

我正在寻找一个design pattern可以应用于上述场景的.

代码示例

让我们举一个服务A的小例子

AccountInfo A.getAccountInfo() 
void A.setAccountData(AccountInfo) 
AccountStatus A.getStatusForAccount 
Run Code Online (Sandbox Code Playgroud)

...

我想过有一个通用接口

interface CallAPI<Input , Output> {
   public Output execute(Input)
}
Run Code Online (Sandbox Code Playgroud)

每个API调用都会实现这个接口,我可以使用Factory模式来获取API的实例.

我想知道是否有更好的模式,或者它可以以不同的方式重构.API和服务只会增加,应该更容易设置新的API,客户端不应该为新API编写适配器带来额外的开销.

java oop design-patterns

7
推荐指数
1
解决办法
1334
查看次数

如何在Sublime Text编辑器中格式化代码

如何在Sublime Text编辑器中格式化或美化php,html,css,javascript代码?

当我进入Sublime的“编辑”菜单时,没有用于格式化或美化代码的选项!

sublimetext sublimetext3

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

Yii2下拉多个选定值

我使用了Yii2多选下拉列表,它在创建时工作正常,但在更新时没有显示我选择的值!

形成:

       $form->field($model, 'categories[]')            
         ->dropDownList($model->CategoryDropdown,
         [
          'multiple'=>'multiple'
          'class'=>'chosen-select input-md required',              
         ]             
        )->label("Add Categories");    
Run Code Online (Sandbox Code Playgroud)

模型:

public function getCategoryDropdown()
{
        $listCategory   = Category::find()->select('ID,name')
            ->where(['is_subcategory' => 'Yes'])
            ->andWhere(['status' => 'active','approved' => 'active'])
            ->all();
        $list   = ArrayHelper::map( $listCategory,'ID','name');

        return $list;
}
Run Code Online (Sandbox Code Playgroud)

控制器:

 public function actionCreate(){
 ...
     $model->categories = implode(",",$_POST['Company']['categories']);
    ...
    return $this->render('create', [
            'model' => $model,           
        ]);
 }

public function actionUpdate($id)
{
    $model = $this->findModel($id);    

    echo $model->categories; //  1,2,4,5  values already assigned
    ...
    return $this->render('update', [
                'model' => $model,                    
            ]); 
  }
Run Code Online (Sandbox Code Playgroud)

数据库:

1,2,4,5

当我更新我的recored时,如何在下拉列表中显示多个选定的值?

yii2 yii2-model

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