Uncaught Typeerror: Data.html[K].indexof Is Not A Function

Всем привет!

В общем магия какая то но не работает.

Оверайдю шаблончик

design/themes/responsive/templates/addons/my_template/views/checkout/components/checkout_totals.tpl 

Все ок!

Начинаю модифицировать блок

{if $cart_products}
{include file="views/checkout/components/promotion_coupon.tpl"} {hook name="checkout:payment_extra"} {/hook}
{/if}
    {hook name="checkout:payment_options"}
    {/hook}

    {include file="views/checkout/components/checkout_totals_info.tpl"}
    <div class="clearfix"></div>
    <ul class="ty-cart-statistic__total-list">
        <li class="ty-cart-statistic__item ty-cart-statistic__total">
            <span class="ty-cart-statistic__total-title">{__("total_cost")}</span>
            <span class="ty-cart-statistic__total-value">{include file="common/price.tpl" value=$_total|default:$smarty.capture._total|default:$cart.total span_id="cart_total" class="ty-price"}</span>
        </li>
    </ul>
    <!--checkout_totals--></div>

Не важно что делаешь, даже просто поставишь перенос строки, все при клике на кнопку применить купон

Uncaught TypeError: data.html[k].indexOf is not a function

Чудо ошибочка на весь экран =(

Чтобы полностью перезаписать стандартный шаблон design/themes/responsive/templates/views/checkout/components/checkout_totals.tpl, вам нужно создать вот такой файл:

design/themes/responsive/templates/addons/my_template/overrides/views/checkout/components/checkout_totals.tpl

и вносить изменения в него.

И не забыть как следует почистить кеш.

Чтобы полностью перезаписать стандартный шаблон design/themes/responsive/templates/views/checkout/components/checkout_totals.tpl, вам нужно создать вот такой файл:

design/themes/responsive/templates/addons/my_template/overrides/views/checkout/components/checkout_totals.tpl

и вносить изменения в него.

И не забыть как следует почистить кеш.

Это понятно я перезаписал файл design/themes/responsive/templates/addons/my_template/overrides/views/checkout/cart.tpl в котором подключается каскадом 10 подобных файлов, путь естественно до него поменял на свой.

Очистка кеша даже ручками не помогает. Помог ребут сервака, но это какое то сомнительное решение =)

Действительно странно. Но после ребута сервака все работает, как надо? Или по-прежнему, на каждое изменение надо ребутать?

apc стоит на среваке? если да, то проверьте выставленные ttl, а так же возможно прийдется принудительно чистить его кэш, а не только cs-cart

Действительно странно. Но после ребута сервака все работает, как надо? Или по-прежнему, на каждое изменение надо ребутать?

Да все завелось, сейчас проблем с этим не наблюдаю, стилизовалось нормально

apc стоит на среваке? если да, то проверьте выставленные ttl, а так же возможно прийдется принудительно чистить его кэш, а не только cs-cart

не совсем понял, о чем Вы =) сервак настроен по инструкции, проблема возникает иногда с непонятными причинами, но другие я отношу к "большому ножу" которым я режу tpl шаблона responsive.

не совсем понял, о чем Вы =) сервак настроен по инструкции, проблема возникает иногда с непонятными причинами, но другие я отношу к "большому ножу" которым я режу tpl шаблона responsive.

Сурово :)

Сурово :)

Заметил что есть какие то изменения в структуре шаблона, причем грандиозные, чего стоит product_data.tpl аж страшно туда смотреть. В итоге приходится для себя все делить, что бы не тратить время не переписывания условий и настроек для каждого блока.

product_data.tpl всегда был страшный. Но он универсальный и используется для отображения информации о товарах везде, где только можно - и на деталке и в списках.

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

product_data.tpl всегда был страшный. Но он универсальный и используется для отображения информации о товарах везде, где только можно - и на деталке и в списках.

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

Честно 2 сайт делаю, первый был вообще жесть рисовался под другую cms, второй рисовался под cs-car, но как не крути приходится полностью переделывать данный файлик причем для каждого вида (многоколоночного, списка, карточки товаров, и т.д.) + еще продвиженец глядит в код и говорит, а что так много кода на главной странице 13000 строк, при 20 товарах, гугл говорит нельзя много html, а то не пустит в топ, ну и так далее, приходится резать что что из коробки идет.

Да на самом деле ничего там страшного нету. Еще пару проектов сделаете и вникните. Он же не весь отрисовывается, а отдает только капчи с кодом, которые перекрывают большинство потребностей. Где надо, их используете, где не надо, своим кодом пишите. Это даже в стандартных шаблонах списка товаров есть

Да на самом деле ничего там страшного нету. Еще пару проектов сделаете и вникните. Он же не весь отрисовывается, а отдает только капчи с кодом, которые перекрывают большинство потребностей. Где надо, их используете, где не надо, своим кодом пишите. Это даже в стандартных шаблонах списка товаров есть

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

Весь страх наверное от Smarty ибо иногда просто не понимаешь что он делает=), а так 5-6 дней все встает на свои места и в принципе не так сложно как кажется. Но все же есть миллион претензий к смарти наверное в часности, опять же скорее всего из-за отсутствия опыта, и привычки использовать jade, после которого прям не хочется смотреть на html, не говоря уже об удвоении, а то и утроении кавычек =). Но заметно, что шаблон очень сильно изменился с версии 4.3.2-4.3.4, стал намного чище и понятнее.

value=$product.price span_id="discounted_price_`$obj_prefix``$obj_id`"

В общем проблема с ошибкой

Uncaught TypeError: data.html[k].indexOf is not a function

просто скопировал файл design/themes/responsive/templates/views/checkout/components/payments/payment_methods.tpl, а в файле design/themes/responsive/templates/addons/my_template/overrides/views/checkout/components/steps/step_four.tpl указал путь до моего файла и все.

Если поставить путь на родной файл

views/checkout/components/payments/payment_methods.tpl 

то ошибка не возникает.

А как указали путь? Может, файл не может найти?

Обнаружил вот еще что, при оформлении заказа на 3 шаге когда надо выбрать способ доставки в firefox вместо переключения

radio button отрезает пол страницы, иле не возвращает их вообще, пока не обновишь страницу.

а гугл хром стал писать

Uncaught SyntaxError: Unexpected token ILLEGAL

А как указали путь? Может, файл не может найти?

Файл находит, даже свободно показывает то что я в нем меняю.

Подозреваю что может проблема в каких то кодировках?

Все шаблоны в UTF-8 без BOM?

Файл находит, даже свободно показывает то что я в нем меняю.

Подозреваю что может проблема в каких то кодировках?

Все шаблоны в UTF-8 без BOM?

Да, должно быть UTF-8 без BOM. И символ завершения строки Linux (\n).

а гугл хром стал писать

А есть ссылочка какая-нибудь, чтобы полюбоваться?

Сейчас если не заработает, залью на рабочий сервак.

Заметил вот что, если вот этот код


превратить в



То сразу получаем ошибочку

Uncaught SyntaxError: Unexpected token ILLEGAL

Закрывающийся див как то связан с Ajax скриптом?

Так:


писать нельзя. Между и даже пробелов быть не должно. Парсер может неправильно сработать.

Этим комментарием


определяется граница блока, который должен быть обновлен в результате ajax-запроса. Ajax-запрос, помимо всего прочего, содержит поле result_ids, среди которых в данном случае есть shipping_rates_list. После отработки php кода скрипт просматривает весь обновленный html код, ищет в нем элемент с id=shipping_rates_list, если находит, то ищет этот комментарий и сразу после него закрывающий тег элемента. На страницу выдается не весь html, а только вот эти найденные куски.