Options +SymlinksIfOwnerMatch
IndexIgnore */*
RewriteEngine On
# Если запрос начинается с /admin, то заменяем на /backend/web/
RewriteCond %{REQUEST_URI} ^/admin
RewriteRule ^admin\/?(.*) /backend/web/$1
RewriteCond %{REQUEST_URI} !^/(frontend/web|backend/web|admin)
RewriteRule (.*) /frontend/web/$1
# Если frontend запрос
RewriteCond %{REQUEST_URI} ^/frontend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /frontend/web/index.php
# Если backend запрос
RewriteCond %{REQUEST_URI} ^/backend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /backend/web/index.php
public function getPlaceHolder(){
if($this->placeHolderPath){
return new PlaceHolder();
}else{
return null;
}
}
You can specify date and time formats using the ICU syntax. You can also use the PHP date() syntax with a prefix php: to differentiate it from ICU syntax.
$fullarray = [.....]; //Массив с данными
$fields = ['product_id','name','group_id','manufacturer','fullname','code'];
$db = Yii::$app->db;
$sql = $db->queryBuilder->batchInsert(self::tableName(), $fields, $fullarray);
$product_insert_count = $db->createCommand($sql . ' ON DUPLICATE KEY UPDATE name = VALUES(name), group_id = VALUES(group_id), manufacturer = VALUES(manufacturer), fullname = VALUES(fullname), code = VALUES(code)')->execute();
class NavWidget extends Widget
{
public $items = [];
/**
* Renders the menu.
*/
public function run()
{
$items = $this->items;
if (!empty($items)) {
echo Html::tag('ul', $this->renderItems($items));
}
}
protected function renderItems($items)
{
$lines = [];
foreach ($items as $item) {
$menu = $this->renderItem($item);
if (!empty($item['items'])) {
$menu .= Html::tag('ul', $this->renderItems($item['items']));
}
$lines[] = Html::tag('li', $menu);
}
return implode("\n", $lines);
}
protected function renderItem($item)
{
$link = 'Тут собранная ссылка';
return $link;
}
}
$db = Yii::$app->db;
$sql = $db->queryBuilder->batchInsert(self::tableName(), $fields, $fullarray);
$product_insert_count = $db->createCommand($sql . ' ON DUPLICATE KEY UPDATE name = VALUES(name), group_id = VALUES(group_id), manufacturer = VALUES(manufacturer), fullname = VALUES(fullname), code = VALUES(code)')->execute(); //Возвращает количество вставленных записей
<?php $form = ActiveForm::begin([
'id' => 'get_users', //Добавляем ID для отслеживания в JS
'action' => \yii\helpers\Url::to(['ВАШ ЭКШН']) //Добавляем адрес, к которому пойдет запрос, если он отличается от текущего местоположения
]); ?>
<?= $form->field($model, 'field1')->dropDownList(\yii\helpers\ArrayHelper::map(User::find()->all(), 'id', 'username')); ?>
<?= Html::submitButton('Пробуем', ['class' => 'btn btn-info', 'id'=>'get_users_submit']); ?>
<?php ActiveForm::end(); ?>
<div id="rendered_user"></div>
public function actionYouraction()
{
$request = Yii::$app->request;
if($request->isAjax){
Yii::$app->response->format = Response::FORMAT_JSON; //Если запрос аяксовый,то отвечаем JSON-ом
//Тут разбираете полученный запрос, пишете нужную логику, подтягиваете модель пользователя
return ['content'=>$this->renderAjax('_userdata', [ 'model' => $model])]; //Возвращаем JSON-массив в виде вьюшки, которой передаем модель пользователя или любые другие нужные данные
}
}
$(document).on('click' , '#get_users_submit' , function(e) {
e.preventDefault();
var target= $('#rendered_user'), //В этот блок выводим полученные данные
form = $('#get_users'), //Выбираем нашу форму
url = form.attr('action'), //Узнаем url для отправки
data = form.serializeArray(); //Сериализуем форму
$.ajax({
url: url,
method: 'POST',
data: data,
error: function (response) {
//Если ошибка запроса, то что-то делаем
},
success: function (response) {
//Если запрос прошел, то что-то делаем
//Контроллер вернет данные в переменную response, разберите её, выведите что нужно
console.log(response);
target.html(response.content);
},
});
});