Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

pashast

Пользователи
  • Публикаций

    1 571
  • Зарегистрирован

  • Посещение

Все публикации пользователя 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. http://take.ms/S9jFA Косяки
  14. Если шаблон далек от дефолтного, то мод все равно придется править ручками. Нет, не в цикле. Цикл в этом файле. Минусов не увидел. Буду так верстать. :-)
  15. Верстаю шаблон. Вместо нескольких одинаковых шаблонов модулей bestseller.tpl, .featured.tpl, special.tpl итд создал один _product_layout.tpl. В каждом из них вместо кучи кода прописал одну строку <?php include DIR_APPLICATION . '/view/theme/themename/template/module/_product_layout.tpl'; Работает все нормально. Кто-то уже делал так? Чем грозит такой подход? Могут ли быть баги?
  16. 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/
  17. Неактуально. Видел вредоносный скрипт на опенкарте, который вызывал айфрейм. Скрипт был в описании товара, то есть заражение было на уровне базы данных. Соответственно этот способ не поможет, так как файлы на хостинге не изменялись.
  18. Сафари только под Mac с 6й версии. Проверил - отображается нормально
  19. Сафари 5? Мягко говоря, он несколько устарел :-D Лет так на 6
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.