Перейти к содержимому


Настройка Шаблона


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 farmont

farmont

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 178 сообщений

Отправлено 03 Август 2016 - 18:23

Здравствуйте, решили поменять шаблон (потому что на старом проблемы с заказами через айфон (так и не решили) плюс хотели бы адаптивный дизайн).
В эту ветку буду писать различные вопросы которые будут возникать при переносе.

Устанавливаем шаблон "Цитрус". Вопрос следующий: Нужно вывести в шапке число - сумму товаров в корзине. Нужно, чтобы число автоматически обновлялось после добавления товара в корзину.

Пробовал использовать подобную конструкцию:
{% IF cart_count_empty %}
<span class="cart-count3">0</span> {CURRENCY_NAME}
{% ELSE %}
{% FOR cart_sum %}
<span>{cart_sum.NOW | money_format}</span><br />
{% ENDFOR %}
{% ENDIF %}

но не работает обновление. Нужно обновлять страницу в ручную
Возможно, что-то в Аяксе нужно править? Не могу разобраться. Подскажите пожалуйста.

#2 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 04 Август 2016 - 05:30

В шаблоне Ajax добавление товара в корзину найдите:
<!-- Блок для обновления данных корзины. Не виден пользователю -->
<div style="display:none;" id="newCartCount">
  {% IF cart_count_empty %}
	<span class="empty">Корзина пуста</span>
  {% ELSE %}
	<span class="not-empty"><a href="{CART_URL}"><span class="cart-count">{CART_COUNT_TOTAL}</span> товар{CART_COUNT_TOTAL| gen_word_end("","а","ов")}</a></span>
	<span class="empty" style="display:none;">Корзина пуста</span>
  {% ENDIF %}
</div>

после него пропишите:
<div style="display:none;" id="newCartSum">
  {% IF cart_count_empty %}
	<span class="empty">0</span>
  {% ELSE %}
	<span class="not-empty"><a href="{CART_URL}">{cart_sum.NOW_WITH_DELIVERY_AND_DISCOUNT | money_format}</a></span>
	<span class="empty" style="display:none;">Корзина пуста</span>
  {% ENDIF %}
</div>

далее найдите:
$('.cart-count-block').html($('#newCartCount').html());

после него пропишите:
$('.cart-sum-block').html($('#newCartSum').html());

и после этого в необходимом месте в шаблоне HTML добавьте:
{% IF cart_count_empty %}
<span class="cart-sum-block">0 {CURRENCY_NAME}</span>
<span class="cart-count-block">0 шт.</span>
{% ELSE %}
{% FOR cart_sum %}
<span class="cart-sum-block">{cart_sum.NOW | money_format}</span><br />
{% ENDFOR %}
{% FOR cart_count %}
<span class="cart-count-block">{cart_count.COUNT}{cart_count.MEASURE_NAME}{% IFNOT cart_count.last %},{% ENDIF %}</span>
{% ENDFOR %}
{% ENDIF %}


#3 farmont

farmont

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 178 сообщений

Отправлено 04 Август 2016 - 11:13

Добавил код. Проблема все-равно есть.

Сумма и кол-во товаров вывелось. После нажатия кнопки добавления товара кол-во товаров в корзине увеличивается (тут все работает), а сумма вообще исчезает (смотрю в код страницы: <span class="cart-sum-block"> пуст, то есть значения суммы там нет).

Сумма появляется опять же после обновления страницы.

#4 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 05 Август 2016 - 01:05

Простите, немного невнимательна, в шаблоне Ajax добавления товара в корзину найдите:
<span class="not-empty"><a href="{CART_URL}">{cart_sum.NOW_WITH_DELIVERY_AND_DISCOUNT | money_format}</a></span>

замените на:
<span class="not-empty"><a href="{CART_URL}">{% FOR cart_sum %}{cart_sum.NOW_WITH_DELIVERY_AND_DISCOUNT | money_format}{% ENDFOR %}</a></span>

Забыла в цикл обернуть строку, после данного изменения обновление данных суммы в корзине будет работать корректно =)

#5 farmont

farmont

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 178 сообщений

Отправлено 06 Август 2016 - 12:36

Спасибо, все работает!




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных