Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


Xio
 Share

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 кто-то может подсказать или помочь?

Link to comment
Share on other sites


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

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

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

 

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

в  Uncaught Twig_Error_Syntax: Unknown "unserialize" function

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

Link to comment
Share on other sites


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']);

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

Link to comment
Share on other sites


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

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

можно и так

Link to comment
Share on other sites


5 минут назад, thentru сказал:

можно и так

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

get_size_chart_detail
Edited by Xio
Link to comment
Share on other sites


Нашел в чем проблема убрал в самом коде 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?

 

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

Edited by Xio
Link to comment
Share on other sites


14 минут назад, lexxkrt сказал:

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

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

 

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

echo '<th class="chart-header">'.$chart_headings.'</th>';
Link to comment
Share on other sites


38 minutes ago, Xio said:

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

 

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

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

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

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.