Как наполнить opencart 2.3 fake-заказами

Подключиться к БД другого интернет-магазина и выкачать оттуда заказы с помощью запроса

INSERT INTO `obuffshop1`.`oc_order` (`invoice_no`, `invoice_prefix`, `store_id`, `store_name`, `store_url`, `customer_id`, `customer_group_id`, `firstname`, `lastname`, `email`, `telephone`, `fax`, `custom_field`, `payment_firstname`, `payment_lastname`, `payment_company`, `payment_address_1`, `payment_address_2`, `payment_city`, `payment_postcode`, `payment_country`, `payment_country_id`, `payment_zone`, `payment_zone_id`, `payment_address_format`, `payment_custom_field`, `payment_method`, `payment_code`, `shipping_firstname`, `shipping_lastname`, `shipping_company`, `shipping_address_1`, `shipping_address_2`, `shipping_city`, `shipping_postcode`, `shipping_country`, `shipping_country_id`, `shipping_zone`, `shipping_zone_id`, `shipping_address_format`, `shipping_custom_field`, `shipping_method`, `shipping_code`, `comment`, `total`, `order_status_id`, `affiliate_id`, `commission`, `marketing_id`, `tracking`, `language_id`, `currency_id`, `currency_code`, `currency_value`, `ip`, `forwarded_ip`, `user_agent`, `accept_language`, `date_added`, `date_modified`)
SELECT '0', 'INV-2013-00', '0', 'OBUFF.RU', 'https://obuff.ru/', '0', '1', `firstname`, `lastname`, `email`, `telephone`, `fax`, '[]', `payment_firstname`, `payment_lastname`, `payment_company`, `payment_address_1`, `payment_address_2`, `payment_city`, `payment_postcode`, `payment_country`, `payment_country_id`, `payment_zone`, `payment_zone_id`, `payment_address_format`, '[]', `payment_method`, `payment_code`, `shipping_firstname`, `shipping_lastname`, `shipping_company`, `shipping_address_1`, `shipping_address_2`, `shipping_city`, `shipping_postcode`, `shipping_country`, `shipping_country_id`, `shipping_zone`, `shipping_zone_id`, `shipping_address_format`, '[]', 'Фиксированная стоимость доставки', 'flat.flat', `comment`, `total`, '1', '0', '0.0000', '0', '', '1', '1', 'RUB', '1.00000000', `ip`, `forwarded_ip`, 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3', `accept_language`, `date_added`, `date_modified`

FROM `tastycoffe_test2`.`order`;

С помощью хранимой процедуры актуализируем заказы, на одну дату по пять заказов

BEGIN
    DECLARE idorder INT DEFAULT 0;
    Declare done integer default 0;
    DECLARE orcursor Cursor FOR 
    Select order_id from `obuffshop1`.`oc_order`;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1;

    Open orcursor;
    set @currentdate := '2017-01-02'; 
    set @i := 1;  
    WHILE done = 0 DO
        FETCH orcursor INTO idorder;
        
        IF (@i % 5 = 0) THEN
        
        update `obuffshop1`.`oc_order` set date_added = (@currentdate),date_modified=(@currentdate) where order_id=idorder;
        update `obuffshop1`.`oc_order` set date_added = (@currentdate),date_modified=(@currentdate) where order_id=idorder+1;
        update `obuffshop1`.`oc_order` set date_added = (@currentdate),date_modified=(@currentdate) where order_id=idorder+2;
        update `obuffshop1`.`oc_order` set date_added = (@currentdate),date_modified=(@currentdate) where order_id=idorder+3;
        update `obuffshop1`.`oc_order` set date_added = (@currentdate),date_modified=(@currentdate) where order_id=idorder+4;
        set @currentdate := DATE_ADD(@currentdate, INTERVAL 1 DAY);
        END IF;
       
        set @i := @i + 1;
    END WHILE;

    Close orcursor;
END

Если получились заказы из будущего, то запросом delete удаляем лишнии, в условии пишим WHERE date_added > now()
Также с помощью другой хранимой процедуры можно сделать число заказов случайным каждый день

   BEGIN
    DECLARE idorder INT DEFAULT 0;
    DECLARE rnumber FLOAT DEFAULT 0;
    Declare done integer default 0;
    DECLARE orcursor Cursor FOR 
    Select order_id from `obuffshop1`.`oc_order`;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1;

    Open orcursor;
    set @currentdate := '2017-01-02'; 
    set @i := 1;  
    WHILE done = 0 DO
        FETCH orcursor INTO idorder;
        Select rand() INTO rnumber;
        IF (@i % 3 = 0) THEN
        set @currentdate := DATE_ADD(@currentdate, INTERVAL 1 DAY);
        ELSE IF (rnumber < 0.5) THEN
         DELETE FROM `obuffshop1`.`oc_order` WHERE order_id = idorder;
         END IF;
        END IF;
       
        set @i := @i + 1;
    END WHILE;

    Close orcursor;
END

Берём ID добавленных заказов и копируем в другую таблицу order_history (столько раз выполняем этот запрос, чтобы число записей сравнялось с числом заказов).Лишнее удаляем запросом delete

INSERT INTO `obuffshop1`.`oc_order_history` (`order_id`, `order_status_id`, `notify`, `comment`, `date_added`)
SELECT `order_id`, '1', '0', '', `date_added`
FROM `obuffshop1`.`oc_order`;

Из таблицы product переносим записи в таблицу order_product

INSERT INTO `obuffshop1`.`oc_order_product` (`order_id`, `product_id`, `name`, `model`, `quantity`, `price`, `total`, `tax`, `reward`) 
SELECT '111', `product_id`, 'nameNa', `model`, '1', `price`, `price`, '0.0000', '0'
FROM `obuffshop1`.`oc_product`

Синхронизируем order_id в обоих таблицах order и oc_order_product
с помощью хранимой процедуры

BEGIN
    DECLARE idorder INT DEFAULT 0;
    Declare done integer default 0;
    DECLARE orcursor Cursor FOR 
    Select order_id from `obuffshop1`.`oc_order`;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1;

    Open orcursor;
    set @i := 1;
    WHILE done = 0 DO
        FETCH orcursor INTO idorder;
        
        update `obuffshop1`.`oc_order_product` set order_id = idorder where order_product_id=@i;
        set @i := @i+1;


    END WHILE;

    Close orcursor;
END

Тащим названия товаров из таблицы product_description в oc_order_product

UPDATE obuffshop1.oc_order_product as pr SET name = (SELECT name FROM obuffshop1.oc_product_description WHERE product_id = pr.product_id)

Возьмём из таблицы order_product цены и подставим в записи таблицы order в поле total

UPDATE `obuffshop1`.`oc_order` `ord` SET `total`=(SELECT price FROM `obuffshop1`.`oc_order_product` `pr` WHERE `pr`.order_id = `ord`.order_id)

В таблицу order_total вставляем для каждого заказа по одной записи

INSERT INTO obuffshop1.oc_order_total (order_id, code, title, value, sort_order)
SELECT order_id, 'total', 'Итого', total, '9'
FROM obuffshop1.oc_order

Далее требуются написать процедуры

guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

СТАТЬИ БЛОГА ПО РУБРИКЕ И МЕТКАМ

img

Какие включить доп. функции в плитку тегов

1. добавление тегов с автоподстановкой* через админку

*автоподстановкой названий товаров/категорий

см.видео

2. вывод плитки в любом месте шаблона через селекторы html(class или id)

см.видео

пояснения

подробная инструкция

3. замена дизайна плитки тегов с «карусели»(базовый дизайн) на «таблетки»

скрин (декстопная версия)

скрин (мобильная версия)


3а. замена изначального дизайна на «квадраты»

живой пример

скрины


3b. замена изначального дизайна на цепочку с кнопкой

живой пример

скрины


3c. замена изначального дизайна на дизайн с табами

скрин

живой пример_1

живой пример_2 (с картинками у тегов)

живой_пример_3 (с кнопкой <показать все>)


4. функция «упорядочивание тегов по полкам на витрине».

Подойдёт тем, у кого на одной странице очень много тегов и их нужно как-то упорядочить.

см.скриншот(декстоп)

см.скриншот(смартфон)

видео

живой пример

4а.Вывод плиток тегов в нескольких областях сразу

скриншот

инструкция

5. функция «отобразить плитку во всех товарах категории».

Допустим, у вас в магазине есть категория, в которой 500 товаров, а вам требуется добавить одну и туже плитку тегов в каждом из них. Если подключена данная функция, то достаточно добавить в эксель-файл для импорта только 1 строку и теги появятся на 500 страницах.


5_a. расширение функции №5 на подкатегории.


6. вывод плитки в листинге товаров

см.скрин

7. мультиязычность

с данной функцией отпадает необходимость создавать плитки под каждый язык отдельно

скриншот

8. Самостоятельный генератор тегов из товаров

см.статью


10. выгрузка всех тегов с сайта в эксель-файл

11. добавление тегов непосредственно в админке товара или категории

скрин

инструкция

12. Формирование посадочных страниц  к опциям/атрибутам стандартного фильтра

у страниц стандартного фильтра товаров появится ЧПУ(SEO URL), мета-теги (keywords,description), title (заголовок страницы) и h1.

видео


13. Ранжирование тегов по популярности

Какие включить доп. функции в плитку тегов

1. добавление тегов с автоподстановкой* через админку

*автоподстановкой названий товаров/категорий

см.видео

2. вывод плитки в любом месте шаблона через селекторы html(class или id)

см.видео

пояснения

подробная инструкция

3. замена дизайна плитки тегов с "карусели"(базовый дизайн) на "таблетки"

скрин (декстопная версия)

скрин (мобильная версия)


3а. замена изначального дизайна на "квадраты"

живой пример

скрины


3b. замена изначального дизайна на цепочку с кнопкой

живой пример

скрины


3c. замена изначального дизайна на дизайн с табами

скрин

живой пример_1

живой пример_2 (с картинками у тегов)

живой_пример_3 (с кнопкой <показать все>)


4. функция "упорядочивание тегов по полкам на витрине".

Подойдёт тем, у кого на одной странице очень много тегов и их нужно как-то упорядочить.

см.скриншот(декстоп)

см.скриншот(смартфон)

видео

живой пример

4а.Вывод плиток тегов в нескольких областях сразу

скриншот

инструкция

5. функция "отобразить плитку во всех товарах категории".

Допустим, у вас в магазине есть категория, в которой 500 товаров, а вам требуется добавить одну и туже плитку тегов в каждом из них. Если подключена данная функция, то достаточно добавить в эксель-файл для импорта только 1 строку и теги появятся на 500 страницах.


5_a. расширение функции №5 на подкатегории.


6. вывод плитки в листинге товаров

см.скрин

7. мультиязычность

с данной функцией отпадает необходимость создавать плитки под каждый язык отдельно

скриншот

8. Самостоятельный генератор тегов из товаров

см.статью


10. выгрузка всех тегов с сайта в эксель-файл

11. добавление тегов непосредственно в админке товара или категории

скрин

инструкция

12. Формирование посадочных страниц  к опциям/атрибутам стандартного фильтра

у страниц стандартного фильтра товаров появится ЧПУ(SEO URL), мета-теги (keywords,description), title (заголовок страницы) и h1.

видео


13. Ранжирование тегов по популярности

img

Создание мульти склада в opencart и получение остатков из 1С

  • Реализована возможность работать с несколькими складами в Opencart. Общий остаток товара складывается из остатков на складах.
  • Реализована передача остатков в интернет-магазин (ИМ) из выгрузки 1С.
  • Реализован вывод остатков по складам в карточке товара.

II. Подробное описание модуля

1.Передача остатков в ИМ настраивается с любых складов 1с, например, с основного склада и двух других.  Есть возможность использовать любые статусы наличия, например,

— если на «складе 1» товара нет, но на основном складе этот товар есть (или есть на складе 2), то в карточке на витрине будет показываться статус ожидание 1 день
— если нигде товара нет, то в карточке — статус нет в наличии
— если на выбранном складе товара менее Х штук, то статус — мало. (значение Х доступно для корректировки из админ-панели)

2. В модуле опенкарта реализована возможность добавлять/убирать склады и корректировать их настройки.  Чтобы работало обновление остатков из 1С, в настройках модуля требуется складам присвоить GUID из 1с.

3. Списание остатков производится в зависимости от способа доставки в заказе. Например, если выбрана курьерская доставка, то списание товара начнётся с основного склада, продолжится со склада 1 (при отсутствии на основном), далее со склада 2. Если в методе доставки заказа выбран самовывоз со склада 1 или со склада 2, то вначале списание произойдет с выбранного склада, затем с основного склада, и далее с последнего склада, где остались остатки. Приоритеты списания остатков настраиваются в админ-панели модуля.

Создание мульти склада в opencart и получение остатков из 1С

  • Реализована возможность работать с несколькими складами в Opencart. Общий остаток товара складывается из остатков на складах.
  • Реализована передача остатков в интернет-магазин (ИМ) из выгрузки 1С.
  • Реализован вывод остатков по складам в карточке товара.

II. Подробное описание модуля

1.Передача остатков в ИМ настраивается с любых складов 1с, например, с основного склада и двух других.  Есть возможность использовать любые статусы наличия, например,

-- если на "складе 1" товара нет, но на основном складе этот товар есть (или есть на складе 2), то в карточке на витрине будет показываться статус ожидание 1 день
-- если нигде товара нет, то в карточке - статус нет в наличии
-- если на выбранном складе товара менее Х штук, то статус - мало. (значение Х доступно для корректировки из админ-панели)

2. В модуле опенкарта реализована возможность добавлять/убирать склады и корректировать их настройки.  Чтобы работало обновление остатков из 1С, в настройках модуля требуется складам присвоить GUID из 1с.

3. Списание остатков производится в зависимости от способа доставки в заказе. Например, если выбрана курьерская доставка, то списание товара начнётся с основного склада, продолжится со склада 1 (при отсутствии на основном), далее со склада 2. Если в методе доставки заказа выбран самовывоз со склада 1 или со склада 2, то вначале списание произойдет с выбранного склада, затем с основного склада, и далее с последнего склада, где остались остатки. Приоритеты списания остатков настраиваются в админ-панели модуля.

img

Переход на https в opencart wordpress

Для wordpress

https://zen.yandex.ru/media/id/5b4ae96b3d0e9500a9a853c7/podkliuchenie-besplatnogo-sslsertifikata-na-hostinge-timeweb-5b5eb4e09bef9e00a82f7564

Для нулевых сайтов на opencart

Переход на https в opencart wordpress

Для wordpress https://zen.yandex.ru/media/id/5b4ae96b3d0e9500a9a853c7/podkliuchenie-besplatnogo-sslsertifikata-na-hostinge-timeweb-5b5eb4e09bef9e00a82f7564 Для нулевых сайтов на opencart
img

Переход на https в opencart wordpress

Для wordpress

https://zen.yandex.ru/media/id/5b4ae96b3d0e9500a9a853c7/podkliuchenie-besplatnogo-sslsertifikata-na-hostinge-timeweb-5b5eb4e09bef9e00a82f7564

Для нулевых сайтов на opencart

Переход на https в opencart wordpress

Для wordpress https://zen.yandex.ru/media/id/5b4ae96b3d0e9500a9a853c7/podkliuchenie-besplatnogo-sslsertifikata-na-hostinge-timeweb-5b5eb4e09bef9e00a82f7564 Для нулевых сайтов на opencart
img

Создание pdf с деталями заказа в письме клиенту. Opencart

Сделано в OPENCART 2.3. Скачать библиотеку, зайти в папку с ней через консоль команд и выполнить команды git clone https://github.com/dompdf/dompdf.git cd dompdf git clone https://github.com/PhenX/php-font-lib.git lib/php-font-lib cd lib/php-font-libgit checkout 0.5.1 cd .. git clone https://github.com/PhenX/php-svg-lib.git […]

Создание pdf с деталями заказа в письме клиенту. Opencart

Сделано в OPENCART 2.3. Скачать библиотеку, зайти в папку с ней через консоль команд и выполнить команды git clone https://github.com/dompdf/dompdf.git cd dompdf git clone https://github.com/PhenX/php-font-lib.git lib/php-font-lib cd lib/php-font-libgit checkout 0.5.1 cd .. git clone https://github.com/PhenX/php-svg-lib.git […]
img

Opencart. Добавить кнопку «повторить весь заказ» в истории заказов

Инструкция проверялась на Opencart 2.3 Opencart уже располагает похожим функционалом, но разница в том, что нужно заходить в интересующий заказ и нажимать повторить в каждом товаре, чтобы продублировать весь заказ Чтобы сократить работу покупателю, нужно […]

Opencart. Добавить кнопку «повторить весь заказ» в истории заказов

Инструкция проверялась на Opencart 2.3 Opencart уже располагает похожим функционалом, но разница в том, что нужно заходить в интересующий заказ и нажимать повторить в каждом товаре, чтобы продублировать весь заказ Чтобы сократить работу покупателю, нужно […]
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x