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


#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


#781

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

по умолчанию:

Альтернативный текст
1

хочу чтобы было:

Название товара / Альтернативный текст
1

#782

Добрый день! С помощью fn_update_product_feature создаю характеристику товара. Вроде все ок, создалась. Но если попытаться открыть ее из админки, в ответ я получаю

ПредупреждениеЭтот объект (Характеристика Новый тестовый) недоступен для выбранного магазина.

С Id магазина я не промахнулся. В базе, характеристики созданные программно и вручную выглядят одинаково. Но открываются только вторые(

Кто знает подскажите как лечить, спасибо.


#783

Здравствуйте.

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

по умолчанию:

Альтернативный текст
1

хочу чтобы было:

Название товара / Альтернативный текст
1

Как вариант, можно сделать следующее:

1. В design/themes/responsive/templates/common/image.tpl

на строке

{if $show_detailed_link}
    
{/if}

изменить значение title, а именно изменить на

title="{$product.product} / {$images.detailed.alt}" 

Тогда в альтернативный текст добавится название товара в таком виде http://nimb.ws/Lq2mgX

Проверено в версии 4.6.3.


#784

Как сделать чтобы на смартфонах при листании изображений в категориях они не съезжали по вертикали?

Я про карусель owl-carousel.

Дело в том что при листании картинок карусель съезжает вверх, если листать не идеально ровно, а по диагонали.

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

Я пробовал добавлять в css owl-carousel position и другое. Но ничего не выходит )

Видео проблемы

https://yadi.sk/i/MJywPIK43QFDBB


#785

Сам недокопался, подскажите пожалуйста...

Настройки своего модуля. Обновление кэша выключено.

Есть настройка чекбокс выключенная, в базе в таблице cscart_settings_objects значение стоит N

для проверки прописал вывод

$this->_logging = Registry::get('addons.avp_ozon.logging'); fn_print_r($this->_logging);

выводит N

Отмечаю чекбокс в настройках модуля, сохраняю. в таблице значение меняется на Y

при отработке страницы выводит N

Только после того, как очищаю папку кэша - начинает правильно присваивать Y

Вопрос

возможно ли указать чтобы настройки аддона сразу подхватывались из базы, а не из кэша?

версия 4.3.5

ЗЫ

видимо был какой-то глюк кэша. После третей очистки кэша значение настройки стало подхватываться правильно без дополнительного вмешательства

Магия...

Вопрос снимается )


#786

Как убрать язык по умолчанию из ссылки?

К примеру:

site.pro/ - для русского

site.pro/{lang}/ - для остальных


#787

Как убрать язык по умолчанию из ссылки?

К примеру:

site.pro/ - для русского

site.pro/{lang}/ - для остальных

Без изменения SEO модуля - никак


#788

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

А если подскажите каким скриптом можно сделать возможность выводить страницу в пдф, то буду безмерно благодарна.

Спасибо)


#789

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

А если подскажите каким скриптом можно сделать возможность выводить страницу в пдф, то буду безмерно благодарна.

Спасибо)

Здравствуйте!

Для модификации корзины посмотрите шаблон design/themes/ВАША_ТЕМА/templates/views/checkout/components/cart_content.tpl.

Пример генерации pdf документа можно найти в функции fn_print_order_invoices (app/functions/fn.cart.php). Сначала формируете html код, затем по примеру:

$filename = __('invoices') . '-' . implode('-', $order_ids);
if ($params['save']) {
    fn_mkdir(fn_get_files_dir_path());
    $filename = fn_get_files_dir_path() . $filename . '.pdf';
}
$result = Pdf::render($html, $filename, $params['save']);
return $params['save'] ? $filename : $result;

#790

Здравствуйте!

Для модификации корзины посмотрите шаблон design/themes/ВАША_ТЕМА/templates/views/checkout/components/cart_content.tpl.

Пример генерации pdf документа можно найти в функции fn_print_order_invoices (app/functions/fn.cart.php). Сначала формируете html код, затем по примеру:

$filename = __('invoices') . '-' . implode('-', $order_ids);
if ($params['save']) {
    fn_mkdir(fn_get_files_dir_path());
    $filename = fn_get_files_dir_path() . $filename . '.pdf';
}
$result = Pdf::render($html, $filename, $params['save']);
return $params['save'] ? $filename : $result;

Спасибо за подсказку!

А еще подскажите, пожалуйста, у нас на второй витрине создан совершенно отдельный сайт с регистрацией на мероприятия. Так вот мы бы хотели чтобы модуль "купить в 1 клик" работал как регистрация, просто переименовать кнопку это ладно, нужно туда добавить еще поля для заполнения. Если модифицировать шаблон то изменения будут во всех магазинах? Не знаете как можно этот модуль изменить только для 1 витрины?


#791

Спасибо за подсказку!

А еще подскажите, пожалуйста, у нас на второй витрине создан совершенно отдельный сайт с регистрацией на мероприятия. Так вот мы бы хотели чтобы модуль "купить в 1 клик" работал как регистрация, просто переименовать кнопку это ладно, нужно туда добавить еще поля для заполнения. Если модифицировать шаблон то изменения будут во всех магазинах? Не знаете как можно этот модуль изменить только для 1 витрины?

Как вариант, скопируйте тему и используете копию на второй витрине. Так решится проблема с отображением.

А в php файлах уже проверять - если приходят доп. данные, то используем их и считаем, что это запись на мероприятие, если нет, то используем стандартные функции модуля.


#792
Здраствуйте. Я хочу изменить цвет top bar menu hover на другой цвет. Какой css файл должен изменить и какую линию?
Ешо хочу добавить border. Подскажите пожалуста.

#793

например, вы можете добавить в секцию CSS в редакторе тем

.no-touch .ty-menu__item:hover .ty-menu__item-link {
    background: yellow;
    border: 1px solid green;
}

http://i.prntscr.com/TQuDQstYTxWtpeqaDJSyeg.png


#794

Подскажите пожалуйста, в мультивендоре необходимо дать разрешение продавцам на создание и редактирование заказов. http://docs.cs-cart.com/4.3.x/user_guide/users/vendors/extend_vendor_permissions.html
В данной инструкции написано, что необходимо заменить один файл либо для редактирования заказов, либо для создания, а что нужно сделать, что бы вендоры могли и создавать и редактировать заказы от покупателей?