Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

SooR

Users
  • Posts

    1,511
  • Joined

  • Last visited

Everything posted by SooR

  1. А он найдет dir-300 если вводить: dir300 dir 300 и наоборот?
  2. 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>
  3. У нас немного другая система ценообразования. Есть CSV, в нем артикул (model), цена минимальная, поставщики (post_name, post_price), Название товара. Отсутсвие цены делает товар с данным артикулом "нет в наличии". Поиск товара в базе осуществляется по артикулу (int)$model Цена калькулируется таким образом: в csv автоматом находится поставщик с минимальной ценой, по заранее забитым поставщикам в админке, их наценками и привязками к категориям, находится нужный процент (из диапазона цены, в который попадает товар) и накидывается на эту минимальную цену CSV. Подытожу: имеет ли смысл создавать модуль "поставщики" для общей массы, с использованием вышеупомянутого XLS импорта?
  4. Select или radio делается руками, или ждется 3я версия с возможностью выбирать.
  5. Кстати, в последней версии OpenCart все усложнили яваскриптом... зачем?
  6. nwserega, а товары находятся в родительской категории? (Галки стоят?)
  7. А поставить сжатие 0, или на время закомментить кеш категорий?
  8. badimka, костыль не нужен, тем более js, смотрите пост #32 и #35
  9. Вывод в шапке всех категорий?
  10. Что отличает магазин от обычного сайта? Уберите отличия, и все)
  11. afwollis, спасибо :) alexjk, новый фильтр. Кстати за розетку вывалили около 15к эвро.
  12. badimka, посмотрите сами. Всего модуль требует 6 таблиц, 5 из которых нужны для самих опций, 1 - для связки значений с товаром. Если бы не мультиязычность и одно ко многим с категориями, и того менее. При установке галки происходит переход, как в категорию. Можно приделать костыль на js, чтобы с параметром filter опускало вниз... кому как. С сортировкой дружится, проверьте $url в массиве sorts, где-то уже писал.
  13. Если нужно выводить для конкретного товара его х-стики фильтра вида: название опции - значение название опции - значение ... то: 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; }
  14. А в редакте товара во вкладке "Опции фильтра" вы указали эти значения?
  15. Boob, система -> пользователи -> группы пользователей -> Главный администратор [Изменить], ставим галки напротив catalog/filter и сохраняем
  16. LiS, сравните код с вашим в category.php if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } $this->data['sorts'] = array(); И стоит ли переменная $url во всех элементах массива sorts? Должно быть так: Внимание, состав элементов массива sorts в вашей версии OpenCart может отличаться! Так что не копируйте данный код, а просто исправьте при необходимости свой.
  17. LiS, я учел это и по умолчанию все сортирует. Покажите ваш магазин.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.