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

pashast

Users
  • Posts

    1,571
  • Joined

  • Last visited

Everything posted by pashast

  1. Следующий SQL-запрос позволит сгенерировать любое количество категорий товаров для тестирования магазина. Единственное, у пользователя БД должен быть доступ к процедурам. Запрос написан под opencart, при желании можете переделать под ocstore. DROP PROCEDURE IF EXISTS `random_category`; DELIMITER $$ CREATE PROCEDURE `random_category` (IN `counter` INT(3), IN `subcat` INT(3), IN `product` INT(4)) BEGIN DECLARE category_id int(11); DECLARE subcat_id int(11); DECLARE product_id int(11); DECLARE subcat_counter int(11); DECLARE product_counter int(11); DECLARE empty_col varchar(11); DECLARE parent_id int(11); DECLARE top tinyint(1); DECLARE top_subcat tinyint(1); DECLARE column_col tinyint(1); DECLARE sort_order int(3); DECLARE status tinyint(1); DECLARE date_added datetime; DECLARE date_modified datetime; DECLARE language_id int(11); DECLARE name_col varchar(255); DECLARE subcat_name varchar(255); DECLARE product_name varchar(255); DECLARE description text; DECLARE product_description text; DECLARE meta_title varchar(255); DECLARE meta_description varchar(255); DECLARE meta_keyword varchar(255); DECLARE store_id int(11); SET category_id = 1; SET product_id = 1; SET empty_col = ''; SET parent_id = 0; SET top = 1; SET top_subcat = 0; SET column_col = 6; SET sort_order = 0; SET status = 1; SET date_added = NOW(); SET date_modified = NOW(); SET language_id = 1; SET store_id = 0; main_loop: WHILE category_id < counter DO SET name_col = CONCAT_WS(' ', 'Category', category_id); SET description = CONCAT_WS(' ', 'Lorem ipsum dolor si amet', category_id); SET meta_title = CONCAT_WS(' ', 'meta_title', category_id); SET meta_description = CONCAT_WS(' ', 'meta_description', category_id); SET meta_keyword = CONCAT_WS(' ', 'meta_keyword', category_id); INSERT INTO oc_category VALUES (category_id, empty_col, parent_id, top, column_col, category_id, status, date_added, date_modified); INSERT INTO oc_category_description VALUES (category_id, language_id, name_col, description, meta_title, meta_description, meta_keyword); INSERT INTO oc_category_to_store VALUES (category_id, store_id); SET subcat_id = category_id + 1; SET subcat_counter = category_id + subcat; subcat_loop: WHILE subcat_id < subcat_counter DO SET name_col = CONCAT_WS(' ', 'SubCategory', subcat_id); INSERT INTO oc_category VALUES (subcat_id, empty_col, category_id, top_subcat, column_col, subcat_id, status, date_added, date_modified); INSERT INTO oc_category_description VALUES (subcat_id, language_id, name_col, description, meta_title, meta_description, meta_keyword); INSERT INTO oc_category_to_store VALUES (subcat_id, store_id); SET product_counter = product_id + product; product_loop: WHILE product_id < product_counter DO SET product_name = CONCAT_WS(' ', 'Product', product_id); SET product_description = CONCAT_WS(' ', 'Lorem ipsum dolor si amet', product_id); INSERT INTO oc_product (product_id, model, sort_order, status, date_added, date_modified) VALUES (product_id, product_id, product_id, status, date_added, date_modified); INSERT INTO oc_product_description (product_id, language_id, name, description, meta_title, meta_description) VALUES (product_id, language_id, product_name, product_description, product_name, product_name); INSERT INTO oc_product_to_category VALUES (product_id, subcat_id); INSERT INTO oc_product_to_store VALUES (product_id, store_id); SET product_id = product_id + 1; END WHILE product_loop; SET subcat_id = subcat_id + 1; END WHILE subcat_loop; SET category_id = subcat_id + 1; END WHILE main_loop; END;$$ DELIMITER ; На видео - пример. Генерируется ВСЕГО 400 категорий, Родительские категории разбиты на подкатегории по 40штук В каждой подкатегории 50 товаров итого выходит (400-(400/40))*50 = 19500 товаров товары и категории перед выполнением процедуры нужно все удалить переменные в процедуру можете подставлять любые Будьте осторожны, не вводите слишком большие значения, я по ошибке сгенерил 5 000 000 товаров, сервер завис на 5 минут :ugeek:
  2. А его и не должно быть. Создайте новый параметр фильтрации и назовите его mpn http://take.ms/ZGU1y
  3. Нужно создать фильтр в фильтрах, и включить его в модулях, нужных категориях и товарах, тогда должно заработать
  4. У ocshop нет своей поддержки? Что-то много вопросов по этой сборке.
  5. <table class="table table-bordered"> <?php if ($manufacturer) { ?> <tr> <td><?php echo $text_manufacturer; ?></td><td><a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></td> </tr> <?php } ?> <tr> <td><?php echo $text_model; ?></td><td><?php echo $model; ?></td> </tr> <?php if ($reward) { ?> <tr> <td><?php echo $text_reward; ?></td><td><?php echo $reward; ?></td> </tr> <?php } ?> <tr> <td><?php echo $text_stock; ?></td><td><?php echo $stock; ?></td> </tr> </table>
  6. Было такое недавно на одном из сайтов, удалились некоторые пхп-файлы. Не придал особого значения. Восстановил из бекапа. Потом через неделю вирусы полезли. Проверьте на вирусы этим например, https://www.revisium.com/ai/
  7. по первому вопросу - аналогично как и на предыдущих версиях, поищите по форуму, неоднократно обсуждалось по второму в файле catalog/model/catalog/product.php ~160 строка if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)"; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY p.sort_order"; } заменить на if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY IF(p.quantity <= 0, 1, 0), LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY IF(p.quantity <= 0, 1, 0), (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)"; } else { $sql .= " ORDER BY IF(p.quantity <= 0, 1, 0), " . $data['sort']; } } else { $sql .= " ORDER BY IF(p.quantity <= 0, 1, 0), p.sort_order"; } Для затемнения серым, можно, например, передать количество товара в нужный шаблон и прописать условие, если количество <= 0, то присвоить определенный CSS-класс
  8. Мы показываем ссылки сайта только в том случае, если они могут оказаться полезными. Если структура ресурса не позволяет нашим алгоритмам выявить разделы, соответствующие запросу, ссылки показаны не будут. https://support.google.com/webmasters/answer/47334?hl=ru не поможет - если сайт никакой
  9. Проверил на 2.1.0.2. Баг присутствует, если открыть две вкладки, одна с админкой, вторая с каталогом. Если отредактировать заказ в админке, то в корзину в каталоге попадут товары из этого заказа. :-) Если сессии разные (разные браузеры или пк) - бага нет.
  10. Те которые, начинаются на attribute_ category_ manufacturer_ option_ product_ Только бекап сначала сделайте в панели хостера
  11. Если версии движка одинаковые в обеих магазинах, то можно использовать стандартную функцию система->бекап\восстановление.
  12. Если шаблон далек от дефолтного, то мод все равно придется править ручками. Нет, не в цикле. Цикл в этом файле. Минусов не увидел. Буду так верстать. :-)
  13. Верстаю шаблон. Вместо нескольких одинаковых шаблонов модулей bestseller.tpl, .featured.tpl, special.tpl итд создал один _product_layout.tpl. В каждом из них вместо кучи кода прописал одну строку <?php include DIR_APPLICATION . '/view/theme/themename/template/module/_product_layout.tpl'; Работает все нормально. Кто-то уже делал так? Чем грозит такой подход? Могут ли быть баги?
  14. https://opencartforum.com/topic/48912-%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%8B-%D0%B4%D0%BE%D1%87%D0%B5%D1%80%D0%BD%D0%B8%D1%85-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B9-%D0%B2-%D1%80%D0%BE%D0%B4%D0%B8%D1%82%D0%B5/
  15. Неактуально. Видел вредоносный скрипт на опенкарте, который вызывал айфрейм. Скрипт был в описании товара, то есть заражение было на уровне базы данных. Соответственно этот способ не поможет, так как файлы на хостинге не изменялись.
  16. Сафари только под Mac с 6й версии. Проверил - отображается нормально
  17. Сафари 5? Мягко говоря, он несколько устарел :-D Лет так на 6
×
×
  • 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.