'admin' => [
'class' => 'app\modules\admin\AdminModule',
'layout' => '@app/modules/admin/views/layouts/admin',
'modules' => [
'articles' => [
'class' => 'app\modules\articles\ArticlesModule',
'controllerNamespace' => 'app\modules\articles\controllers\backend',
'viewPath' => '@app/modules/articles/views/backend',
],
'catalog' => [
'class' => 'app\modules\catalog\CatalogModule',
'controllerNamespace' => 'app\modules\catalog\controllers\backend',
'viewPath' => '@app/modules/catalog/views/backend'
],
public function createAccount()
{
$postData = $_POST['RegistrationModel'];
$this->login = $postData['login'];
$this->password = $postData['password'];
$this->role = $postData['role'];
$this->save();
}
public function actionCreate()
{
$registrationModel = new RegistrationModel();
if( $registrationModel->load( Yii::$app->request->post() ) && $registrationModel->save() ){
Yii::$app->session->getFlash('successRegistration', 'Пользователь успешно создан');
return $this->redirect(['view', 'id' => $registrationModel->id])
}
return $this->render('create', ['registrationModel' => $registrationModel]);
}
$model->username = Yii::$app->user->inedtity->username; // это если у Вас username, если нет - исправьте на своё значение.
user_id добавлялся username
public function actionCreate()
{
$count = count(Yii::$app->request->post('Users', [])); // получаем количество переданных данных.
$users = [new Users()]; // создаём один экземпляр модели, по умолчанию в представлении будет создаваться всегда одно поле.
for(i = 1; $i < $count; $i++){
$users[] = new Users();
}
if(Model::loadMultiple($users, Yii::$app->request->post('Users')) && Model::validateMultiple($users)){
foreach($users as $user){
$user->save(false); // валидировать уже не надо, так как данные проверены Model::validateMultiple()
}
return $this->redirect('куда_надо_сделать_redirect');
}
retun $this->render('create', ['users' => $users]); // передаём в представление массив моделей Users, гарантированно выводится одна модель.
}
foreach($users as $key => $user)
{
echo $form->field($user, "[$key]name")->textInput();
}
$model = new Model();
// ******************
if($model->load(Yii::$app->request->post()) && Model::loadMultiple($users, Yii::$app->request->post('Users')) && Model::validateMultiple($users)){
$model->save();
foreach($users as $user){
$user->save(false); // валидировать уже не надо, так как данные проверены Model::validateMultiple()
}
return $this->redirect('куда_надо_сделать_redirect');
}
a)Запрос все время возвращается ерорсами
как в форме указать что только ajax запрос должен работать
if(Yii::$app->request->isAjax)
{
// обрабатываете данные.
}
И самое главное, как лучше принять данные из формы и обработать?
RewriteCond %{REQUEST_URI} ^/(api)
RewriteRule ^api(/.*)?$ api/web/$1 [L]
'mailer' => function(){
return Yii::createObject([
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => Yii::$app->siteSettings->get('SITE.HOST_MAIL'),
'port' => Yii::$app->siteSettings->get('SITE.HOST_PORT'),
'username' => Yii::$app->siteSettings->get('SITE.HOST_USER'),
'password' => Yii::$app->siteSettings->get('SITE.HOST_PASS'),
//'encryption' => 'ssl'
]
]);
},
ActiveRecord is the base class for classes representing relational data in terms of objects.
Query represents a SELECT SQL statement in a way that is independent of DBMS.
'homeUrl' => '/admin',
//'basePath' => dirname(__DIR__),
'components' => [
'request' => [
// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => 'i4tnG1Lo2lD4dKEDOIzQcG5dhzWtLJ_e',
'baseUrl' => '/admin'
],
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
// ...
]
],
public function actionIndex()
{
if(\Yii::$app->request->isAjax){
print_r(Yii::$app->request->post());
$name = Yii::$app->request->post('name');
return "Спасибо, ваше сообщение принято. {$name}";
}
}
Yii::$app->request->post('name')
'class' => 'yii\grid\CheckboxColumn',
'checkboxOptions' => function(){
return [
'onchange' => '
var keys = $("#grid").yiiGridView("getSelectedRows");
$(this).parent().parent().toggleClass("danger")
'
];
}
$("#delete-select").on("click", function(e){
e.preventDefault()
var keys = $("#grid").yiiGridView("getSelectedRows");
$.ajax({
url: "'. \yii\helpers\Url::toRoute('delete') .'",
type: "POST",
data: {id: keys},
success: function(){
alert("yes")
}
})
});