我想在模型字段状态的基础上隐藏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视图中注册js代码的最佳方法是什么?
<?php
$this->registerJs(
'$("document").ready(function(){ alert("hi"); });'
);
?>
Run Code Online (Sandbox Code Playgroud)
<?php
$this->registerJs('alert("hi");', View::POS_READY);
?>
Run Code Online (Sandbox Code Playgroud)
<?php
$script = "function test() { alert('hi');}";
$this->registerJs($script, View::POS_END, 'my-options');
?>
Run Code Online (Sandbox Code Playgroud) 我想在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使用我的自定义主题的文件?我确定了我的主题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但没有改变!
我在变量中存储了一些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) 我正在使用Yii2高级模板,我想params.php在main-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中获取非对象的属性
我该怎么做才能访问这些参数?
我正在尝试替换数据中的某些客户名称。我能够使用 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 语句”,然后对每个语句进行硬编码,但我想知道是否有更好/更快的方法来只使用替换语句。
感谢您的帮助。
我必须调用具有多个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编写适配器带来额外的开销.
如何在Sublime Text编辑器中格式化或美化php,html,css,javascript代码?
当我进入Sublime的“编辑”菜单时,没有用于格式化或美化代码的选项!
我使用了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 ×6
java ×1
jquery ×1
oop ×1
replace ×1
string ×1
sublimetext ×1
sublimetext3 ×1
yii2-model ×1