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

Адаптация модуля под OpenCart 3.x


Rubik

Recommended Posts

Доброе время суток. Подскажите пж хочу адаптировать модуль "Добавляем сортировку товаров по дате в админке Opencart 2.x" под  OpenCart 3.x контакты автора найти не удалось.

 

Код модуля под OpenCart 2

Спойлер

<modification>
    <name>Добавляет сортировку товаров по дате в админке</name>
    <version>1.0</version>
    <link>https://opencartmaster.ru</link>
    <author>Артем Шведов</author>
    <code>sort-date-admin</code>
 
    <file path="admin/controller/catalog/product.php">
        <operation>
            <search><![CDATA[protected function getList() {]]></search>
            <add position="after"><![CDATA[if (isset($this->request->get['filter_date_added'])) {
                  $filter_date = $this->request->get['filter_date_added'];
                      } else {
                            $filter_date = null;
                      }
             ]]></add>
        </operation>
        <operation>
            <search><![CDATA['filter_status'   => $filter_status,]]></search>
            <add position="after"><![CDATA['filter_date'     => $filter_date,
           ]]></add>
        </operation>
        <operation>
            <search><![CDATA[
              'status'     => $result['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
              ]]></search>
            <add position="after"><![CDATA[
                  'date_added' => $result['date_added'],
             ]]></add>
        </operation>
        <operation>
            <search><![CDATA[ $data['breadcrumbs'] = array();]]></search>
            <add position="before" index="1"><![CDATA[                        
                    if (isset($this->request->get['filter_date_added'])) {
                        $url .= '&filter_date_added=' . $this->request->get['filter_date_added'];
                    }
                ]]></add>
        </operation>
    </file>    
 
    <file path="admin/model/catalog/product.php">
        <operation>
            <search><![CDATA[$sql = "SELECT * FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id)";]]></search>
            <add position="after"><![CDATA[if (isset($data['filter_date_added']) && !is_null($data['filter_date_added'])) {
                      $sql .= " ORDER BY p.date_added '" . (int)$data['filter_date_added'] . "'";
                     }
               ]]></add>
        </operation>
        <operation>
            <search><![CDATA['p.sort_order']]></search>
            <add position="before"><![CDATA[
                'p.date_added',
             ]]></add>
        </operation>
    </file>
 
    <file path="admin/view/template/catalog/product_list.tpl">
        <operation>
            <search><![CDATA[<td class="text-right"><?php echo $column_action; ?></td>]]></search>
            <add position="before"><![CDATA[
                <td class="text-left">
                    <a href="<?php echo $sort_status.'&sort=p.date_added'; ?>">Дата </a>
                </td>
            ]]></add>
        </operation>
        <operation>
            <search><![CDATA[<td class="text-right"><a href="<?php echo $product['edit']; ?>" data-toggle="tooltip" title="<?php echo $button_edit; ?>" class="btn btn-primary"><i class="fa fa-pencil"></i></a></td>]]></search>
            <add position="before"><![CDATA[ 
                    <td class="text-left"><?php echo $product['date_added']; ?></td>
              ]]></add>
        </operation>
        <operation>
            <search><![CDATA[<button type="button" id="button-filter" class="btn btn-primary pull-right"><i class="fa fa-search"></i> <?php echo $button_filter; ?></button>]]></search>
            <add position="before"><![CDATA[<td class="center">&nbsp</td>]]></add>
        </operation>
    </file>
 
</modification>

 

Ошибка вот этого куска кода https://prnt.sc/p49m7w

Спойлер

if (isset($data['filter_date_added']) && !is_null($data['filter_date_added'])) {
                      $sql .= " ORDER BY p.date_added '" . (int)$data['filter_date_added'] . "'";
                     }

 

Ошибка в этой части кода

Спойлер

<file path="admin/model/catalog/product.php">
    <operation>
        <search><![CDATA[$sql = "SELECT * FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "'";]]></search>
        <add position="after"><![CDATA[if (isset($data['filter_date_added']) && !is_null($data['filter_date_added'])) {
                  $sql .= " ORDER BY p.date_added '" . (int)$data['filter_date_added'] . "'";
                 }]]>
        </add>
    </operation>

 

Спасибо!

Надіслати
Поділитися на інших сайтах


2 часа назад, Rubik сказал:

Ошибка вот этого куска кода 

Скорей всего вы его не туда "прилепили"

У вас ощ\шибка вылезла на шаблоне, а этого не должно быть

Надіслати
Поділитися на інших сайтах

Эту проблему решил.

Не подскажите как добавить ссылку на сортировку по дате

 

Вот так работает сортировка по статусу

Спойлер

<td class="text-left">{% if sort == 'p.status' %} <a href="{{ sort_status }}" class="{{ order|lower }}">{{ column_status }}</a> {% else %} <a href="{{ sort_status }}">{{ column_status }}</a> {% endif %}</td>

 

Сортировка по дате p.date_added но ссылка на главную страницу

Спойлер

<td class="text-right">{% if sort == 'p.date_added' %} <a href="{{ sort_p.date_added }}" class="{{ order|lower }}">{{ column_date }}</a> {% else %} <a href="{{ sort_p.date_added }}">{{ column_date }}</a> {% endif %}</td>

 

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

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

Important Information

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