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

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


Xio

Recommended Posts

По сабжу пробую адаптировать модуль с ос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
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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