-
Публікації
1 508 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем SooR
-
-
sandu, сделай ссылкой на текущую категорию.
<a href="index.php?route=product/category&path=<?php echo $this->request->get['path']; ?>">Сбросить параметры</a>
- 1
-
Fck, запустил же. Каюсь.
И главное, всё же есть, надо только опубликовать цивильно.
Не могу говорить ждите, но ждите.
- 3
-
<?php foreach ($limits as $item) { ?>
<?php if ($item['value'] == $limit) { ?>
<a href="<?php echo $item['href']; ?>" selected="selected"><span><?php echo $item['text']; ?></span></a>
<?php } else { ?>
<a href="<?php echo $item['href']; ?>"><span><?php echo $item['text']; ?></span></a>
<?php } ?>
<?php } ?>
-
Какой импорт нужен? Откуда-куда? Отдельно опций, или всего магазина вместе с ними? Уже приводили вверху ссылку на модуль связки стандартных атрибутов с таблицами фильтра.
-
a to:) next week... 1.5 u 1.4
-
diokim, ждите новую версию. Кроме того, реализован группированный тип.
Более юзабильней стал код фильтра (catalog/module/filter.php), связка с производителями, выбранные критерии + отмена (в т.ч. по цене), AJAX опционально, фильтр наличия на складе, расширена конфигурация.
-
Очень добрые и очень занятые люди всегда здесь.
В чем беда? Дайте ссылку.
-
Ritter, pokazite ves' file.
-
А он найдет dir-300 если вводить:
dir300
dir 300
и наоборот?
-
Product status & price quick changer
admin\controller\catalog\product.php
add
public function status() { if ($this->request->server['REQUEST_METHOD'] == 'POST') { $this->db->query("UPDATE " . DB_PREFIX . "product SET status = '" . (int)$this->request->post['status'] . "' WHERE product_id = '" . (int)$this->request->post['product_id'] . "'"); $this->cache->delete('product'); } } public function price() { if ($this->request->server['REQUEST_METHOD'] == 'POST') { $this->db->query("UPDATE " . DB_PREFIX . "product SET price = '" . (float)$this->request->post['price'] . "' WHERE product_id = '" . (int)$this->request->post['product_id'] . "'"); $this->cache->delete('product'); } }
admin\view\template\catalog\product_list.tpl
replace status table column with
<td class="left"> <label><input type="checkbox" name="status" value="<?php echo $product['product_id']; ?>" <?php echo ($product['status'] == 'Включено' ? 'checked="checked"' : ''); ?> /><span><?php echo $product['status']; ?></span></label> </td>
and price column with
<td> <input type="text" name="price" value="<?php echo $product['price']; ?>" size="10" id="price<?php echo $product['product_id']; ?>" /> <a onclick="updatePrice(<?php echo $product['product_id']; ?>);$(this).fadeTo(250, 0.2);$(this).fadeTo(150, 0.7);" class="save">Save</a> </td>
append
<script type="text/javascript"><!-- $(document).ready(function() { $('input[name=\'status\']').change(function() { $.post('index.php?route=catalog/product/status', 'status=' + ($(this).attr('checked') ? '1' : '0') + '&product_id=' + $(this).val()); var text = $(this).next().text() == 'Отключено' ? 'Включено' : 'Отключено'; $(this).next().text(text); }); }); function updatePrice(product_id) { var price = $('#price' + product_id).val(); $.post('index.php?route=catalog/product/price', 'price=' + price + '&product_id=' + product_id); } //--></script>
-
У нас немного другая система ценообразования.
Есть CSV, в нем артикул (model), цена минимальная, поставщики (post_name, post_price), Название товара.
Отсутсвие цены делает товар с данным артикулом "нет в наличии".
Поиск товара в базе осуществляется по артикулу (int)$model
Цена калькулируется таким образом: в csv автоматом находится поставщик с минимальной ценой, по заранее забитым поставщикам в админке, их наценками и привязками к категориям, находится нужный процент (из диапазона цены, в который попадает товар) и накидывается на эту минимальную цену CSV.
Подытожу: имеет ли смысл создавать модуль "поставщики" для общей массы, с использованием вышеупомянутого XLS импорта?
-
Select или radio делается руками, или ждется 3я версия с возможностью выбирать.
-
Кстати, в последней версии OpenCart все усложнили яваскриптом... зачем?
- 1
-
nwserega, а товары находятся в родительской категории? (Галки стоят?)
-
На выходных выложу с ценой.. и может на 1.5.
- 1
-
А поставить сжатие 0, или на время закомментить кеш категорий?
- 1
-
-
Вывод в шапке всех категорий?
-
Что отличает магазин от обычного сайта? Уберите отличия, и все)
-
afwollis, спасибо :)
alexjk, новый фильтр. Кстати за розетку вывалили около 15к эвро.
-
badimka, посмотрите сами. Всего модуль требует 6 таблиц, 5 из которых нужны для самих опций, 1 - для связки значений с товаром. Если бы не мультиязычность и одно ко многим с категориями, и того менее.
При установке галки происходит переход, как в категорию. Можно приделать костыль на js, чтобы с параметром filter опускало вниз... кому как.
С сортировкой дружится, проверьте $url в массиве sorts, где-то уже писал.
-
я буду рад, если кто-то просто ткнет мне пальцем в какую строчку это добавлять, чтобы все заработало :)
Перед закрывающей класс скобкой }
-
ukrgeraldika нет ее в этой версии.
-
Если нужно выводить для конкретного товара его х-стики фильтра вида:
название опции - значение
название опции - значение
...
то:
catalog\controller\product\product.php
$this->data['filter_options'] = $this->model_catalog_filter->getOptionsByProductId($this->request->get['product_id']);
catalog\view\theme\default\template\product\product.tpl
<?php foreach ($filter_options as $option) { ?> <span> <b><?php echo $option['name']; ?></b><?php echo $option['value_name']; ?><?php echo (next($filter_options) ? '<em> / </em>' : ''); ?> </span> <?php } ?>
catalog\model\catalog\filter.php
public function getOptionsByProductId($product_id) { $option_data = array(); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_option co LEFT JOIN " . DB_PREFIX . "product_to_value p2v ON (co.option_id = p2v.option_id) LEFT JOIN " . DB_PREFIX . "category_option_description cod ON (co.option_id = cod.option_id) WHERE p2v.product_id = '" . (int)$product_id . "' AND cod.language_id = '" . (int)$this->config->get('config_language_id') . "' AND co.status = '1' ORDER BY co.sort_order"); foreach ($option_query->rows as $option) { $value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_option_value cov LEFT JOIN " . DB_PREFIX . "category_option_value_description covd ON (cov.value_id = covd.value_id) LEFT JOIN " . DB_PREFIX . "product_to_value p2v ON (cov.value_id = p2v.value_id) WHERE p2v.product_id = '" . (int)$product_id . "' AND cov.option_id = '" . (int)$option['option_id'] . "' AND covd.language_id = '" . (int)$this->config->get('config_language_id') . "'"); $option_data[] = array( 'option_id' => $option['option_id'], 'name' => $option['name'], 'value_name' => $value_query->row['name'] ); } return $option_data; }
1599 запросов на страницу - это ****
в Загальні питання
Опубліковано:
Решил все свои проекты начать вести на последнем OC, скачал оф версию v1.5.1.3 September 29, 2011, залил в него товары и категории с существующего проекта (4927 товаров), захожу в любую категорию, жду 10-15 сек, думаю гляну запросы - 1599-1612 (!!!) запросов при 20 товаров на страницу, это вообще как можно было их создать?))
В общем, это никуда не лезет, бизнес логика нуждается в существенной оптимизации.
P.S. тестил на локальной машине denwer/Core i3/2Gb ddr3/7200 rpm