Автор Тема: Модуль СДЭК  (Прочитано 36 раз)

11 Октябрь 2017, 14:29:18
  • Фрилансер
  • *
  • Сообщений: 104
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
При установке возникла ошибка выполнения скрипта js:

Uncaught SyntaxError: Unexpected token <

Своими силами и силами разработчика модуля купировать поблему не получилось

сайт: https://imagine-parfum.ru

листинг кода где происходит ошибка:

<script type="text/javascript">
    var cdek_carriers = {$cdek_carriers|json_encode nofilter};
    var cdek_dir = "{$cdek_dir|escape:'quotes':'UTF-8'}";
    var cdek_address_parameter = {$cdek_address_parameter|intval};
</script>
<script type="text/html" id="cdek_address">
    <div class="cdek_address">
        <div class="form-group clearfix">
            <label class="control-label col-lg-3">{l s='Street' mod='cdek'}</label>
            <div class="col-lg-9">
                <input data-cdek-address class="cdek_street form-control">
            </div>
        </div>
        <div class="form-group clearfix">
            <label class="control-label col-lg-3">{l s='House' mod='cdek'}</label>
            <div class="col-lg-9">
                <input data-cdek-address class="cdek_house form-control">
            </div>
        </div>
        <div class="form-group clearfix">
            <label class="control-label col-lg-3">{l s='Flat' mod='cdek'}</label>
            <div class="col-lg-9">
                <input data-cdek-address class="cdek_flat form-control">
            </div>
        </div>
    </div>
</script>

<script type="text/html" id="cdek_pvz_list">
    <div class="cdek_pvz_list">
        <div class="cdek_selected">
            %selected%
        </div>
        <div class="cdek_list">
            %list%
        </div>
    </div>
</script>

<script type="text/html" id="cdek_pvz_list_item">
    <div class="cdek_pvz_list_item %active%" data-code="%code%">
        <div class="click_for_select">
            {l s='Please, click for select' mod='cdek'}
        </div>
        <div>{l s='Address' mod='cdek'}: %city%, %address%</div>
        <div>{l s='Phone' mod='cdek'}: %phone%</div>
        <div>{l s='Work time' mod='cdek'}: %work_time%</div>
    </div>
</script>

лажа в этом  участке:

   var cdek_address_parameter = {$cdek_address_parameter|intval};
</script>
<script type="text/html" id="cdek_address">
    <div class="cdek_address">

Блокируется выполнение других js-скриптов.
Понимаю, что интерпретатору не нравится html -код, перенос его в переменные js проблему не исправило


11 Октябрь 2017, 15:04:48
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1047
  • Репутация: +3/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Версии jquery сравните для модуля и для движка.
11 Октябрь 2017, 15:13:44
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 104
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Они используют jquery движка
12 Октябрь 2017, 01:47:37
Ответ #3
  • Фрилансер
  • *
  • Сообщений: 131
  • Репутация: +1/-1
  • Сообщество PrestaShop
    • Просмотр профиля
    • Электронный учет коммерческой деятельности
var cdek_address_parameter = {$cdek_address_parameter|intval};
Заменить на
{addJsDef cdek_address_parameter = $cdek_address_parameter|intval}
и убрать из <script type="text/javascript"></script>
и так все переменные передаваемые со смарти в js
13 Октябрь 2017, 10:05:06
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 104
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
в итоге решил вопрос путем натягивания совы на глобус:

- отключил компрессию js
- отключил перенос js  в конец файла

Криво конечно, но, похоже, проблема где-то глубоко зарыта