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


Фотография
- - - - -

Форма заказа в карточке товара


Лучший Ответ Cheren-dow , 28 May 2014 - 10:26

Polotenchik, я делаю следующим образом.

 

1. Используя компонент Chronoforms создаю нужные мне поля

2. Далее вывожу эту форму в на странице - в материале

3. В шаблоне full нашего товара я делаю ссылку типа

/zakaz-tovara.html?tmpl=order&type=raw&item_name=Название товара

Сама ссылка ведет на страницу где выводится форма

 

 

tmpl=order - вместо order может быть что угодно, но этот файл - шаблон должен находится в папке с шаблоном и иметь расширение php. Это то же самое что и index.php шаблона но в нем происходит вывод контента, без модулей и т.д. В моем случае это файл order.php расположенный по адресу

сайт\templates\МОЙ_ШАБЛОН\index.php

Пример содержимого

<?php
defined('_JEXEC') or die;
?>
<!doctype html>
<html lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<head>
	<jdoc:include type="head" />
  <link rel="stylesheet" href="/media/zoo/applications/jbuniversal/assets/css/jbzoo.css" type="text/css" />
  <link rel="stylesheet" href="/media/zoo/applications/jbuniversal/assets/css/libraries.css" type="text/css" />
  <script src="/media/zoo/applications/jbuniversal/assets/js/jquery.jbzootools.min.js" type="text/javascript"></script>
  <script src="/media/zoo/applications/jbuniversal/assets/js/jquery.libraries.min.js" type="text/javascript"></script>
  
  <script text="text/javascript">
		jQuery(function ($) {
		<?php if(isset($_GET['item_name'])) : ?>
            $('#property-name').attr('value', '<?php echo $_GET['item_name']; ?>');
		<?php endif; ?>
			jQuery("input[name=number]").mask("+7(999)-999-99-99",{placeholder:" "});
        });
  </script>
</head>
	<body>
		<jdoc:include type="message" />
		<jdoc:include type="component" />
	</body>
</html>

Подключаю нужные CSS и JS. Далее делаю проверку если данные были получены, у меня это только имя. В нужное скрытое поле подставляю значение. Тем самым все подставляется и отправляется. 

 

Беда в том что страница открывается отдельная по этому использую fancyBox. Следующим образом. Например ссылка

<a id="btn-zakaz" class="modal-window" href="/zakaz-tovara.html?tmpl=order&amp;type=raw&amp;item_name=Шиномонтажный станок SMONTHER 620">
				Оформить заказ
</a>

На нее вешаю подгрузку фрейма страницы формы. Добавляем инициализацию fancy(можно в шаблоне full нашего товара)

<script>
jQuery(function ($) {
		$("a.modal-window").fancybox({
			type       : "iframe",
			width      : "800",
			minHeight  : 300,
			title      : null,
			helpers   : {
				overlay: { locked: false }
			}
		});
	});
</script>

И все теперь наша форма открывается по подобию быстрого просмотра JBZoo. Через GET можно передавать любые параметры принимать их и отправлять из формы.

 

Вот пример. Вот такие действия.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 3

#1 venya

venya

Отправлено 27 May 2014 - 23:24

Здравствуйте уважаемый саппорт и знатоки компонента. подскажите пожалуйста как решить вопрос. Мне необходимо в карточку товара вставить форму заявки. Сайт пока должен работать без корзины в качестве так сказать каталога. но в карточке товара должна быть возможность задать вопрос по товару. Прилагаю скрин того что мне нужно видеть в карточке товара. Заранее благодарен за помощь

Прикрепленные изображения

  • 2014-05-28_002138.jpg

Сообщение отредактировал venya: 27 May 2014 - 23:25

  • 0

#2 Sliapy

Sliapy

Отправлено 27 May 2014 - 23:29

Используйте любой компонент форм обратной связи - Chronoforms, RSForm и т.д.

 

Данные со страницы (название товара, артикул и т.д.) можно подставлять в скрытые поля формы через jquery. 


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 Polotenchik

Polotenchik

Отправлено 28 May 2014 - 10:01

Приветствую, тоже интересует этот вопрос. Об этом "Данные со страницы (название товара, артикул и т.д.) можно подставлять в скрытые поля формы через jquery. " можно поподробнее написать?


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 28 May 2014 - 10:26   Лучший Ответ

Polotenchik, я делаю следующим образом.

 

1. Используя компонент Chronoforms создаю нужные мне поля

2. Далее вывожу эту форму в на странице - в материале

3. В шаблоне full нашего товара я делаю ссылку типа

/zakaz-tovara.html?tmpl=order&type=raw&item_name=Название товара

Сама ссылка ведет на страницу где выводится форма

 

 

tmpl=order - вместо order может быть что угодно, но этот файл - шаблон должен находится в папке с шаблоном и иметь расширение php. Это то же самое что и index.php шаблона но в нем происходит вывод контента, без модулей и т.д. В моем случае это файл order.php расположенный по адресу

сайт\templates\МОЙ_ШАБЛОН\index.php

Пример содержимого

<?php
defined('_JEXEC') or die;
?>
<!doctype html>
<html lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<head>
	<jdoc:include type="head" />
  <link rel="stylesheet" href="/media/zoo/applications/jbuniversal/assets/css/jbzoo.css" type="text/css" />
  <link rel="stylesheet" href="/media/zoo/applications/jbuniversal/assets/css/libraries.css" type="text/css" />
  <script src="/media/zoo/applications/jbuniversal/assets/js/jquery.jbzootools.min.js" type="text/javascript"></script>
  <script src="/media/zoo/applications/jbuniversal/assets/js/jquery.libraries.min.js" type="text/javascript"></script>
  
  <script text="text/javascript">
		jQuery(function ($) {
		<?php if(isset($_GET['item_name'])) : ?>
            $('#property-name').attr('value', '<?php echo $_GET['item_name']; ?>');
		<?php endif; ?>
			jQuery("input[name=number]").mask("+7(999)-999-99-99",{placeholder:" "});
        });
  </script>
</head>
	<body>
		<jdoc:include type="message" />
		<jdoc:include type="component" />
	</body>
</html>

Подключаю нужные CSS и JS. Далее делаю проверку если данные были получены, у меня это только имя. В нужное скрытое поле подставляю значение. Тем самым все подставляется и отправляется. 

 

Беда в том что страница открывается отдельная по этому использую fancyBox. Следующим образом. Например ссылка

<a id="btn-zakaz" class="modal-window" href="/zakaz-tovara.html?tmpl=order&amp;type=raw&amp;item_name=Шиномонтажный станок SMONTHER 620">
				Оформить заказ
</a>

На нее вешаю подгрузку фрейма страницы формы. Добавляем инициализацию fancy(можно в шаблоне full нашего товара)

<script>
jQuery(function ($) {
		$("a.modal-window").fancybox({
			type       : "iframe",
			width      : "800",
			minHeight  : 300,
			title      : null,
			helpers   : {
				overlay: { locked: false }
			}
		});
	});
</script>

И все теперь наша форма открывается по подобию быстрого просмотра JBZoo. Через GET можно передавать любые параметры принимать их и отправлять из формы.

 

Вот пример. Вот такие действия.


  • 0
Изображение
 




Click to return to top of page in style!