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

iMateo

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

    57
  • З нами

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

Повідомлення, опубліковані користувачем iMateo

  1. Привет!

    Столкнулся с понятием Событий в OpenCart (в админке Дополнения->События). Очень крутая штука, которая позволяет запускать какие-то функции модулей и компонентов по каким-то событиям, например регистрация пользователя или создание нового товара в админке.

     

    В общем, все очень круто. Но! Документация до смешного скудная, хоть Дэниэля хоть iSensLab, нет ни описание всех событий ни каких-то описаний, как дебажить на предмет ошибок. Основная проблема в том, что сработал или нет ваш скрипт вы НЕ узнаете, т.к. ошибки не пишутся в error.log.

     

    Вопрос: знаете ли вы, существует ли модуль для дебага Событий или может статейка какая-то с подробным описанием функции Событий в OpenCart?

  2. Описанные правки проверены для версии модуля Export Import Tool версии 3.7!

     

    Поле, которое добавим будет называться main_product. Вы точно так же можете на свое изменить :)

    После:

    $location = $this->db->escape($product['location']);
    $location = $this->db->escape($product['location']);
    $store_ids = $product['store_ids'];
    $layout = $product['layout'];
    $related_ids = $product['related_ids'];
    $subtract = $product['subtract'];
    $subtract = ((strtoupper($subtract)=="TRUE") || (strtoupper($subtract)=="YES") || (strtoupper($subtract)=="ENABLED")) ? 1 : 0; $minimum = $product['minimum'];

    Добавить:

    $main_product = $product['main_product'];

    ------------------------------

    Далее, изменить строку:

    $sql .= "`tax_class_id`,`viewed`,`length`,`width`,`height`,`length_class_id`,`sort_order`,`subtract`,`minimum`) VALUES ";

    На 

    $sql .= "`tax_class_id`,`viewed`,`length`,`width`,`height`,`length_class_id`,`sort_order`,`subtract`,`minimum`,`main_product`) VALUES ";

    Обратите внимание на кавычки! Они должны быть именно такими, или код ошибку выдаст.

    ------------------------------

    Строку:

    $sql .= "$tax_class_id,$viewed,$length,$width,$height,'$length_class_id','$sort_order','$subtract','$minimum');";

    Изменить на:

    $sql .= "$tax_class_id,$viewed,$length,$width,$height,'$length_class_id','$sort_order','$subtract','$minimum','$main_product');";

    ------------------------------

    После:

    $sort_order = $this->getCell($data,$i,$j++,'0');
    $sort_order = $this->getCell($data,$i,$j++,'0');
    $subtract = $this->getCell($data,$i,$j++,'true');
    $minimum = $this->getCell($data,$i,$j++,'1');

    Добавить:

    $main_product = $this->getCell($data,$i,$j++,'0');

    ------------------------------

    После:

    $product['subtract'] = $subtract;
    $product['subtract'] = $subtract;
    $product['minimum'] = $minimum;

    Добавить:

    $product['main_product'] = $main_product;

    ------------------------------

    Строку:

    $expected_heading = array_merge( $expected_heading, array( "meta_description", "meta_keywords", "stock_status_id", "store_ids", "layout", "related_ids", "tags", "sort_order", "subtract", "minimum") );

    Изменить на:

    $expected_heading = array_merge( $expected_heading, array( "meta_description", "meta_keywords", "stock_status_id", "store_ids", "layout", "related_ids", "tags", "sort_order", "subtract", "minimum", "main_product" ) );

    ------------------------------

    После:

    $sql .= "  p.stock_status_id, ";
    $sql .= "  p.stock_status_id, ";
    $sql .= "  mc.unit AS length_unit, ";
    $sql .= "  p.subtract, "; $sql .= "  p.minimum, ";

    Добавить:

    $sql .= " p.main_product, ";

    Обратите внимание на пробел после p.main_product, это важно, не забудьте его поставить!

    ------------------------------

    После:

    $worksheet->getColumnDimensionByColumn($j++)->setWidth(max(strlen('sort_order'),8)+1);
    $worksheet->getColumnDimensionByColumn($j++)->setWidth(max(strlen('sort_order'),8)+1);
    $worksheet->getColumnDimensionByColumn($j++)->setWidth(max(strlen('subtract'),5)+1);
    $worksheet->getColumnDimensionByColumn($j++)->setWidth(max(strlen('minimum'),8)+1);

    Добавить:

    $worksheet->getColumnDimensionByColumn($j++)->setWidth(max(strlen('main_product'),8)+1);

    ------------------------------

    После:

    $data[$j++] = 'sort_order';
    $data[$j++] = 'sort_order';
    $data[$j++] = 'subtract';
    $data[$j++] = 'minimum';

    Добавить:

    $data[$j++] = 'main_product';

    -------------------------------

    ПОСЛЕДНИЕ ПРАВКИ! После:

    $data[$j++] = $row['sort_order'];
    $data[$j++] = $row['sort_order'];
    $data[$j++] = ($row['subtract']==0) ? 'false' : 'true';
    $data[$j++] = $row['minimum'];

    Добавить:

    $data[$j++] = $row['main_product'];

     

  3. Кнопка "Редактировать товар"


    Кнопка "Редактировать товар"


    Простой и удобный модуль для удобного редактирования товаров.

    Для залогиненого администратора возле кнопки "Купить" в карточке товара появляется "Редактировать этот товар", по клику открывает сразу админку на странице редактирования этого товара.

     

    Простая установка через ocmod.

     

    Тестировалось на дефолтном шаблоне! Если у вас другой – скорее всего потребуется доработка напильником.


    • Добавил
    • Добавлено
      02.10.2017
    • Категория
    • Системные требования
    • Метод активации
      Без активации
    • Ioncube Loader
      Нет
    • ocStore
      2.3
      2.2
      2.1
    • OpenCart.Pro, ocShop
      Не проверялось
    • Обращение к серверу разработчика

     

    • +1 1
  4. Всем привет!

    По рабочим задачам написал статью о том, как в популярный Export Import Tool добавить свое поле обмена. Вставлять целиком в пост не уверен, что нужно (ну, только если модераторы сочтут нужным).

    Так же готов оказать посильную помощь в этом вопросе, т.к. потратил на это полных два рабочих дня!

  5. В 18.09.2017 в 14:43, USSRforum сказал:

    Имеется в виду - создаются таблицы товаров и категорий или полностью вся база данных копируется?

     

    Создаются таблицы товаров и категорий. Небольшое неудобство, что все это потом перепривязать нужно.

  6. Всем привет!

     

    Есть живая реализация такой функции для 1.5.х

    Для 2.х в разработке.

    Без интеграции такие решения не заведутся (скачал-установил-пользуйся), т.к. создается альтернативный каталог в базе данных (родной на несколько складов ну вообще не заточен), а следовательно нужно адаптировать установленные модули.

  7. Ай красавчик, спасибо за модуль!

     

    P.S. Немного добавлю. Если у вас есть претензии к модулю (ну такие, серьезные), помните, что этот модуль БЕСПЛАТЕН. Мне он по душе, т.к. я могу ручками в нем что-то исправить, что мне не нравится и это лучше чем писать что-то такое с нуля, ну прям на неделю-две лучше и мне есть куда потратить это время, чем писать с нуля модуль блога.

    Поэтому автору респект и уважуха (с).

     

    P.S. Найду баги - обязательно сообщу.

  8. Здравствуйте!

     

    Есть задача фильтровать по умолчанию товары в категории по двум параметрам: цена (по возрастанию) и наличию (товары, которых нет в конце категории). Собственно, сам код нашелся, он в модели товара, но фильтр перезаписывает поверх свои сортировки (сразу, без выбора параметров) при загрузке страницы.

     

    Хотел исправить, но оказалось, что модель фильтра зашифрована ionCube. Подскажите что можно сделать?

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

Important Information

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