<?= Html::a('1', ['index', 'columns' => 1], ['class' => 'btn btn-success']) ?>
<?= Html::a('2', ['index', 'columns' => 2], ['class' => 'btn btn-success']) ?>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => $columns
]); ?>
public function actionIndex()
{
if(Yii::$app->request->get('columns') == 1){
$searchModel = new AutobazaAddressSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$columns = [
'id',
'client',
'firma'
];
}
else{
$searchModel = new CarControlSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$columns = [
'id',
'mark',
'model'
];
}
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
'columns' => $columns
]);
}
'sort' => [
'defaultOrder' => [
'id' => SORT_DESC,
'name' => SORT_DESC
]
],
public function getSemilarProducts()
{
if(($models = Products::find()->where(['in', 'id_genre', [1,4,5])->andWhere(['in', 'id_tags', [2,6,5])->limit(5)->all()) !== null){
return $models;
}
else{
throw new NotFoundHttpException('The requested page does not exist.');
}
}
$url = Utl::toRoute(// путь к Вашему контролеру/действию.);
$this->registerJs(
"
$('.month').click(function() {
var date = $(this).text();
$.ajax({
url: '".$url."',
date: date,
method: 'post',
dataType: 'json',
success: function () {
alert('success');
},
error: function (response) {
console.log(response);
}
})
});
", yii\web\View::POS_END)
Html::a('Link', $url, ['data' => ['ajaxurl' => Url::toRoute(// путь к контролеру/действию)]])
$('a').on('click', function(){
var url = $(this).attr('data-ajaxurl')
$.ajax({
url: url
})
})
public function actionIndex()
{
if(Yii::$app->request->isAjax){
if(Yii::$app->request->post('myParam') == 1){
$param = 'Ответ сервера - ' . Yii::$app->request->post('myParam');
}
else{
$param = 'Ответ сервера - ' . Yii::$app->request->post('myParam');
}
return $this->asJson($param);
}
return $this->render('index');
}
<?php
$form = ActiveForm::begin([
'id' => 'form1',
'action' => Url::to(['images/index']),
'options' => [
'data-pjax' => 'pjax1'
]
]);
echo Html::submitButton('Добавить', ['data' => ['param' => 1]]);
echo Html::hiddenInput('myParam', false);
echo Html::submitButton('Заменить', ['data' => ['param' => 0]]);
ActiveForm::end();
?>
<div id="result"></div>
<?php
$this->registerJs("
$('button').on('click', function(e){
e.preventDefault();
var url = $(this).closest('form').attr('action');
var param = $(this).attr('data-param')
$.ajax({
url: url,
type: 'POST',
data: {myParam: param},
success: function(data){
$('#result').text(data)
}
})
})
")
?>
[
'class' => 'yii\grid\ActionColumn',
'buttons' => [
'view' => function($url, $model, $key){
return Html::a('view',$url . '/car/' . $model->username ); // в общем подставьте свои параметры.
},
'update' => function($url, $model, $key){
// your code
},
'delete' => function($url, $model, $key){
// your code
}
]
]
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {update} {delete} {customButton}',
'buttons' => [
'view' => function($url, $model, $key){
return Html::a('view',$url . '/car/' . $model->username ); // в общем подставьте свои параметры.
},
'update' => function($url, $model, $key){
// your code
},
'delete' => function($url, $model, $key){
// your code
},
'customButton' => function($url, $model, $key){
return Html::a('CustomButton', ['/site/index']); // параметры, конечно же, подставьте свои.
}
]
]
'view' => function($url, $model, $key) use ($your_param){
return Html::a('view',$url . '/car/' . $your_param ); // в общем подставьте свои параметры.
},
'car' => 'base/index' // укажите своё действие вместо index
Menu::widget([
'items' => $items
])
'filterModel' => $searchModel
для всей таблицы.[
'attribute' => 'id_portfolio',
'headerOptions' => ['class' => 'col-md-1'],
'format' => 'text',
'filter' => Portpholio::getAllPortfolio(),
'value' => 'portfolio.title'
],
public static function getAllPortfolio()
{
return ArrayHelper::map(self::find()->orderBy(['name' => SORT_ASC])->all(), 'id', 'name');
}
public $id_portfolio;
$query = Order::find()->with('portfolio');
$query->andFilterWhere('{{%portfolio}}.id' => $this->id_portfolio);
RewriteBase /
RewriteCond %{HTTP_HOST} site\.ru$
RewriteRule ^robots.txt/$ site_robots/robots.txt [L]
RewriteCond %{HTTP_HOST} site2\.ru$
RewriteRule ^robots.txt/$ site2_robots/robots.txt [L]
const STATUS_LIVE = 0;
const STATUS_ERROR = 1;
/* и так далее */
public function rules()
{
return [
['status', 'integer'],
['status', 'default', 'value' => self::STATUS_LIVE],
['status', 'in', 'range' => array_keys(self::getStatusesArray())],
];
}
/* метод использовать при выводе статуса в view.php*/
public function getStatusName()
{
return ArrayHelper::getValue(self::statusesArray(), $this->status);
}
public static function getStatusesArray()
{
return [
self::STATUS_LIVE => 'Live',
self::STATUS_ERROR => 'Error',
/* и так далее */
];
}
'filter' => YOUR_MODEL_NAME::getStatusesArray()
$form->field($model, 'status')->dropDownListYOUR_MODEL_NAME::getStatusesArray(), ['prompt' => 'Select'])
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} site.ru$
Rewriterule ^robots.txt$ web/robots.txt [L]