-
Публікації
1 508 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем SooR
-
-
Еще есть select :) а в опциях еще есть тип группированый, когда несколько значений становятся одним.Во-о-о...Красивая админка... Тоже планирую настройки в табы вынести. Аккуратно это выглядит... Soor, на скрине не видно, что в фильтре по производителям можно выбрать: чекбокс, радио, ещё что-то? И с помощью чего делается большая светло-зелёная стрелка с пояснениями к опциям админки?
Офтоп. Что-то в последнее время народ стал фильтры клепать как грибы после дождя.
Блоки с подсказками обычный div в третьей колонке с бэкграундом, на счет грибов - согласен на все сто. Или самое больное место двига, или в кайф его делать:)
-
Добавилась лишь только таблица category_option_to_store и пару полей в таблицу category_option.
Если в моем модуле отключить счетчик товаров, то даже количество товаров не станет помехой быстродействию.
В модуле или будет возможность импортировать стандартные параметры - в таблицы фильтра, или просто переключатель "использовать опции OpenCart или модуля фильтра".
- 2
-
Тогда на
public function format($value, $weight_class_id, $decimal_point = '.', $thousand_point = ',') { if (isset($this->weights[$weight_class_id])) { return $value . $this->weights[$weight_class_id]['unit']; } else { return $value; } }
Если нули вообще нигде не нужны. -
-
Ого! Очень круто выглядит, но мне кажется не очевидным такой механизм - когда при выборе опции в этом же блоке подгружается кол-во товаров с этой опцией и отображается кнопка, на которую нужно нажать чтобы увидеть результат фильтрации. Не проще ли будет сделать кнопку Применить?
Она же и является кнопкой "Применить" :) просто несёт в себе ещё и количество найденных товаров. А кнопку назвать можно по-разному.
В настройках фильтра есть возможность переключиться в режим "нажал - получил", т.е. без кнопки.
- 2
-
Файл catalogcontrollercommonseo_url.php
Заменить
} elseif ($key == 'path') { $categories = explode('_', $value); foreach ($categories as $category) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'"); if ($query->num_rows) { $url .= '/' . $query->row['keyword']; } } unset($data[$key]); }
На} elseif ($key == 'path') { $categories = explode('_', $value); $url .= '/catalogue'; foreach ($categories as $category) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'"); if ($query->num_rows) { $url .= '/' . $query->row['keyword']; } } unset($data[$key]); }
- 1
-
Файл systemlibraryweight.php
Заменить
public function format($value, $weight_class_id, $decimal_point = '.', $thousand_point = ',') { if (isset($this->weights[$weight_class_id])) { return number_format($value, 2, $decimal_point, $thousand_point) . $this->weights[$weight_class_id]['unit']; } else { return number_format($value, 2, $decimal_point, $thousand_point); } }
Наpublic function format($value, $weight_class_id, $decimal_point = '.', $thousand_point = ',') { if (isset($this->weights[$weight_class_id])) { return number_format($value, 0, $decimal_point, $thousand_point) . $this->weights[$weight_class_id]['unit']; } else { return number_format($value, 0, $decimal_point, $thousand_point); } }
- 1
-
Ну что, выполнил?)
С другой стороны, ув. Vetal тоже не самый обычный заказчик.
Проявляется это в несоответствии задания (или его формулировке) к строго выполненному конечному результату.
Т.е. начинаются известные всем фриланцерам "хотелки": - "А можешь еще это сделать!?", "А там поправишь заодно!?", "А вот только что пришла идея..." .. и так далее.
И да, о сроках мы не договаривались.
- 3
-
Приветы всем.
Спасибо, что не потерли тему.
Фильтр довел до ума, наростил функционал и сделал всё более юзабильней, в т.ч. серьезно оптимизировал код.
Эта работа будет стоить неких денежных единиц. Дата релиза 5 августа.
- 2
-
xrgb, хм, любо глянуть на новый-старый..
Evgeny, ориентировочно в течение недели.
p.s. руку набил да и горя не знал за $)
-
xrgb, параметры товаров заполнял контент-менеджер вручную :)
В новой версии обеспечу импорт со стандартных опций, и наверно с CSV, только надо придумать как хранить данные, ибо много связей.
-
так ставили же уже.
-
Меня интересует другой вопрос, почему в OpenCart'е получение кейворда всё ещё реализовано дополнительными запросами? При чем, на один элемент - 2 запроса (model -> controller). Почему не хранить алиасы в таблице товаров, категорий, страниц...?
-
Не знаю, может это и постанова, но, выглядит супер ))) Светлакову +5 баллов ))))))
Выглядит эффектно, но думаю постанова) слишком всё в пользу Светлакову)
-
pijonson, демка показывает как работает фильтр. К виду никакого отношения. Этот модуль и тот, что приведен по ссылке - разные.
-
В некоторых местах так даже удобнее, но это в основном применимо в админке...
В паблике зачастую требуется получить полное дерево категорий, например для меню типа superfish... и тогда лучше рекурсивно трепать массив, а не базу.
Это для админки вообще-то и делалось. Смотрите по какому принципу проставляются категории..
-
freelancer, *** стыд, ну а где вызывается вы видите? И почему и зачем она вызывается вы понимаете?
А теперь сначала, вызывается для того, чтобы подтянуть товары из дочерних категорий, находясь мы в родительской.
А если галки будут ставиться автоматом, то не придется _искать_ дочерние категории, они уже будут известны в таблице product_to_category.
-
в модели категории, но не суть.
почитай уже топик
if (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $implode_data = array(); $implode_data[] = "p2c.category_id = '" . (int)$data['filter_category_id'] . "'"; $this->load->model('catalog/category'); $categories = $this->model_catalog_category->getCategoriesByParentId($data['filter_category_id']); foreach ($categories as $category_id) { $implode_data[] = "p2c.category_id = '" . (int)$category_id . "'"; } $sql .= " AND (" . implode(' OR ', $implode_data) . ")"; } else { $sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'"; } }
Это что тогда?
В моделе категории тоже есть, но я сократил кол-во запросов до 36 в категории убрав этот блок
if (!empty($data['filter_sub_category'])) { $implode_data = array(); $implode_data[] = "p2c.category_id = '" . (int)$data['filter_category_id'] . "'"; $this->load->model('catalog/category'); $categories = $this->model_catalog_category->getCategoriesByParentId($data['filter_category_id']); foreach ($categories as $category_id) { $implode_data[] = "p2c.category_id = '" . (int)$category_id . "'"; } $sql .= " AND (" . implode(' OR ', $implode_data) . ")"; } else {
Да и вот тоже..
-
freelancer, эм, вообще-то это вызывается в модели товара...
-
суть проблемы мне ясна, впрочем может ты не так её понимаешь: падение производительности получения дерева категорий при большом(>100) кол-ве элементов.
вот я и спрашиваю чем вышеуказанный http://open.od.ua/check.html может в этом помочь?
Так, секундочку, дерево для чего? Для вытяжки товаров из дочерних категорий, так?
А зачем это делать?
Потому что когда мы в админке ставим галку напротив самого последнего уровня категорий, то родительский (который и вызывает эту рекурсию) мы не трогаем и он вынужден сам доставать дочерние category_id для поиска всех товаров.
Так вот я предлагаю продолжать ставить одну галку в конце иерархии, которая повлечет за собой автоматическую простановку прямых родителей, чтобы не нагружать в последствии базу.
Или я неправильно понял?
-
что это? какой-то список категорий?
Углубись в суть проблемы топикстартера
-
Блин, может я чего-то не понимаю, но это не может быть решением проблемы с рекурсией?
-
И зачем это
$categories = $this->model_catalog_category->getCategoriesByParentId($data['filter_category_id']);
? В родительских и так отображаются все товары.. -
Yesvik, да, виновник торжества
$categories = $this->model_catalog_category->getCategoriesByParentId($data['filter_category_id']);
в catalog/product, а там уже в рекурсию. Это маразм. На одни только запросы уходит 5-6 сек. И да, пусть хоть 0 товаров в категории будет.
Да и вывал самих товаров тоже запрос в цикле.
В общем уменьшил до 48 запросов в категории, независимо от кол-ва товаров. Но это тоже много.
[Модуль] Фильтр товаров в категории 2.0 / 3.0
в Вывод товара, изображения, фильтры вывода
Опубліковано: