@yii2ru

Страница 1478 из 1721
Константин
12.07.2018
17:45:54
Все

Профит

Nuriddin
12.07.2018
17:47:17
Просто в форме авторизации я получаю логин и пароль, и если такого пользователя нет, то я перебрасывает на регистрацию
Это же не правильно. Если юзер ошибься на логине нельзя же и его кидать на регистрацию

Google
Константин
12.07.2018
17:48:35
По идее он вводит с помощью маски мобильный телефон

Там будет сложно ошибиться

Nuriddin
12.07.2018
17:50:05
Там будет сложно ошибиться
Все равно есть вероятность

Константин
12.07.2018
17:50:06
Но я все равно раскидаю по экшенам нормально

Просто сейчас для тестов удобно что меня перекидывает с формы на форму

Konstantin
12.07.2018
19:56:43
docker run -it --name nginx -d richarvey/nginx-php-fpm -v /home/konstantin/Документы/docker:/var/www/html чо не так то?

Exited (0) 8 seconds ago

блеаа местами поменять

полчаса искал в инете уже отчаился понять

Mikhail
12.07.2018
21:23:32
юзай docker-compose и будет проще)

Nuriddin
13.07.2018
05:26:25
Привет есть вопрос

как работает load фукция, проковырял но не очень понял

Google
Nuriddin
13.07.2018
05:27:28
проблема такая:

$form = new ProductForm(); if ($form->load(Yii::$app->request->post())) { try { var_dump(Yii::$app->request->post()); здесь все данные приходит var_dump($form); здесь все аттрибуты null

как понять это

Где проблема

Nuriddin
13.07.2018
05:41:29
object(backend\models\ProductForm)#217 (23) { ["company_id"]=> NULL ["brand_id"]=> NULL ["user_id"]=> NULL ["name_uz"]=> NULL ["name_ru"]=> NULL ["price_old"]=> NULL ["price_new"]=> NULL ["currency_id"]=> NULL ["total_count"]=> NULL ["min_count"]=> NULL ["additional"]=> NULL ["slug"]=> NULL ["meta"]=> object(backend\models\MetaForm)#218 (9) { ["title"]=> NULL ["description"]=> NULL ["keywords"]=> NULL ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["photos"]=> object(backend\models\ProductPhotosForm)#220 (7) { ["files"]=> NULL ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["categories"]=> object(backend\models\ProductCategoriesForm)#219 (8) { ["main"]=> NULL ["others"]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["options"]=> NULL ["tags"]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> object(ArrayObject)#222 (1) { ["storage":"ArrayObject":private]=> array(0) { } } ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL }

Сардор
13.07.2018
05:45:20
object(backend\models\ProductForm)#217 (23) { ["company_id"]=> NULL ["brand_id"]=> NULL ["user_id"]=> NULL ["name_uz"]=> NULL ["name_ru"]=> NULL ["price_old"]=> NULL ["price_new"]=> NULL ["currency_id"]=> NULL ["total_count"]=> NULL ["min_count"]=> NULL ["additional"]=> NULL ["slug"]=> NULL ["meta"]=> object(backend\models\MetaForm)#218 (9) { ["title"]=> NULL ["description"]=> NULL ["keywords"]=> NULL ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["photos"]=> object(backend\models\ProductPhotosForm)#220 (7) { ["files"]=> NULL ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["categories"]=> object(backend\models\ProductCategoriesForm)#219 (8) { ["main"]=> NULL ["others"]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["options"]=> NULL ["tags"]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> object(ArrayObject)#222 (1) { ["storage":"ArrayObject":private]=> array(0) { } } ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL }
это точно пост? мне кажется это твой ProductForm

Nuriddin
13.07.2018
05:45:52
array(5) { ["_csrf"]=> string(88) "cZwC5dtde49qUg_8VRTVhlLE-_7ALLK1XWs946SufyMfzljXnGop0AQGXbADToHFPJe5tIcV-cMCLU3R_Ok9ag==" ["ProductForm"]=> array(12) { ["name_uz"]=> string(3) "son" ["name_ru"]=> string(7) "сон " ["brand_id"]=> string(1) "2" ["slug"]=> string(4) "test" ["user_id"]=> string(1) "6" ["additional"]=> string(13) " test " ["price_old"]=> string(3) "123" ["price_new"]=> string(3) "123" ["currency_id"]=> string(1) "1" ["total_count"]=> string(3) "132" ["min_count"]=> string(1) "1" ["tags"]=> array(2) { [0]=> string(1) "s" [1]=> string(3) "sfa" } } ["ProductCategoriesForm"]=> array(2) { ["main"]=> string(1) "2" ["others"]=> string(0) "" } ["MetaForm"]=> array(3) { ["title"]=> string(4) "test" ["description"]=> string(4) "test" ["keywords"]=> string(4) "test" } ["ProductPhotosForm"]=> array(1) { ["files"]=> array(1) { [0]=> string(0) "" } } }

object(backend\models\ProductForm)#217 (23) { ["company_id"]=> NULL ["brand_id"]=> NULL ["user_id"]=> NULL ["name_uz"]=> NULL ["name_ru"]=> NULL ["price_old"]=> NULL ["price_new"]=> NULL ["currency_id"]=> NULL ["total_count"]=> NULL ["min_count"]=> NULL ["additional"]=> NULL ["slug"]=> NULL ["meta"]=> object(backend\models\MetaForm)#218 (9) { ["title"]=> NULL ["description"]=> NULL ["keywords"]=> NULL ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["photos"]=> object(backend\models\ProductPhotosForm)#220 (7) { ["files"]=> NULL ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["categories"]=> object(backend\models\ProductCategoriesForm)#219 (8) { ["main"]=> NULL ["others"]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["options"]=> NULL ["tags"]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> object(ArrayObject)#222 (1) { ["storage":"ArrayObject":private]=> array(0) { } } ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL }
это форма

Ad.x ??
13.07.2018
05:47:43
это не код

нужен контроллер, вью и форма

как отправляешь

Сардор
13.07.2018
05:48:45
$form->load() принимает formName, можно попробовать указать самому formName

Ad.x ??
13.07.2018
05:49:16
предлагаю просто игнорить такие вопросы. подзаебало реально

привыкли к вангам, понимаешь

Google
Yet Another Stats
13.07.2018
05:51:01
Карма Ad.x ?? стала 51

Сардор
13.07.2018
05:51:22
просто когда задают такие вопросы - нужно правильное направление задам им, решение пусть сами находят. Многие привыкли тупо что то спрашивать и получать ответ/решение на этот вопрос.

Ad.x ??
13.07.2018
05:52:53
сорян, откуда попало файлы принципиально не качаю )

https://pastebin.com/

сюда экшен контроллера, вьюху и форму давай

Максим
13.07.2018
05:54:56
сюда экшен контроллера, вьюху и форму давай
Думаю достаточно только вьюхи

Ad.x ??
13.07.2018
05:55:14
я не давно начал. Можно же по человеческий объяснять
можно, но и вопросы хотелось бы видеть как человечески оформленные

Nuriddin
13.07.2018
05:56:17
<?php $form = ActiveForm::begin([ 'options' => ['enctype' => 'multipart/form-data'] ]); ?> <style> label { display: block; } </style> <div class="panel panel-default"> <div class="panel-heading">Common</div> <div class="panel-body"> <div class="row"> <div class="col-md-6"> <?= $form->field($model, 'name_uz')->textInput(['maxlength' => true]) ?> </div> <div class="col-md-6"> <?= $form->field($model, 'company_id')->dropDownList($model->companyList()) ?> </div> <div class="col-md-6"> <?= $form->field($model, 'name_ru')->textInput(['maxlength' => true]) ?> </div> <div class="col-md-6"> <?= $form->field($model, 'brand_id')->dropDownList($model->brandsList()) ?> </div> <div class="col-md-6"> <?= $form->field($model, 'slug')->textInput(['maxlength' => true]) ?> </div> <div class="col-md-6"> <?= $form->field($model, 'user_id')->dropDownList($model->usersList()) ?> </div> </div> <?= $form->field($model, 'additional')->widget(CKEditor::className()) ?> </div> </div> <div class="row"> <div class="col-md-6"> <div class="panel panel-default"> <div class="panel-heading">Price</div> <div class="panel-body"> <?= $form->field($model, 'price_old')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'price_new')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'currency_id')->dropDownList($model->currencyList()) ?> </div> </div> </div> <div class="col-md-6"> <div class="panel panel-default"> <div class="panel-heading">Count ogranichenie</div> <div class="panel-body"> <?= $form->field($model, 'total_count')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'min_count')->textInput(['maxlength' => true]) ?> </div> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="panel panel-default"> <div class="panel-heading">Categories</div> <div class="panel-body"> <?= $form->field($model->categories, 'main')->dropDownList($model->categories->categoriesList(), ['prompt' => '']) ?> <?= $form->field($model->categories, 'others')->checkboxList($model->categories->categoriesList()) ?> </div> </div> </div> <div class="col-md-6"> <div class="panel panel-default"> <div class="panel-heading">Tags</div> <div class="panel-body"> <?= $form->field($model, 'tags')->widget(Select2::classname(), [ 'data' => $model->tagsList(), 'options' => ['placeholder' => 'Select a tags...', 'multiple' => true], 'pluginOptions' => [ 'tags' => true, 'maximumInputLength' => 10 ], ]); ?> </div> </div> <div class="panel panel-default"> <div class="panel-heading">SEO</div> <div class="panel-body"> <?= $form->field($model->meta, 'title')->textInput() ?> <?= $form->field($model->meta, 'description')->textarea(['rows' => 2]) ?> <?= $form->field($model->meta, 'keywords')->textInput() ?> </div> </div> </div> </div>

<div class="panel panel-default"> <div class="panel-heading">Photos</div> <div class="panel-body"> <?= $form->field($model->photos, 'files[]')->widget(FileInput::class, [ 'options' => [ 'accept' => 'image/*', 'multiple' => true, ] ]) ?> </div> </div> <div class="form-group"> <?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?> </div> <?php ActiveForm::end(); ?>

_form file

Максим
13.07.2018
05:57:54
_form file
В $model экземпляр какого класса лежит?

Ad.x ??
13.07.2018
05:58:28
экшен контроллера нужен )

Сардор
13.07.2018
05:58:31
В $model экземпляр какого класса лежит?
вроде это ["ProductForm"]=> array(12) { ["name_uz"]=> string(3) "son" ["name_ru"]=> string(7) "сон " ["brand_id"]=> string(1) "2" ["slug"]=> string(4) "test" ["user_id"]=> string(1) "6"

Nuriddin
13.07.2018
05:58:46
namespace backend\models; class ProductForm extends Model { public $company_id; public $brand_id; public $user_id; public $name_uz; public $name_ru; public $price_old; public $price_new; public $currency_id; public $total_count; public $min_count; public $additional; public $slug; public $meta; public $photos; public $categories; public $options; public $tags; public function __construct($config = []) { $this->meta = new MetaForm(); $this->categories = new ProductCategoriesForm(); $this->photos = new ProductPhotosForm(); $this->tags = []; parent::__construct($config); } public function brandsList() { return ArrayHelper::map(Brands::find()->orderBy('name')->asArray()->all(), 'id', 'name'); } public function categoryList() { return ArrayHelper::map(Categories::find()->orderBy('name_ru')->asArray()->all(), 'id', 'name_ru'); } public function companyList() { return ArrayHelper::map(Companies::find()->orderBy('company_name_ru')->asArray()->all(), 'id', 'company_name_ru'); } public function currencyList() { return ArrayHelper::map(Currencies::find()->orderBy('name')->asArray()->all(), 'id', 'name'); } public function tagsList() { return ArrayHelper::map(Tags::find()->orderBy('name')->asArray()->all(), 'id', 'name'); } public function usersList() { return ArrayHelper::map(User::find()->orderBy('username')->asArray()->all(), 'id', 'username'); } }

Максим
13.07.2018
05:59:50
Nuriddin
13.07.2018
05:59:55
экшен контроллера нужен )
<?php namespace backend\controllers; use backend\models\ProductForm; use common\services\ProductManageService; use Yii; use common\models\Products; use app\models\ProductsSearch; use yii\web\Controller; use yii\web\NotFoundHttpException; use yii\filters\VerbFilter; /** * ProductsController implements the CRUD actions for Products model. */ class ProductsController extends Controller { /** * Creates a new Products model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $form = new ProductForm(); if ($form->load(Yii::$app->request->post())) { try { $product = $this->service->create($form); return $this->redirect(['view', 'id' => $product->id]); } catch (\DomainException $e) { Yii::$app->errorHandler->logException($e); Yii::$app->session->setFlash('error', $e->getMessage()); } } return $this->render('create', [ 'model' => $form, ]); } }

https://pastebin.com/FJpWcuMx ProductController.php

https://pastebin.com/1t09bCYW _form.php

Google
Nuriddin
13.07.2018
06:02:48
https://pastebin.com/jKrHhz2A ProductForm.php

Максим
13.07.2018
06:03:03
красава) теперь будем разбираться

Nuriddin
13.07.2018
06:03:35
у атрибутов нету rules
нет, но без этого работает все равно, давно попробовал такой способ на другом моделе

Сардор
13.07.2018
06:03:47
у атрибутов нету rules
как минимум их надо добавить с safe rule

Nuriddin
13.07.2018
06:03:48
Admin
ERROR: S client not available

Like
13.07.2018
06:05:23
Ебать

Нахуй он код сюда кидает блять

У меня одна мессага на весь экран блять

Максим
13.07.2018
06:05:43
Нахуй он код сюда кидает блять
Горшочек, не вари. ты добрый, не забывай!

Like
13.07.2018
06:05:54
Дык я без конкретики, ну)

Ad.x ??
13.07.2018
06:05:56
У меня одна мессага на весь экран блять
ты не уиишник, так что твои возмущения не принимаются

Like
13.07.2018
06:06:03
Так что молчи

Сардор
13.07.2018
06:06:11
вот что в итоге делает load метод public function setAttributes($values, $safeOnly = true) { if (is_array($values)) { $attributes = array_flip($safeOnly ? $this->safeAttributes() : $this->attributes()); foreach ($values as $name => $value) { if (isset($attributes[$name])) { $this->$name = $value; } elseif ($safeOnly) { $this->onUnsafeAttribute($name, $value); } } } }

Ad.x ??
13.07.2018
06:06:13
Я не пхпшник
так тем более

Like
13.07.2018
06:06:13
Че угодно > пхп

Да пиздец блять

Google
Like
13.07.2018
06:06:26
-25% экрана Могееет!

Ad.x ??
13.07.2018
06:07:09
Че угодно > пхп
как ты в жс без тайпхинтинга себя чувствуешь?

Like
13.07.2018
06:07:13
Пиздец, заснул в 4 утра, встал в 7 Жизнь охуена!

АХХАХАХАХАХХАХ БЛЯТЬ

Ты ебанулся головой?

Максим
13.07.2018
06:07:25
https://phptime.ru/yii/perevod-pravilo-validacii-safe-dlya-teh-kto-v-tanke.html начиная с "Почему массовое присваивание иногда не работает?"

Ad.x ??
13.07.2018
06:07:27
дай угадаю: да похуй он не нужен )

Like
13.07.2018
06:07:33
Flow > пхпшная дичь которая покрывает даже не все примитивы

Максим
13.07.2018
06:08:03
Че угодно > пхп
как ты в жс без обязательных $ в начале переменной и точки с запятой в конце выражения себя чувствуешь?

Максим
13.07.2018
06:08:42
дай угадаю: да похуй он не нужен )
ты его по ходу покусал, теперь он считает, что что-то не нужно)

Ad.x ??
13.07.2018
06:08:52
Жизнь охуена!
без работы? чот нищеебом быть вообще не охуенно )

Страница 1478 из 1721