Найдено 336 результатов
- 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...
- 2019.12.20, 17:57
- Форум: Общие вопросы (Yii 2.x)
- Тема: Вывод товаров по выбранным фильтрам
- Ответы: 17
- Просмотры: 3194
Re: Вывод товаров по выбранным фильтрам
Я намудрил немного :D А если так? Переменные объявил текстовые, чтобы передать строку в запрос. Насчёт запятой в конце должно прокатить :D строка ведь. По итогу что-то да выйдет Ваш вариант не работает ка может быть чтобы к переменное как строку добавляли массив: $condition .= []; $condition .= [Pr...
- 2019.12.20, 16:55
- Форум: Общие вопросы (Yii 2.x)
- Тема: Вывод товаров по выбранным фильтрам
- Ответы: 17
- Просмотры: 3194
Re: Вывод товаров по выбранным фильтрам
но ведь если сделать как вы писали добавления в товаре фильтров динамически, то они все равно будут хранится так:yiiliveext писал(а): ↑2019.12.20, 16:52 Это первый тревожный звоночек, согласно текущей схемы хранения фильтров)
- 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 не...
- 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']); $...
- 2019.12.20, 15:33
- Форум: Общие вопросы (Yii 2.x)
- Тема: Вывод товаров по выбранным фильтрам
- Ответы: 17
- Просмотры: 3194
Re: Вывод товаров по выбранным фильтрам
А для того, чтобы из разных фильтров оно считало как вам нужно, ["Красный" и ( "XL" или "XXL" )] или [("Красный" или "Синий") и ("XL" или "XXL")] Нужно проверку сделать на parent_id и если они совпадают, тогда условие "ИЛИ&q...
- 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 и вижу что у них фильтра также неправильно рабо...
- 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 , а друго...
- 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-...
- 2019.12.17, 19:39
- Форум: Общие вопросы (Yii 2.x)
- Тема: Фильтры для товаров и кол-во товаров в фильтре
- Ответы: 7
- Просмотры: 1681
Re: Фильтры для товаров и кол-во товаров в фильтре
А кокой вариант фильтров еще бывает для интернет магазина? Вроде все интернет магазины используют подобные фильтры, как у меня в первом скрине (отмечать галочками нужные фильтры)yiiliveext писал(а): ↑2019.12.17, 16:07 Подход к построению фильтров, конечно, странный, но заслуживает право на жизнь. Наверное.
- 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...
- 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...
- 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'], [...
- 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...
- 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(...
- 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'] = ...
- 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', ],...
- 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 так там вс...
- 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...
- 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://...