На этом рисунке я поменял опцию и поменялась цена, однако во всплывающем окне так соответственно все и осталось, т.к. используется цена по умолчанию без учета опции.
Для того, чтобы купить этот товар дешевле: 1) Зарегистрируйтесь у нас на сайте.
В этом случае мы вам дадим скидку 5% и товар вам обойдется в {$product.price*0.95} руб.
2) Оплатите покупку наличными.
Мы дадим вам скидку еще 3%. В этом случае товар вам обойдется в {$product.price*0.95*0.97} руб.
Это ваша гарантированная цена {$product.price*0.95*0.97} руб.
А если вы купите этот товар в свой день рождения, то мы вам предоставим дополнительную скидку в 3%, тогда стоимость этого товара для вас составит всего {$product.price*0.95*0.97*0.97} руб.
[/CODE]
Если нужно пояснение, почему и зачем, скажите, вроди всё понятно.
У вас всё правильно было, я просто использовал хук из product_data.tpl и сделал оболочку как у цены:
[CODE]
{* любой код, который будет обновляться при смене опций. *}
На этом рисунке я поменял опцию и поменялась цена, однако во всплывающем окне так соответственно все и осталось, т.к. используется цена по умолчанию без учета опции.
[/quote]
Второй вариант (более правильный):
В хуку отрисовки цены в файле common/product_data.tpl , отрисовываем ссылку, которая будет открывать блок
<a class="cm-dialog-opener cm-dialog-auto-size my-a-dashed1" data-ca-target-id="open_id_{$obj_id}">Узнайте, как купить дешевле</a>
2. В самом конце файла common/product_data.tpl есть хук, который позволяет любой код добавить, мы туда добавим блок попапа который будет открываться по ссылке.
Вставляем код блока попапа, код оборачиваем в div с особыми классами, которые обновляются при смене опций, эти классы я подсмотрел у блока вывода цены.
Код такой:
[CODE]
Для того, чтобы купить этот товар дешевле: 1) Зарегистрируйтесь у нас на сайте.
В этом случае мы вам дадим скидку 5% и товар вам обойдется в {$product.price*0.95} руб.
2) Оплатите покупку наличными.
Мы дадим вам скидку еще 3%. В этом случае товар вам обойдется в {$product.price*0.95*0.97} руб.
Это ваша гарантированная цена {$product.price*0.95*0.97} руб.
А если вы купите этот товар в свой день рождения, то мы вам предоставим дополнительную скидку в 3%, тогда стоимость этого товара для вас составит всего {$product.price*0.95*0.97*0.97} руб.
Я просто не использовал хуки, хотел просто посмотреть принципиально. Вроде все так же как и вы делал, только без хуков. Вот что значит - делать сразу по правильному! Спасибо еще раз.
Есть правда еще несколько вопросов:
Чтобы я не делал у всплывающего окна появляется полоса прокрутки. Менял и текст и форматирование - есть полоса прокрутки и все. Причем реально немного прокручивается
Какой функцией отрезать копейки вместе с точкой после расчетов?
Ссылка “Узнайте, как купить дешевле” появляется теперь и в каталоге. Как её убрать?
3) [color=#282828][font=arial, verdana, tahoma, sans-serif]Ссылка “Узнайте, как купить дешевле” появляется теперь и в каталоге. Как её убрать? А может и не стоит убирать, тогда как изменить её CSS не меняя оформление ссылки в карточке товара???[/font][/color]
Чтобы я не делал у всплывающего окна появляется полоса прокрутки. Менял и текст и форматирование - есть полоса прокрутки и все. Причем реально немного прокручивается
Какой функцией отрезать копейки вместе с точкой после расчетов?
Ссылка “Узнайте, как купить дешевле” появляется теперь и в каталоге. Как её убрать?
[/quote]
Что то с дивами обёртками, какие то им CSS правила нужно задать, высоту или clearfix или ещё что то , не помню.
Как-то по другому контроллер не смог определить, а переменная [color=#282828][font=arial, verdana, tahoma, sans-serif]$selected_template отсутствует или пустая.[/font][/color]
[color=#282828][font=arial, verdana, tahoma, sans-serif]Так как я сделал - это правильно? Вроде работает, но правильно ли сделано?[/font][/color]
На главной странице сверху у меня есть ссылка, которая открывает ajax-форму для выбора значений. Надо чтобы форму обрабатывал мой модуль и выводил выбранное значение.
Распишите, пожалуйста, схему для модуля, где должны быть шаблоны формы, файлы обработки формы. Спасибо.
На главной странице сверху у меня есть ссылка, которая открывает ajax-форму для выбора значений. Надо чтобы форму обрабатывал мой модуль и выводил выбранное значение.
Распишите, пожалуйста, схему для модуля, где должны быть шаблоны формы, файлы обработки формы. Спасибо.
[/quote]
Есть видео-курс, там уже рассказано всё что вам нужно:
Начало о работе контроллеров.
Серия “Как работает Ajax”
Не совсем понятно ваша задача, поэтому описать какую либо схему невозможно. Вариантов реализации как минимум 3.
Даниил, у pcguru вопрос очень похож на следующий шаг в геотаргетинге. Когда высвечивается автоматически определенный город по IP, а посетитель хочет его поменять. Нажимает, высвечивается список городов, он выбирает новый, окно автоматом закрывается, а выбранный им город высвечивается вместо ранее определенного.
Как это сделать мне уже понятно. Надеюсь, что вскоре у вас появится третье видео в серии геотаргетинга.
Мне вот лично просто не совсем понятно, как отобразить список городов? Как сделать так, чтобы при клике на город окно закрылось с запоминанием выбранного города. Остальное уже знаю
Даниил, у pcguru вопрос очень похож на следующий шаг в геотаргетинге. Когда высвечивается автоматически определенный город по IP, а посетитель хочет его поменять. Нажимает, высвечивается список городов, он выбирает новый, окно автоматом закрывается, а выбранный им город высвечивается вместо ранее определенного.
[/quote]
Итак, ответы
По клику открыть список городов. Два варианта:
а. Верстаем блок сами и открываем его по клику.
б. Делаем контроллер и страничку , аналогично модулю “Самовывоз” , только без карты и прочего, только города. После чего открываем этот контроллер по клику.
При клике по городу в popup обработать клик.
Пример на странице оформления заказа, выбор способа доставки, модуль “Самовывоз” .
Данный модуль добавляет список пунктов самовывоза, при клике отправляется Ajax запрос функцией на контроллер, контроллер делает запись в сессию и обновляет блок.
При клике по городу закрыть попап.
Смотрим модуль “Купить в один клик” , на кнопке есть микроформат, (класс) cm-form-dialog-closer .
Даниил, спасибо Вам огромное за Ваши ответы и наводки, и за терпение.
Похоже я действительно неправильно задаю вопросы.
Просмотрел все Ваши видео. Сделал несколько своих модулей по модификации отображения каталога и карточки товара.
Но наверное я не до конца не разобрался в структуре cs-cart.
Можете объяснить на пальцах такой момент:
Как вызвать мой модуль (как прописать путь на кнопке или ссылки) из любого места системы.
Как организовать шаблоны модуля (как называть), где прописывать пути к шаблону в php-файле модуля (в каком файле модуля), как их назвать и как их отображать при вызове (из п.1.).
Как вызвать мой модуль (как прописать путь на кнопке или ссылки) из любого места системы.
Как организовать шаблоны модуля (как называть), где прописывать пути к шаблону в php-файле модуля (в каком файле модуля), как их назвать и как их отображать при вызове (из п.1.).
Как-то так.
[/quote]
Давайте исходить от задачи.
Нельзя вызвать модуль, модуль может изменять всё на свете и делать тоже самое что и система.
Есть существующий модуль, похожий на то что вам нужно?
Что вы хотите сделать?
Вызывать ничего не нужно, модуль может работать в любом месте или в указанном вами.
Просмотрел все Ваши видео. Сделал несколько своих модулей по модификации отображения каталога и карточки товара.
[/quote]
Вряд ли посмотрели все, потому что плейлист “Разработка” как раз рассказывает как работают страницы, формы как их изменять и создавать с помощью модуля.