Перейти к содержанию
Xio

Адаптация модуля "Таблица размеров" с ОС2.3

Рекомендуемые сообщения

По сабжу пробую адаптировать модуль с ос2.3 на ос 3.2. Застрял в одном месте, но не могу найти решания. Не работает модуль только на продукте, в админке все подключило, в  Uncaught Twig_Error_Syntax: Unknown "unserialize" function in "sitename/template/product/product.twig" at line 683.

 

Оригинальный код


 

        <file path="catalog/view/theme/*/template/product/product.tpl">
        <operation>
            <search><![CDATA[
            <?php echo $footer; ?>
            ]]></search>
            <add position="befor"><![CDATA[
                <!-- Modal -->
                <div id="sizeChartModal" class="modal fade" role="dialog">
                  <div class="modal-dialog" style="overflow-y: initial !important">

                    <!-- Modal content-->
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal">×</button>
                        <h4 class="modal-title"><?php echo $get_size_chart_detail['chart_title']; ?></h4>
                      </div>
                      <div class="modal-body" style="height: auto;overflow-y: auto;">
                        <?php echo $get_size_chart_detail['chart_description_top']; ?>
                                                <!-- Table Header -->
                                                <table class="sizechart">
                                                    <tr class="chart-header-bg">
                                                <?php
                                                    $kk=0;
                                                    foreach(unserialize($get_size_chart_detail['chart_headings']) as $chart_headings)
                                                        if(isset($chart_headings) && $chart_headings!='') {
                                                            echo '<th class="chart-header">'.$chart_headings.'</th>';
                                                            $kk++;
                                                        }
                                                     ?>
                                                 </tr>
                                                 <tr class="chart-data">
                                                <!-- Table Chart Data -->
                                                <?php
                                                $i = 1;
                                                foreach(unserialize($get_size_chart_detail['chart_data']) as $chart_data){
                                                    if(isset($chart_data) && $chart_data!='') {
                                                        echo '<td>'.$chart_data.'</td>';
                                                        if($i % $kk == 0){
                                                            echo '</tr><tr class="chart-data">';
                                                        }
                                                        $i++;
                                                    }
                                                } ?>
                                    </tr>
                               </table>
                              <br />
                       <?php echo $get_size_chart_detail['chart_description_bottom']; ?>
                      </div>
                    </div>

                  </div>
                </div>
            ]]></add>
        </operation>
    </file>

Код который был переделан через phptotwig.com


 

  <file path="catalog/view/theme/*/template/product/product.twig">
        <operation>
            <search><![CDATA[
            {{ footer }}
            ]]></search>
            <add position="before"><![CDATA[
          <!-- Modal -->
          <div id="sizeChartModal" class="modal fade" role="dialog">
            <div class="modal-dialog" style="overflow-y: initial !important">
              <!-- Modal content-->
              <div class="modal-content">
                <div class="modal-header">
                  <button type="button" class="close" data-dismiss="modal">×</button>
                  <h4 class="modal-title">{{ get_size_chart_detail['chart_title'] }}</h4>
                </div>
                <div class="modal-body" style="height: auto;overflow-y: auto;">
                       {{ get_size_chart_detail['chart_description_top'] }}
                        <!-- Table Header -->
                        <table class="sizechart">
                            <tr class="chart-header-bg">
                                {% set kk=0 %}
                                {% for chart_headings in unserialize(get_size_chart_detail['chart_headings']) %}
                                {% if (chart_headings is defined and chart_headings != '') %}
                                {{ '<th class="chart-header">'~chart_headings~'</th>' }}
                                {% set kk = kk + 1 %}
                                {% endfor %}
                                {% endif %}

                             </tr>
                             <tr class="chart-data">
                            <!-- Table Chart Data -->
                                    {% set i = 1 %}
                                    {% for chart_data in unserialize(get_size_chart_detail['chart_data']) %}
                                        {% if (chart_data is defined and chart_data != '') %}
                                            {{ '<td>'~chart_data~'</td>' }}
                                            {% if (i % kk == 0) %}
                                                {{ '</tr><tr class="chart-data">' }}
                                            {% endif %}
                                            {% set i = i + 1 %}
                                        {% endif %}
                                    {% endfor %}
                        </tr>
                        </table>
                    <br />
                    {{ get_size_chart_detail['chart_description_bottom'] }}
                </div>
              </div>
            </div>
          </div>
            ]]></add>
        </operation>
    </file>

Так как я особо не знаю PHP, а с twig знаком только с jekyll кто-то может подсказать или помочь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, Xio сказал:

{% for chart_headings in unserialize(get_size_chart_detail['chart_headings']) %}

сделайте десериализацию в контроллере

 

7 минут назад, Xio сказал:

в  Uncaught Twig_Error_Syntax: Unknown "unserialize" function

Твиг не знает такой функции

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, thentru сказал:

сделайте десериализацию в контроллере

 

Твиг не знает такой функции

В контроллере  у меня

        $data['chart_data'] = $this->model_extension_sizechart->edit($_GET['chart_id']);
        $data['chart_headings'] = unserialize($data['chart_data']['chart_headings']);
        $data['chart_size'] = unserialize($data['chart_data']['chart_data']);

Я правильно, понял, что мне здесь нужно сделать десериализацию?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, Xio сказал:

Я правильно, понял, что мне здесь нужно сделать десериализацию?

можно и так

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, thentru сказал:

можно и так

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

get_size_chart_detail
Изменено пользователем Xio

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел в чем проблема убрал в самом коде twig

unserialize. сейчас вылазит только Uncaught Twig_Error_Syntax: Unexpected "endfor" tag (expecting closing tag for the "if" tag defined near line 140)

 

что соотвественно на неправильность нашей структуры самого кода твига. Причем нижняя часть char-data for и if  работает без проблем

Исправил ошибок больше нет, но почему-то данные с th и tr не передаются

 

                            {% set kk=0 %}
                            {% for chart_headings in (get_size_chart_detail['chart_headings']) %}
                                {% if (chart_headings is defined and chart_headings != '') %}
                                    {{ '<th class="chart-header">'~chart_headings~'</th>' }}
                                {% endif %}
                                    {% set kk = kk + 1 %}
                            {% endfor %}   

 

Как узнать почему данные таблицы не передаются? или и-за того что я убрал unserialze  в самом twig?

 

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

Изменено пользователем Xio

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 minutes ago, Xio said:

 {{ '<th class="chart-header">'~chart_headings~'</th>' }}

это что за ужас?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
14 минут назад, lexxkrt сказал:

это что за ужас?

То, что адаптировал phptotwig.com

 

Оригинал попробую его поковырять

echo '<th class="chart-header">'.$chart_headings.'</th>';

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
38 minutes ago, Xio said:

То, что адаптировал phptotwig.com

 

Оригинал попробую его поковырять


echo '<th class="chart-header">'.$chart_headings.'</th>';

<th class="chart-header">{{ chart_headings }}</th>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Waha
      550.00 руб
      Скачать/Купить дополнение


      OCHELP - Таблица размеров Opencart 2.x
      OCHELP - Таблица размеров - модуль позволяет создать неограниченное количество таблиц с размерами для ваших товаров с привязкой к категории и производителю. Пригодится абсолютно всем магазинам у которых есть товары с размерной сеткой, особенно актуально когда у производителей различные размеры.

      P.S Также модуль можно использовать с целью привязки определенных акций, информационных блоков итд. Другие способы использования модуля ограничены вашей фантазией
       
      Доступные функции:
      Создание таблиц с размерами Встроенные визуальный редактор для удобного добавления информации Полная Мультиязычность Не ограниченное количество таблиц Привязка к 1 или нескольким категориям (обязательная опция) Привязка к производителю (не обязательно) Вывод таблицы во всплывающем окне Произвольное название кнопки Например: "Таблица размеров" Настраиваемая позиция вывода кнопки с привязкой к ID или Классу элемента в шаблоне Возможность использовать единую таблицу для всех товаров Использует собственные таблицы в БД для хранения данных  
      Обязательное к заполнению поле "Текст ссылки" - заполните его до сохранения таблиц! При создании таблицы Вы выбираете категории (и производителя) для тех товаров в которых будет выведена таблица, автоматически.
      Если у Вам не нужна привязка к производителям, ставите в настройках "Игнорировать производителя" Не старайтесь привязать одновременно таблицу к одному и тому же производителю и категории (дубль). Выводиться будет таблица которая добавлена последней. При нажатии на удаление таблицы, она удаляется из Базы данных! Если "Заголовок блока" таблицы размеров не задан, выведется текст из поля "Текст ссылки" - Например: таблица размеров Модуль использует OCMOD для подключения и вывода на странице товара  
      По вопросам адаптации под шаблон или изменения способа вывода (Например в описании или во вкладке) пишите в ЛС, отвечаю быстро.
       
      Инструкция по установке:
      Модуль идет в виде модуля + ocmod модификации
      Убедитесь, что у Вас установлен ocmod отключающий фтп загрузку - Ссылка Установите zip архив, как обычный ocmod (Распакововать и заливать в корень не надо!) Обновите кеш модификаций Выдайте права на просмотр/изменение Система - Пользователи - Группы пользователей Зайдите в Дополнения - Модули - Установите модуль Задайте настройки в модуле "OC-HELP.com -  Таблица размеров"  
      Настоятельно рекомендую, покупать модуль под каждый домен, таким образом Вы поддерживаете развитие и разработку модуля. А также всегда можете рассчитывать на техническую поддержку.
       
      Если при установке появилась ошибка:
      - проверьте установлены ли права на модуль
      - Нажмите на кнопку удаления модуля и установите модуль снова
      Если кнопка в товаре не появилась:
      - необходимо проверить правильно ли указали настройки расположения модуля
       
      Если Вы не уверенны в своих знаниях платформы и не можете самостоятельно установить модули, рекомендую покупать модуль + установка на форуме. Это сэкономит Вам время и нервы.
       
      Демо на dev2.oc-help.com
      Демо: Админ-пенель
      Логин: demo
      пароль: demo
       
      Также рекомендую:
      - СМС уведомления для админа, клиента
      - Просмотренные товары (История просмотров)
      - Акционные товары с таймером
      - Товары из категорий
      - Все товары магазина
      Добавил Waha Добавлено 10.10.2017 Категория Модули Системные требования Сайт разработчика https://oc-help.com Старая цена Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      Не проверялось  
    • От zello
      700.00 руб
      Скачать/Купить дополнение


      SizeGrid
      Модуль позволяет создавать таблицы соответствий размеров с описанием.
       
      Возможности
      Удобное создание, удаление, редактирование таблиц размеров (размерных сеток) Привязка размерной сетки к категории товара (но отображение только в карточке товара) Каждая размерная сетка содержит две вкладки: для описания и самой таблицы Предварительный просмотр прямо в админке (может отличаться от отображения в магазине) Возможность выбора цвета выделения в размерной сетке После установки и настройки в карточке товара возле кнопки добавить в корзину появляется кнопка SizeGid Размерная сетка в модальном окне  
      Установка
      Распакуйте архив в корневую папку магазина
      После установки обязательно нужно добавить в схему "ПРОДУКТ".
       
      Модуль тестировался на ocStore 2.1.0.2.1, частичная совместимость с недефолтными шаблонами.
      Готов оказать помощь в адаптации к вашему шаблону.
       
      Добавлена версия для opencart-2.3.0.2-rs!
       
      Добавил zello Добавлено 15.05.2017 Категория Прочее Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.1 ocStore 2.3
      2.1 OpenCart.Pro, ocShop  
    • От zello
      Модуль позволяет создавать таблицы соответствий размеров с описанием.
       
      Возможности
      Удобное создание, удаление, редактирование таблиц размеров (размерных сеток) Привязка размерной сетки к категории товара (но отображение только в карточке товара) Каждая размерная сетка содержит две вкладки: для описания и самой таблицы Предварительный просмотр прямо в админке (может отличаться от отображения в магазине) Возможность выбора цвета выделения в размерной сетке После установки и настройки в карточке товара возле кнопки добавить в корзину появляется кнопка SizeGid Размерная сетка в модальном окне  
      Установка
      Распакуйте архив в корневую папку магазина
      После установки обязательно нужно добавить в схему "ПРОДУКТ".
       
      Модуль тестировался на ocStore 2.1.0.2.1, частичная совместимость с недефолтными шаблонами.
      Готов оказать помощь в адаптации к вашему шаблону.
       
      Добавлена версия для opencart-2.3.0.2-rs!
       
    • От Waha
      OCHELP - Таблица размеров - модуль позволяет создать неограниченное количество таблиц с размерами для ваших товаров с привязкой к категории и производителю. Пригодится абсолютно всем магазинам у которых есть товары с размерной сеткой, особенно актуально когда у производителей различные размеры.

      P.S Также модуль можно использовать с целью привязки определенных акций, информационных блоков итд. Другие способы использования модуля ограничены вашей фантазией
       
      Доступные функции:
      Создание таблиц с размерами Встроенные визуальный редактор для удобного добавления информации Полная Мультиязычность Не ограниченное количество таблиц Привязка к 1 или нескольким категориям (обязательная опция) Привязка к производителю (не обязательно) Вывод таблицы во всплывающем окне Произвольное название кнопки Например: "Таблица размеров" Настраиваемая позиция вывода кнопки с привязкой к ID или Классу элемента в шаблоне Возможность использовать единую таблицу для всех товаров Использует собственные таблицы в БД для хранения данных  
      Обязательное к заполнению поле "Текст ссылки" - заполните его до сохранения таблиц! При создании таблицы Вы выбираете категории (и производителя) для тех товаров в которых будет выведена таблица, автоматически.
      Если у Вам не нужна привязка к производителям, ставите в настройках "Игнорировать производителя" Не старайтесь привязать одновременно таблицу к одному и тому же производителю и категории (дубль). Выводиться будет таблица которая добавлена последней. При нажатии на удаление таблицы, она удаляется из Базы данных! Если "Заголовок блока" таблицы размеров не задан, выведется текст из поля "Текст ссылки" - Например: таблица размеров Модуль использует OCMOD для подключения и вывода на странице товара  
      По вопросам адаптации под шаблон или изменения способа вывода (Например в описании или во вкладке) пишите в ЛС, отвечаю быстро.
       
      Инструкция по установке:
      Модуль идет в виде модуля + ocmod модификации
      Убедитесь, что у Вас установлен ocmod отключающий фтп загрузку - Ссылка Установите zip архив, как обычный ocmod (Распакововать и заливать в корень не надо!) Обновите кеш модификаций Выдайте права на просмотр/изменение Система - Пользователи - Группы пользователей Зайдите в Дополнения - Модули - Установите модуль Задайте настройки в модуле "OC-HELP.com -  Таблица размеров"  
      Настоятельно рекомендую, покупать модуль под каждый домен, таким образом Вы поддерживаете развитие и разработку модуля. А также всегда можете рассчитывать на техническую поддержку.
       
      Если при установке появилась ошибка:
      - проверьте установлены ли права на модуль
      - Нажмите на кнопку удаления модуля и установите модуль снова
      Если кнопка в товаре не появилась:
      - необходимо проверить правильно ли указали настройки расположения модуля
       
      Если Вы не уверенны в своих знаниях платформы и не можете самостоятельно установить модули, рекомендую покупать модуль + установка на форуме. Это сэкономит Вам время и нервы.
       
      Демо на dev2.oc-help.com
      Демо: Админ-пенель
      Логин: demo
      пароль: demo
       
      Также рекомендую:
      - СМС уведомления для админа, клиента
      - Просмотренные товары (История просмотров)
      - Акционные товары с таймером
      - Товары из категорий
      - Все товары магазина
    • От Gerald
      Добрый день!
      Нужен модуль который бы выводил разные таблицы размеров по определенному производителю.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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