Перейти к содержанию
Форум поддержки пользователей VamShop

Форма заказа для продукт_листинг "Купить в один клик"


Рекомендуемые сообщения

Здравствуйте, делаю форму заказа "Купить в 1 клик" для страницы product_listing. Создал форму, разместил ее в файле buy1click.html, в файле product_listing_list.html сделал кнопку с загрузкой этой формы без перезагрузки страницы. Все работает. Но, никак не могу придумать, как передать в форму название товара, который заказывается. Как это сделать? 

Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, maxbor сказал:

Здравствуйте, делаю форму заказа "Купить в 1 клик" для страницы product_listing. Создал форму, разместил ее в файле buy1click.html, в файле product_listing_list.html сделал кнопку с загрузкой этой формы без перезагрузки страницы. Все работает. Но, никак не могу придумать, как передать в форму название товара, который заказывается. Как это сделать? 

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

Я не знаю как она у Вас работает, но обычно передаётся в url адресе id номер товара.

т.е. например форма открывается ссылкой buy1click.html?products_id=X

где X - номер товара.

и уже в коре формы достаётся это значение $_GET['products_id']

Как-то так.

Посмотрите например на странице карточки товара форму Задать вопрос о товаре, по сути, это тоже самое что и купить в 1 клик.

 

+ есть всякие готовые варианты типа - https://tokar.ua/read/3678

 

Ссылка на сообщение
Поделиться на другие сайты

Я сделал по аналогии со страницей ask_question.html, т.е. добавил кнопку с кодом <button class="iframe btn btn-primary" target="_blank" href="buy1click.html">Заказать в 1 клик</button> в странице product_listing_list.html. Как добавить в нее id или название товара?

Ссылка на сообщение
Поделиться на другие сайты
31 минуту назад, maxbor сказал:

Я сделал по аналогии со страницей ask_question.html, т.е. добавил кнопку с кодом <button class="iframe btn btn-primary" target="_blank" href="buy1click.html">Заказать в 1 клик</button> в странице product_listing_list.html. Как добавить в нее id или название товара?

Например так:

<a class="iframe btn btn-primary" target="_blank" href="buy1click.html?products_id={$module_data.PRODUCTS_ID}">Заказать в 1 клик</a>

Есть и готовые модули, например https://nexoos.ru/vamshop/moduli-vamshop/kupit-v-odin-klik.html

Ссылка на сообщение
Поделиться на другие сайты

Да, дорого у него. И обновляться потом замучаешься до новых версий (придется у него обновление заказывать, наверняка). А это сам сделал, мозги себе размял, других помучил.  А как теперь, этот product_id вытащить в форму?

Ссылка на сообщение
Поделиться на другие сайты
15 минут назад, maxbor сказал:

Да, дорого у него. И обновляться потом замучаешься до новых версий (придется у него обновление заказывать, наверняка). А это сам сделал, мозги себе размял, других помучил.  А как теперь, этот product_id вытащить в форму?

Я не могу за Вас полностью модуль написать, я могу лишь какие-то подсказки дать.

Смотрите как сделан модуль Задать вопрос о товаре на странице карточки товара.

И сделайте для начала вывод кнопки задать вопрос о товаре в спике товара.

Затем уже переименуйте в заказа в 1 клик.

На 99% уже ведь код готов в модуле Задать вопрос о товаре.

Нужно лишь вставить-кнопку ссылку в шбалоне списка товара /templates/шаблон/module/product_listing

Подставив метку id номер товара, как я выше указал.

Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, maxbor сказал:

Спасибо.

Вам не нужна вообще форма, Вы ж должны просто модальное окно открывать, в котором уже будет форма заказа.

 

Ссылка на сообщение
Поделиться на другие сайты

Как говорит Саша, Вам проще сделать модальное окно с формой отправки письма. Передавать данные товара можно через "data-..." в кнопке вызова окна.

Ссылка на сообщение
Поделиться на другие сайты

Есть у меня модальное окно с формой(Имя телефон). А вот как этой форме передать название товара, я пока не додумался. А по подробнее? Как через "data-..." передать данные товара?

Ссылка на сообщение
Поделиться на другие сайты
29 минут назад, maxbor сказал:

Есть у меня модальное окно с формой(Имя телефон). А вот как этой форме передать название товара, я пока не додумался. А по подробнее? Как через "data-..." передать данные товара?

Для этого я Вам и сказал смотреть готовый пример, окно Задать вопрос о товаре на странице карточки товара.

Так же как раз и окно открывается, и форма отправки и передаётся значение id товара, т.е. форма задать вопрос открывается ведь для конкретного товара, id номер которого передаётся в ссылке.

Как передаётся id я ж Вам выше написал.

В общем, если бы чуть знали основы php, html, js, всё уже давно бы сделали, без основ плохо, наугад сложно будет сделать.

Я ж Вам советовал на 99% готовый вариант.

Заходите на страницу карточки товара, смотрите исходный код страницы и копируете код ссылки Задать вопрос о товаре, ссылка вида:

<a class="iframe" target="_blank" href="http://vamshop.loc/ask_a_question.php/products_id/7">Задать вопрос о товаре</a>&nbsp;<img src="templates/vamshop1/buttons/russian/button_ask_a_question.gif" alt="" />

Копируете эту ссылку задать вопрос о товаре со страницы карточки товара и добавляете её в шаблон списка товара, я Вам выше писал про метку {$module_data.PRODUCTS_ID}

Открываете шаблоны списка товара /templates/шаблон/module/product_listng/

и добавляете код:

<a class="iframe" target="_blank" href="http://vamshop.loc/ask_a_question.php/products_id/{$module_data.PRODUCTS_ID}">Задать вопрос о товаре</a>&nbsp;<img src="templates/vamshop1/buttons/russian/button_ask_a_question.gif" alt="" />

Как я Вам выше писал, Вы подставили id номер товара, что б для каждого товара открывалось своё окно со своими данными.

т.е. ссылку Задать вопрос Вы добавили в список товара.

Не забудьте vamshop.loc поменять на свой адрес.

 

Теперь надо что б открывалась она не просто открытием новой вкладки, а модальным окном, как на странице карточки товара.

Опять же, из исходного кода страницы карточки товара видно, что там используется javascript для этого:

{literal}
<link rel="stylesheet" type="text/css" href="jscript/jquery/plugins/colorbox/colorbox.css" media="screen" />
<script type="text/javascript" src="jscript/jquery/plugins/colorbox/jquery.colorbox-min.js"></script>
<script type="text/javascript" src="jscript/jquery/plugins/colorbox/i18n/jquery.colorbox-ru.js"></script>
<script type="text/javascript">
// Make ColorBox responsive
	jQuery.colorbox.settings.maxWidth  = '95%';
	jQuery.colorbox.settings.maxHeight = '95%';

	// ColorBox resize function
	var resizeTimer;
	function resizeColorBox()
	{
		if (resizeTimer) clearTimeout(resizeTimer);
		resizeTimer = setTimeout(function() {
				if (jQuery('#cboxOverlay').is(':visible')) {
						jQuery.colorbox.load(true);
				}
		}, 300);
	}

	// Resize ColorBox when resizing window or changing mobile device orientation
	jQuery(window).resize(resizeColorBox);
	
$(document).ready(function(){
  $(".lightbox").colorbox({rel:"lightbox", title: false});
  $(".iframe").colorbox({iframe:true, width:"30%", height:"80%"});
});
</script>
{/literal}

Берёте этот код и тоже вставляете в шаблое списка товара /templates/шаблон/module/product_listing, в самый низ.

Всё, теперь у Вас напротив каждого товара своя ссылка, открывает своё окно.

Вот смотрите скриншот, ссылка Задать вопрос о товаре над картинкой товара.

 

 

Вот о чём я Вам говорил.

 

Screenshot from 2018-11-02 10-42-32.png

Screenshot from 2018-11-02 10-42-34.png

Ссылка на сообщение
Поделиться на другие сайты

Это вы меня не понимаете! 

Я это уже давно это сделал (причем чуть проще)! Но название товара в письме не будет!, т.к.

 у страницы product_info есть метка {PRODUCT_NAME}, которая работает на странице ask_a_question.html, ее я вставляю в html поле <input type="hidden" value="{PRODUCT_NAME}">  и она передает мне название товара в тело письма! Для страницы product_listing , такого не предусмотрено!  И нужно вытащить название товара в тело письма из базы данных! Наверное, т.к. в php я действительно не рублю.

Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, maxbor сказал:

Это вы меня не понимаете! 

Я это уже давно это сделал (причем чуть проще)! Но название товара в письме не будет!, т.к.

 у страницы product_info есть метка {PRODUCT_NAME}, которая работает на странице ask_a_question.html, ее я вставляю в html поле <input type="hidden" value="{PRODUCT_NAME}">  и она передает мне название товара в тело письма! Для страницы product_listing , такого не предусмотрено!  И нужно вытащить название товара в тело письма из базы данных! Наверное, т.к. в php я действительно не рублю.

Опять же, посмотрите задать вопрос о товаре, то, о чём Вы с самого начала пишите в этой теме, всё уже сделано и работает.

Почему Вы не хотите использовать готовый код, лично я не понимаю.

Зачем Вам вообще эти формы, hidden поля и т.д. Если всё уже есть в готовом виде, рабочее и проверенное временем.

Просто берёте за основу уже готовое и делаете свои правки.

 

В задать вопрос о товаре приходит письмо админу, в котором указано название товара.

Всё уже есть готовое, в очередной раз говорю, просто смотрите как сделано в задать вопрос о товаре.

Если Вы уже всё сделали, тогда какие-то странные вопросы Вы задаёте.

В /ask_a_question.php видно как достаётся название товара, зная id номер.

Ищите по products_name.

т.е. делается запрос в базу в $product_info_query

Ссылка на сообщение
Поделиться на другие сайты

Сделал, как вы описали. Модальное окно - есть, форма с полями - есть, названия товара - нету, а откуда оно возьмется (в ask_a_question.html оно выводится меткой {PRODUCT_NAME} и эта метка не работает на странице product_listing)?! Как у вас получилось?

Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, maxbor сказал:

Сделал, как вы описали. Модальное окно - есть, форма с полями - есть, названия товара - нету, а откуда оно возьмется (в ask_a_question.html оно выводится меткой {PRODUCT_NAME} и эта метка не работает на странице product_listing)?! Как у вас получилось?

Как нет!?

В шаблоне списка товара есть метка {$module_data.PRODUCTS_NAME} это если нужно что-то на странице списка товара вывести.

В php коде в ask_question.php тоже есть название товара, которое отправляется на почту админу.

Я ж выше писал, ищите по products_name

Всё есть.

 

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, maxbor сказал:

метка {$module_data.PRODUCTS_NAME} - не работает на странице ask_a_question.html. Как у вас получилось?

А Вы разве не видите, что в шаблоне ask_a_question.html уже добавелн такой код, к примеру:

<legend>{#title_question#} {$PRODUCTS_NAME}</legend>

Вы не видите, что когда окно открываете Задать вопрос о товаре, У вас пишет, к примеру, сверху, перед самоф формой:

Задать вопрос о товаре Samsung GALAXY Note 3

Это ли не нзаваие товара в заголовке?!

или мы о каких-то разных вещах говорим?!

 

Метка {$module_data.PRODUCTS_NAME} используется в шаблоне списка товара, а не в окне Задать вопрос о товаре.

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

Ссылка на сообщение
Поделиться на другие сайты

Когда, я делаю, как вы мне предложили, у меня при клике по ссылке "Задать вопрос о товаре", всплывает модальное окно в заголовке которого написано "Задать вопрос о товаре" и всё, название товара не прописывается.

Вот скрины

1.jpg

2.jpg

Что вы сделали, чтобы название товара показывалось?

Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, maxbor сказал:

Что вы сделали, чтобы название товара показывалось?

Вот вижу на втором скрине адрес магазина alltorg.net и теперь понятно, почему не подставляется название товара.

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

Теперь что делать.

Либо включите опцию короткие URL в Админке - Настройки - Мета тэги.

Либо в в /templates/шаблон/module/product_lsiting меняйте ссылку открытия окна с:

<a class="iframe" target="_blank" href="http://vamshop.loc/ask_a_question.php/products_id/{$module_data.PRODUCTS_ID}">Задать вопрос о товаре</a>&nbsp;<img src="templates/vamshop1/buttons/russian/button_ask_a_question.gif" alt="" />

на:

<a class="iframe" target="_blank" href="http://vamshop.loc/ask_a_question.php?products_id={$module_data.PRODUCTS_ID}">Задать вопрос о товаре</a>&nbsp;<img src="templates/vamshop1/buttons/russian/button_ask_a_question.gif" alt="" />

 

Ссылка на сообщение
Поделиться на другие сайты
51 минуту назад, maxbor сказал:

скрин 3. магазин https://alltorg.net

3.jpg

Точно, заработало.

Спасибо. Извините, за вынос мозга.

Не за что.

Хорошо, что ссылку прислали, что б хоть понятно было, в чём проблема.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...