Вопросы по разработке и модификации CS-Cart


#761

Здравствуйте, знающие люди) подскажите пожалуйста, можно ли в настройках блока во вкладке Контент где появляется галочка "Используйте это содержимое для всех блоков" добавить возможность "использовать это содержимое для блоков определенной категории товаров" и возможность выбрать категорию (как в модуле конструктор прайс-листов).

А то добавлять различное содержимое одного блока можно только через макет карточки товаров, а это просто нереально на данном этапе(
Или может есть какое-то другое решение данного вопроса?

#762

Здравствуйте, знающие люди) подскажите пожалуйста, можно ли в настройках блока во вкладке Контент где появляется галочка "Используйте это содержимое для всех блоков" добавить возможность "использовать это содержимое для блоков определенной категории товаров" и возможность выбрать категорию (как в модуле конструктор прайс-листов).

А то добавлять различное содержимое одного блока можно только через макет карточки товаров, а это просто нереально на данном этапе(
Или может есть какое-то другое решение данного вопроса?

К сожалению, простого решения нет, т.к. этот функционал используется не только для товаров, но и для многих других объектов


#763

Хочу заменить данные, которые передаются в шаблон product_filters через переменную $filter. Но не могу найти в каком контроллере или функции они туда передаются. Подскажите пожалуйста.


#764

Менеджер блоков работает с результатом, который возвращается функция fn_get_filters_products_count (app/functions/fn.catalog.php)


#765

Добрый день!

Озадачился подсказками по заполнению адреса на странице оформления заказа, т.к. стандартного автозаполнения города на мой взгляд не хватает.

Есть код:






Если его добавить на страницу оформления заказа с помощью модуля "HTML-блок" после "Главное содержимое", то все прекрасно работает... но ровно до тех пор, пока не перейдешь от заполнения адреса на выбор способа доставки.

Если перейти на выбор способа доставки, а потом вернуться на заполнение адреса, то код перестает работать.

Собственно, сами вопросы:

  1. Подскажите пожалуйста, куда, как и в каком виде это надо запихать, чтобы подсказки не переставали работать?
  2. Как быть с вот этой частью?

Сайт с SSL, и, насколько понимаю, CS Cart (или не CS Cart :) )игнорирует условие про IE10. В результате во всех браузерах пользователям выскакивает оповещение о попытке подгрузить небезопасные скрипты.

Заранее спасибо!


#766

Попробуйте на тэг script повесить класс cm-ajax-force, чтобы ваш код исполнялся при ajax запросе

Например,


      

#767

Попробуйте на тэг script повесить класс cm-ajax-force, чтобы ваш код исполнялся при ajax запросе

Например,


Добрый день!

Не помогло.


#768

Добрый день!

Не помогло.

Внутрь добавьте просто alert и посмотрите, срабатывает ли код. И после изменений не забудьте кэш почистить


#769

Заполняют каталог с помощью CSV-импорта.
В поле SEO name прописываю: babyholl/60x120
Но CS-Cart подменяет "/" на "-".

Но мне было бы удобно чтобы каждый товар был через слэш:

babyholl/60x120

babyholl/60x130

babyholl/60x140

Возможно модифицировать SEO модуль?
Подскажите где возможно убрать автоподмену слэша на тире, и не создаст ли это проблем в cs-cart?

Спасибо.


#770

Заполняют каталог с помощью CSV-импорта.
В поле SEO name прописываю: babyholl/60x120
Но CS-Cart подменяет "/" на "-".

Но мне было бы удобно чтобы каждый товар был через слэш:

babyholl/60x120

babyholl/60x130

babyholl/60x140

Возможно модифицировать SEO модуль?
Подскажите где возможно убрать автоподмену слэша на тире, и не создаст ли это проблем в cs-cart?

Спасибо.

Убрать можно, но скорее всего будут проблемы, т.к. скрипт будет искать категорию с сео именем babyholl


#771

Внутрь добавьте просто alert и посмотрите, срабатывает ли код. И после изменений не забудьте кэш почистить

Добрый день!

Срабатывает, при первом вводе. При возврате из следующих пунктов (например, если с выбора способа оплаты вернуться, чтобы поменять адрес) - не срабатывает.


#772

Добрый день!

Срабатывает, при первом вводе. При возврате из следующих пунктов (например, если с выбора способа оплаты вернуться, чтобы поменять адрес) - не срабатывает.

Странно, с cm-ajax-force во всех случаях должно сработать. Нужно изучать


#773

Странно, с cm-ajax-force во всех случаях должно сработать. Нужно изучать

Может этот класс надо вешать не на сам скрипт?

Или может как-то модно повесить обработчик, чтобы скрипт срабатывал при клике по "Адрес доставки"?

Или может код скрипта вставить не в HTML-блок, а куда-нибудь в исходники шаблонов?

Если да, то как это можно сделать?


#774

Или может код скрипта вставить не в HTML-блок, а куда-нибудь в исходники шаблонов?

А вы отдельным блоком сделали? Я думал, что код используется в стандартных шаблонах оформления заказа. Попробуйте ваш скрипт обернуть в такой код

.... ваш код тут ....

#775

А вы отдельным блоком сделали? Я думал, что код используется в стандартных шаблонах оформления заказа. Попробуйте ваш скрипт обернуть в такой код

.... ваш код тут ....

Добрый вечер.

Как и писал ранее - данный код просто вставлен в HTML-блок под под главным содержимым на странице макета "Оформление заказа".

После оборачивания в div - поведение не изменилось.
Кстати, и в том и в другом случае (с дивом и без) CS-Cart сносит все скрипты из блока в конец страницы.

Сегодня поковырялись немного, получается следующее
[spoiler]
Вариант №1: Незарегистрированный, либо неавторизованный пользователь

Последовательность действий: Заходишь на сайт -> добавляешь товар в корзину -> нажимаешь "Оформить заказ" -> попадаешь на страницу оформления заказа на форму регистрации/авторизации.

Промежуточный результат: в коде страницы пока еще не существует полей для ввода адреса.

Логичное продолжение: Авторизуешься/Регистрируешься -> нажимаешь "Продолжить" -> Попадаешь на форму заполнения адреса и данных по доставке -> Начинаешь заполнять адрес.

Результат: поля для ввода адреса появились в коде при просмотре через панель разработчика в браузере, но при просмотре кода всей страницы - данных полей нет. Скрипт не работает.

Вариант №2: Авторизованный пользователь, у которого не заполнены данные по доставке в ЛК
Последовательность действий: Заходишь на сайт -> добавляешь товар в корзину -> нажимаешь "Оформить заказ" -> попадаешь на страницу оформления заказа сразу на форму ввода данных по доставке.

Результат: В коде страницы уже существуют поля для ввода адреса, скрипт с подсказками работает.

Вариант №3 (обратный №1): Авторизованный пользователь с заполненными в ЛК данными по доставке

Последовательность действий: Заходишь на сайт -> добавляешь товар в корзину -> нажимаешь "Оформить заказ" -> попадаешь на страницу оформления заказа сразу на форму выбора способа доставки.

Промежуточный результат: в коде страницы "уже" не существует полей для ввода адреса.

Возможное продолжение: кликаешь по "Адрес доставки" -> попадаешь на форму ввода адреса.

Результат, как и в варианте №1: поля для ввода адреса появились в коде при просмотре через панель разработчика в браузере, но при просмотре кода всей страницы - данных полей нет. Скрипт не работает.
[/spoiler]

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

Вот только как это правильно сделать?

Ковырялся в шаблоне /checkout/components/steps/step_two.tpl, в нем идет подключение /profiles/components/profile_fields.tpl.

Уже в нем вроде бы нашел место, где формируется Simple input, т. е. обычные инпуты с type=text в форме ввода адресов. Но и тут что-то не так:

  1. Во первых, форма формируется циклом, и если засунуть код скрипта под инпут напрямую, то он теоретически будет добавляться ко всем полям в форме с type=text - и там где надо, и там, где ненадо. Как-то непредсказуемо и неправильно.
  2. Все таки впихнул туда скрипт ради теста, сохранил, почистил кэш. Но скрипт на страницах не появился вообще. Его нет ни на странице оформления заказа, ни на странице редактирования профиля.

Уже и не знаю, в какую сторону копать.


#776

Уже и не знаю, в какую сторону копать.

Надо на месте смотреть.


#777

Подскажите как при цене товара "0" - скрыть с карточки товара секцию с ценой (чтобы не отображалось 0,00 руб)?


#778

Подскажите как при цене товара "0" - скрыть с карточки товара секцию с ценой (чтобы не отображалось 0,00 руб)?

Поставьте настройку "Действие при нулевой цене" в "Не разрешать добавлять товар в корзину". Вместо цены будет "Свяжитесь с нами насчёт цены", это в переводах сможете поменять


#779

Поставьте настройку "Действие при нулевой цене" в "Не разрешать добавлять товар в корзину". Вместо цены будет "Свяжитесь с нами насчёт цены", это в переводах сможете поменять

Дык дело в том, что мне нужно чтобы товар ложился в корзину при нулевой цене - а самой нулевой цены видно не было:)


#780

Дык дело в том, что мне нужно чтобы товар ложился в корзину при нулевой цене - а самой нулевой цены видно не было :)

Тогда используйте хук products:prices_block в файле design/themes/THEME/templates/common/product_data.tpl для добавления проверки на 0