Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

relative

Новачок
  
  • Публікації

    7
  • З нами

  • Відвідування

Відвідувачі профілю

Блок відвідувачів профілю відключений і не буде доступний широкому іншим користувачам

relative's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

0

Репутація

  1. Добрый день. Версия ocStore 2.3.0.2.3. Используется Journal Theme 3.0.46. Добавил 2-й язык. В коде его видно, только вот содержимое блоков "desktop-language-wrapper" пустое. <div class="language-currency top-menu"> <div class="desktop-language-wrapper"></div> <div class="desktop-currency-wrapper"></div> </div> Игрался с настройками Language-Currency Также даже сделал вот так: Но безрезультатно ( Пожалуйста подскажите в чём может быть дело? Заранее спасибо. С уважением, Ярослав.
  2. Добрый день! Уважаемые учасники форума, пожалуйста подскажите сложно ли будет "подружить" ocfilter с прикрепленным фильтром товара по наличию? Ибо когда фильтр по наличию активен - он сбрасывается при выборе опций ocfilter. Пробовал так: catalog/controller/extension/module/ocfilter.php $instock_true = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; if (preg_match('instock', $instock_true)) { $json['href'] = str_replace('&amp;', '&', $this->ocfilter->link($this->ocfilter->getParams())) . '?instock=true'; } else { $json['href'] = str_replace('&amp;', '&', $this->ocfilter->link($this->ocfilter->getParams())); } Но это не работает( filter.ocmod.zip
  3. Добрый день! Уважаемые учасники форума, пожалуйста подскажите сложно ли будет "подружить" с ocfilter? Ибо когда фильтр по наличию активен - он сбрасывается при выборе опций ocfilter. Пробовал так: catalog/controller/extension/module/ocfilter.php $instock_true = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; if (preg_match('instock', $instock_true)) { $json['href'] = str_replace('&amp;', '&', $this->ocfilter->link($this->ocfilter->getParams())) . '?instock=true'; } else { $json['href'] = str_replace('&amp;', '&', $this->ocfilter->link($this->ocfilter->getParams())); } Но увы, - это не работает( Да, адаптировал его к OC3 (надо чтоб работало в этой версии) module.ocmod.zip
  4. Таки решение было: if (!empty($data['filter_instock'])) { $results = $this->model_catalog_product->getProductSpecials(); $id_products = array(); if ($results) { foreach ($results as $result) { $id_products[] = $result['product_id']; } } if (!empty($id_products)) { $sql .= " AND p.product_id IN (" . implode(',', $id_products) . ")"; } } Спасибо fanatikus, cyberforum
  5. Добрый день. Есть задача фильтровать товары в категории в зависимости от наличия акции. Я нашел подходящий модуль - "фильтр товаров по наличию" и пытаюсь его адаптировать под текущую задачу. В модели вместо: $sql .= " AND (p.stock_status_id = '6' OR p.quantity > 0)"; пишу: $sql .= " AND (ps.product_id = '*')"; Но возникает ошибка, что в рез-тах запроса такой таблицы нет( Значит, в модели добавляю: "LEFT JOIN " . DB_PREFIX . "product_special ps ON (p.product_id = ps.product_id)" Т. е. вместо $sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; Получается $sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "product_special ps ON (p.product_id = ps.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; Но я всеравно получаю ошибку: Fatal error: Uncaught Exception: Error: Unknown column 'ps.product_id' in 'where clause'<br />Error No: 1054<br />SELECT p.product_id, (SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LE in /opt/lampp/htdocs/oc3_tst/system/library/db/mysqli.php on line 40 Но в этом случае в тексте ошибки таблица "oc_product_special" уже присутствует... Извращался уже даже так: if (!empty($data['filter_instock'])) { $results = $this->model_catalog_product->getProductSpecials(); if ($results) { foreach ($results as $result) { $sql .= " AND (p.product_id = '" . $result['product_id'] . "')"; } } } Отображает акционный товар только, если он там один)) Подскажите, пожалуйста, что я делаю не так? Может, не в то место вставляю JOIN? Или вообще это проще сделать контроллером? В файле приложил модуль, мною адаптированный под opencart 3 (изначально был под 2-ю версию) module.ocmod.zip
  6. На сайт нужно сделать раздел "С этим товаром покупают". Принял решение использовать стандартный блок "Рекомендуемые" в связке с "Owl Carousel 2". Вставил нужный код OWL в head, модифицировал файл "featured.tpl" следующим образом: <h3><?php echo $heading_title; ?></h3> <div class="row"> <div class="owl-carousel owl-theme"> <?php foreach ($products as $product) { ?> <!-- <div class="item"> --> <div class="product-layout col-xs-12"> <!-- col-lg-3 col-md-3 col-sm-6 --> <div class="transition"> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></a></div> <div class="caption txt_cntrd"> <h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4> <!-- <p><?php echo $product['description']; ?></p> <?php if ($product['rating']) { ?> <div class="rating"> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($product['rating'] < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i></span> <?php } ?> <?php } ?> </div> <?php } ?>--> <?php if ($product['price']) { ?> <p class="price"> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span> <?php } ?> <?php if ($product['tax']) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span> <?php } ?> </p> <?php } ?> </div> <!-- <div class="button-group"> <button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button> <button type="button" data-toggle="tooltip" title="<?php echo $button_wishlist; ?>" onclick="wishlist.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-heart"></i></button> <button type="button" data-toggle="tooltip" title="<?php echo $button_compare; ?>" onclick="compare.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-exchange"></i></button> </div> --> </div> </div> <!-- </div> --> <?php } ?> <script> $(document).ready(function() { var owl = $('.owl-carousel'); owl.owlCarousel({ items: 4, loop: false, margin: 10, nav: true, autoplay: true, autoplayTimeout: 12500, autoplayHoverPause: true }); $('.play').on('click', function() { owl.trigger('play.owl.autoplay', [12500]) }) $('.stop').on('click', function() { owl.trigger('stop.owl.autoplay') }) }) </script> <!-- <a class="button secondary play">Play</a> <a class="button secondary stop">Stop</a> --> </div> </div> И все бы хорошо, если бы не пробелы в карусели. Пробовал ставить показ 3-х, 4-х, 5-ти элементов. Но откуда они все равно берутся – не понятно... Может кто сталкивался, либо у кого есть идеи для готового решения...

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.