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

costas

Користувачі
  
  • Публікації

    2 822
  • З нами

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

Усі публікації користувача costas

  1. стандартно cd $HOME/папка_сайта.ru/docs/tools/ && /opt/php/bin/php -c $HOME/etc/php.ini $HOME/папка_сайта.ru/docs/tools/имя_скрипта.phpкак раз для этого нужен скрипт в составе движка т.е. в виде модуля.wget, curl - это решения зависящие от работы web-сервера со всеми вытекающими, соответственно скрипт (модуль) должен работать как обчный модуль но не через web. Написать костыль в виде скрипта который самостоятельно лезет в базу без использования классов/библиотек/etc. и настроек магазина не проблема, но это и будет костыль, а костыль как раз не нужен.
  2. Это уже рассматривали, немного не то что бы хотелось, не хочется зависеть от доп. протоколов и сервисов аля apache.
  3. Собственно разыскивается сабж (любая версия магазина), смысл следующий, sitemap встроенный в ocStore v0.2.2 работает медленно, имеем магазин на слабом хостинге, нуменклатура в 1тыс (будет 18тыс), сейчас модуль кое как работает, но по факту это кое как умрёт на 3тыс+, переписали модуль, вернее навояли другой который делает всё быстро и складывает сразу sitemap в корень. Идея запустить это дело через cron. Нужен модуль который работает через cron (посмотреть реализацию и допилить модуль), если есть идеи или кто видел модуль такого плана отпишите, в свою очередь обязуюсь выложить готовый модуль в свободное пользование. Технически конечно не проблема сделать свою обвязку в обход движка, но хотелось бы в рамках движка остаться (дальнейшее использование + портирование на другие версии).
  4. На основе этой темы https://opencartforum.com/topic/4886-модуль-auto-related-для-opencart-v151/page__pid__32845 Данный хак позволяет отображать случайную последовательность товаров во вкладке "Рекомендуем" Товары выбираются из списка товаров родительской категории товара (main_category_id). в файле catalog/model/catalog/product.php после метода public function getProductRelated($product_id) { ... return $product_data; } добавить public function getProductRelatedByCategoryID($main_category_id, $limit = 4) { $offset_query = $this->db->query("SELECT FLOOR(RAND() * ( COUNT(p.product_id) - " . (int)$limit . " ) ) AS `offset` FROM " . DB_PREFIX . "product p 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 . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.date_available <= NOW() AND p.status = '1' AND p.main_category_id = " . (int)$main_category_id); $offset = ($offset_query->row['offset'] < 0) ? 0 : $offset_query->row['offset']; $sql = "SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p 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 . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.date_available <= NOW() AND p.status = '1' AND p.main_category_id = " . (int)$main_category_id ." LIMIT " . $offset . ", ".(int)$limit; $query = $this->db->query($sql); return $query->rows; } в файле catalog/controller/product/product.php найти срочку (и закомментировать) $results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']); заменить на (или добавить после, если закомментировали строчку выше) $results = $this->model_catalog_product->getProductRelatedByCategoryID( $product_info['main_category_id'], 4); где 4 будет количество товаров во вкладке "Рекомендуем" (можно изменить на желаемое)
  5. Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) ) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; Выбирает все (LIMIT 30) продукты, у кого главная категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) AND main_category = 1) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; З.Ы. Второй запрос (возможно и первый) вообще можно и нужно разбить на два простых, это избавит от двух временных таблиц, которые жрут память, и (при нехватке физ памяти) не дай бог начнёт свопировать временные таблицы - нагрузка возрастает + тормоза в следствии ограничения соростью дисковых операцый ввода/вывода (в случае нехватки физ памяти временные таблички благополучно создаются на файловой системе)
  6. Указывайте версию магазина и шаблона (шаблон со ссылкой откуда скачен/куплен)... телепатов нет.
  7. Внимательно просмотрите весь product.tpl, помимо ссылки вкладки там есть ещё содержимое.
  8. Если я правильно понял то у вас opencart 1.5.x... Такая проблема была в opencart 1.5.x, она не связанна с переводом или с шаблонами, она связана с поддержкой UTF-8 самим движком магазина. Обновите до последней версии opencart или используйте ocStore 1.0.1, с ocStore 1.0.1 Ваш шаблон без доп приседаний и шаманского бубна работать не будет. Если у Вас всё же ocStore 1.0.1, то видимо в шаблоне есть части контроллер/модель которые идут из оригинального opencart 1.5.
  9. не в конец его надо добавлять, а после public function index() {. $this->language->load('product/product');
  10. costas

    Просьба.

    Вы немного не с того конца зашли, Вам нужно составить список того что должно быть у Вас в магазине, а дальше смотрите есть ли это в версии ocStore v0.2.x или v1.0.1 и помечайте (есть в магазине/есть модулем/есть модулем платно)Магазины бывают разные и понятие "максимально заточена" растяжимо до бесконечности.
  11. добавить в catalog/controller/product/product.php $this->language->load('information/tellafriend'); $this->data['text_friend'] = $this->language->get('text_friend'); if (isset($this->request->get['product_id'])) { $this->data['tellafriend'] = HTTP_SERVER . 'index.php?route=information/tellafriend&product_id=' . $this->request->get['product_id']; } else { $this->data['tellafriend'] = ''; } в catalog/view/theme/default/template/product/product.tplпосле <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" /> <input type="hidden" name="redirect" value="<?php echo str_replace('&', '&', $redirect); ?>" /> </div> </form>добавить <?php if ($tellafriend) { ?> <div> <a href="<?php echo str_replace('&', '&', $tellafriend); ?>" style="background-image: url('catalog/view/theme/default/image/small_tell.png');"><?php echo $text_friend; ?></a> </div> <?php } ?> как то так....
  12. решено... всем манипуляции вокруг налогов в самом модуле, метод public function getTotal(&$total_data, &$total, &$taxes)с массивом $taxes
  13. costas

    Просьба.

    к чему пример? сей магазин сделан на базе коммерческого шаблона shoppica.net без кастомизаций.
  14. ocstore v0.2.2 Столкнулся со следующей проблемой, имеется цены без НДС, в качестве Учитывать в заказе стоит налог НДС, помимо этого есть модуль скидки от суммы заказа. Дело в том что НДС считается так же как и скидки от суммы заказа (в виду того что относится к Учитывать в заказе на ровне со скидками), получается следующая арифметика: Сумма: 397,741.00 р. НДС 18%: 71,593.38 р. Скидка 7%: 27,841.87 р. Итого: 441,492.51 р соответственно расчёт делается по схеме итого = сумма заказа + ндс - скидка от сумма заказа а должно быть итого = сумма заказа + ндс - скидка от (сумма заказа + ндс) Есть у кого-нибудь мысли по этому поводу? Может я что то пропустил в механизме "Учитывать в заказе", по логике налоги должны идти к сумме, а потому же всё считаться, но на деле всё не так.
  15. Я относительно недавно начал своё знакомство с opencart, но первый взгляд на исходники оригинальной версии меня ужаснул (особенно SQL запросы), по поводу правок - ИХМО лучше делать правки, думается что не скоро оригинальный opencart дотянут до нормального продакшен, чтоб можно было заниматься только переводами.
  16. Проблему через пару дней можно и озвучить... З.Ы. ещё проще искать через гугля с привязкой к форуму, эффект больше (сэкономит до одного дня)
  17. Прошу прощенья за пиар, но вот есть https://opencartforum.com/files/file/173-news-reviews-для-ocstore-v022-и-v101/ платно, жалоб нет, все проблемы решаем.
  18. причёсанный варинат имеет место быть в ocstore 1.0.1?
  19. http://anton.shevchuk.name/php/embed-migration-integration-vanilla/
  20. costas

    о OpenCart

    И Вам не хворать...
  21. costas

    о OpenCart

    Непродвинутые обчно начинают с чтения документации, если Вы не в состоянии это сделать то тому виной не opencart, а обычное невежество.Вот тут документация для непродвинутых пользователей: http://oscmanuals.com/OpenCart/c32/p201/OpenCart-User-Manual/product_info.html http://www.opencart.com/index.php?route=documentation/documentation Документации на русском язык нет, если Вас не устраивает документация которую предоставил разработчик opencart, то може те написать свою на русском и помочь всем страждующим в освоении данного "скрипта", ну или предьявить свои претензии разработчикам, что они такие сякие не написали русскую документацию (хотя о чём это я, зачем её люди пишут...)
×
×
  • Створити...

Important Information

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