Найдено 336 результатов

webplus
2019.12.20, 18:31
Форум: Общие вопросы (Yii 2.x)
Тема: Вывод товаров по выбранным фильтрам
Ответы: 17
Просмотры: 3194

Re: Вывод товаров по выбранным фильтрам

А вообще фильтрацию по такого рода фильтрах уже разбирали недавно https://yiiframework.ru/forum/viewtopic.php?f=19&t=53622 там даже два варианта есть. Прочитал, спасибо! Я изначально так делал: вот запрос из дебагера: SELECT `product`.*, Count(*) AS `total` FROM `product` LEFT JOIN `product_fil...
webplus
2019.12.20, 17:57
Форум: Общие вопросы (Yii 2.x)
Тема: Вывод товаров по выбранным фильтрам
Ответы: 17
Просмотры: 3194

Re: Вывод товаров по выбранным фильтрам

Я намудрил немного :D А если так? Переменные объявил текстовые, чтобы передать строку в запрос. Насчёт запятой в конце должно прокатить :D строка ведь. По итогу что-то да выйдет Ваш вариант не работает ка может быть чтобы к переменное как строку добавляли массив: $condition .= []; $condition .= [Pr...
webplus
2019.12.20, 16:55
Форум: Общие вопросы (Yii 2.x)
Тема: Вывод товаров по выбранным фильтрам
Ответы: 17
Просмотры: 3194

Re: Вывод товаров по выбранным фильтрам

yiiliveext писал(а): 2019.12.20, 16:52 Это первый тревожный звоночек, согласно текущей схемы хранения фильтров)
но ведь если сделать как вы писали добавления в товаре фильтров динамически, то они все равно будут хранится так: Изображение
webplus
2019.12.20, 16:44
Форум: Общие вопросы (Yii 2.x)
Тема: Вывод товаров по выбранным фильтрам
Ответы: 17
Просмотры: 3194

Re: Вывод товаров по выбранным фильтрам

А значит можно попробовать как-то так :D Тут я запутался и не выходит это - оно неверное, а как построить верно не пойму: $productsQuery->andWhere(['or', foreach($_filters as $key => $value){ ['in', ProductFilter::tableName() . '.filter_id', [$value]], } ]); . т.е. foreach вставленный в andWhere не...
webplus
2019.12.20, 16:09
Форум: Общие вопросы (Yii 2.x)
Тема: Вывод товаров по выбранным фильтрам
Ответы: 17
Просмотры: 3194

Re: Вывод товаров по выбранным фильтрам

А что приходит в переменную $filter_ids ? Нужно примерно понимать, что с этой переменной можно сделать // например url: http://domen.loc/shop/catalog/knigi?filters=xl-5;xxl-6;krasnyj-3 $get['filters'] = \Yii::$app->request->get('filters'); $params['filters_array'] = explode(';', $get['filters']); $...
webplus
2019.12.20, 15:33
Форум: Общие вопросы (Yii 2.x)
Тема: Вывод товаров по выбранным фильтрам
Ответы: 17
Просмотры: 3194

Re: Вывод товаров по выбранным фильтрам

А для того, чтобы из разных фильтров оно считало как вам нужно, ["Красный" и ( "XL" или "XXL" )] или [("Красный" или "Синий") и ("XL" или "XXL")] Нужно проверку сделать на parent_id и если они совпадают, тогда условие "ИЛИ&q...
webplus
2019.12.20, 13:36
Форум: Общие вопросы (Yii 2.x)
Тема: Вывод товаров по выбранным фильтрам
Ответы: 17
Просмотры: 3194

Re: Вывод товаров по выбранным фильтрам

Искал в интернете что то подобное с фильтрами, чтобы запрос подсмотреть. Нашел https://github.com/nurbeknurjanov/yii2ecommerce вот пример их демо сайта: https://demo.sakuracommerce.com/electronics/computers?brand=apple&processor=i7&searchForm=1 и вижу что у них фильтра также неправильно рабо...
webplus
2019.12.19, 17:10
Форум: Общие вопросы (Yii 2.x)
Тема: Вывод товаров по выбранным фильтрам
Ответы: 17
Просмотры: 3194

Вывод товаров по выбранным фильтрам

Здравствуйте! Есть фильтры с товарами: http://dl3.joxi.net/drive/2019/12/19/0026/0976/1704912/12/fcc118a529.png на изображения выбрано два фильтра из одной группы, вывело один товар который привязан к этим двум фильтрам. А всего у этих фильтров два товара, один привязан только к фильтру XL , а друго...
webplus
2019.12.18, 15:17
Форум: Общие вопросы (Yii 2.x)
Тема: Фильтры для товаров и кол-во товаров в фильтре
Ответы: 7
Просмотры: 1681

Re: Фильтры для товаров и кол-во товаров в фильтре

В интернет-магазинах обычно фильтры делают на основании характеристик товаров и хранятся они немного по-другому. Я вот бэкенд одного магазина нашел https://github.com/pistol88/yii2-shop в нем есть фильтры вот скрин https://cloud.githubusercontent.com/assets/8104605/15448447/751a647a-1f7b-11e6-87e7-...
webplus
2019.12.17, 19:39
Форум: Общие вопросы (Yii 2.x)
Тема: Фильтры для товаров и кол-во товаров в фильтре
Ответы: 7
Просмотры: 1681

Re: Фильтры для товаров и кол-во товаров в фильтре

yiiliveext писал(а): 2019.12.17, 16:07 Подход к построению фильтров, конечно, странный, но заслуживает право на жизнь. Наверное.
А кокой вариант фильтров еще бывает для интернет магазина? Вроде все интернет магазины используют подобные фильтры, как у меня в первом скрине (отмечать галочками нужные фильтры)
webplus
2019.12.17, 15:03
Форум: Общие вопросы (Yii 2.x)
Тема: Фильтры для товаров и кол-во товаров в фильтре
Ответы: 7
Просмотры: 1681

Re: Фильтры для товаров и кол-во товаров в фильтре

Во-первых, сделайте нормальный пример, а не вот это вот все cssssssss etc. Здравствуйте! Вот фильтры: http://dl4.joxi.net/drive/2019/12/17/0026/0976/1704912/12/08b007daa6.png Вот таблица filters их в базе: http://dl4.joxi.net/drive/2019/12/17/0026/0976/1704912/12/1e19c72208.png А вот таблица produc...
webplus
2019.12.16, 16:04
Форум: Общие вопросы (Yii 2.x)
Тема: Фильтры для товаров и кол-во товаров в фильтре
Ответы: 7
Просмотры: 1681

Фильтры для товаров и кол-во товаров в фильтре

Здравствуйте! Есть фильтры товаров: http://dl3.joxi.net/drive/2019/12/16/0026/0976/1704912/12/15b803e596.png Они состоят из двух таблиц: filters - это названия фильтров и id их. И таблица связей product_filter - это связь filter_id с product_id вот таблица product_filter с данными http://dl4.joxi.ne...
webplus
2019.12.11, 13:35
Форум: Общие вопросы (Yii 2.x)
Тема: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();
Ответы: 17
Просмотры: 2598

Re: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();

Правила модели Filter не должны давать сохранять пустую модель в модели Filter - rules прописано. public static function tableName() { return 'filter'; } /** * @inheritdoc */ public function rules() { return [ [['parent_id'], 'default', 'value' => null], [['parent_id', 'category_id'], 'integer'], [...
webplus
2019.12.11, 11:54
Форум: Общие вопросы (Yii 2.x)
Тема: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();
Ответы: 17
Просмотры: 2598

Re: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();

Если используете "la-haute-societe/yii2-save-relations-behavior": "*" Здравствуйте! Сделал так как вы привели пример: <?php $i = 0; foreach ($filters as $filter){ $items = ArrayHelper::map($filter->filters, 'id', 'title'); $params = [ 'prompt' => 'Выберите', ]; $form = new Activ...
webplus
2019.12.10, 23:31
Форум: Общие вопросы (Yii 2.x)
Тема: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();
Ответы: 17
Просмотры: 2598

Re: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();

Так и надо, читайте документацию по save relaition behaivior, там есть пример, вам нужно подключить SaveRelationsTrait class Product extends ActiveRecord { use SaveRelationsTrait; .... } Либо, если не подключать трейт, можно дополнительно сделать $model->loadRelations(Yii::$app->getRequest()->post(...
webplus
2019.12.10, 20:29
Форум: Общие вопросы (Yii 2.x)
Тема: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();
Ответы: 17
Просмотры: 2598

Re: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();

Вы точно мой код полностью скопировали? при вашем коде у dropDownList name равно "Filter[0][id]" и т.д. А у меня экшен: public function actionUpdate($id) { $model = $this->findModel($id); if (Yii::$app->request->isPost) { $post = Yii::$app->request->post(); //$post['Product']['filter'] = ...
webplus
2019.12.10, 20:12
Форум: Общие вопросы (Yii 2.x)
Тема: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();
Ответы: 17
Просмотры: 2598

Re: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();

Вы точно мой код полностью скопировали? да, только не id в инпуте, а filter. т.е. [$i]filter потому что у меня в модели: в rules [['filter'], 'safe'], в поведении public function behaviors() { return [ 'saveRelations' => [ 'class' => SaveRelationsBehavior::className(), 'relations' => [ 'filter', ],...
webplus
2019.12.10, 19:45
Форум: Общие вопросы (Yii 2.x)
Тема: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();
Ответы: 17
Просмотры: 2598

Re: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();

Если используете "la-haute-societe/yii2-save-relations-behavior": "*" ну без этого перед $model->load($post) && $model->save() $post['Product']['filter'] = array_diff(array_column($post['Product'], 'filter'), ['']); не сохраняет. Вот смотрел инпут listCheckbox так там вс...
webplus
2019.12.10, 19:08
Форум: Общие вопросы (Yii 2.x)
Тема: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();
Ответы: 17
Просмотры: 2598

Re: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();

Скиньте пример значения $post['Product'] $post = Yii::$app->request->post(); print_r($post);die; Array ( [Product] => Array ( [category_id] => 16 [title_ru] => fdfgffgffg [title_uk] => [title_en] => [description_ru] => [description_uk] => [description_en] => [price] => 6666.00 [0] => Array ( [filte...
webplus
2019.12.10, 18:21
Форум: Общие вопросы (Yii 2.x)
Тема: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();
Ответы: 17
Просмотры: 2598

Re: dropDownList подгруженный аяксом нужно взять в ActiveForm::begin();

но потом при редактировании не подставляет данные в селекты, Об этом подробнее, не понял что имеется в виду. Вот echo $form->field($model, '[]filter')->dropDownList($items, $params)->label($filter->title); при использовании свойства []filter данные с модели подставляются в инпут, вот скрин: http://...