Форум русской поддержки Joomla!® CMS
08.12.2016, 06:11:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Форма обратной связи с привязкой к материалу

 (Прочитано 3189 раз)
0 Пользователей и 1 Гость смотрят эту тему.
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« : 07.07.2012, 17:34:23 »

Добрый день! Ребята посоветуйте, как можно привязать форму обратной связи к материалу?  да и вообще какой компонент или плагин использовать? т.е.  допустим сайт туристической тематики! Есть материал (пример «тур в Испанию») так вот как сделать, что бы человек при нажатии «забронировать» попадал на форму, но в форме отображалось, что он заказывает именно тур в Испанию – ну и соответственно , что бы мне это приходило на почту. Crazy
Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #1 : 07.07.2012, 17:45:34 »

Как передать переменную из компонента в модуль?
Записан
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #2 : 07.07.2012, 18:43:38 »


В компоненте пишем:
Код
<?php
$document = & JFactory::getDocument();
$document->setBuffer( 'Znachenie', 'component', 'parametr' );
?>
 
В модуле считываем:
Код
<?php
echo JFactory::getDocument()->getBuffer('component', 'parametr');
//return Znachenie
?>
  а можно это использовать  в  компоненте CK Forms?
Записан
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #3 : 07.07.2012, 19:31:45 »

в CK Forms не могу понять куда вставлять

Код
<?php
$document = & JFactory::getDocument();
$document->setBuffer( 'Znachenie', 'component', 'parametr' );
?>
 
В модуле считываем:
Код
<?php
echo JFactory::getDocument()->getBuffer('component', 'parametr');
//return Znachenie
?>
Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #4 : 07.07.2012, 19:34:39 »

Цитировать
что бы человек при нажатии «забронировать» попадал на форму
для этого данные нужно сохранить к примеру в сессию Записываем вставлять код в компоненте с которого берете данные
Код
Код
<?php
$session =& JFactory::getSession();
$session->set("product_name",  $this->product->name);
?>
далее в модуле и \ли компоненте вытягиваем данные и назначаем значение элементу с id='product' с использованием js
код вставлять в модуль вывода формы. Решение рабочее (но нужно условиями обернуть если будете использовать несколько форм)
Код
<?php
$session =& JFactory::getSession();
$document =& JFactory::getDocument();
$js = "window.addEvent('load', function(){ $('product').value = '".$session->get("product_name")."'; });";
$document->addScriptDeclaration($js);
?>
опишите у вас форма на этой же странице отображается или с переходом на следующую.
« Последнее редактирование: 07.07.2012, 19:57:13 от Poznakomlus » Записан
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #5 : 07.07.2012, 20:12:05 »

для этого данные нужно сохранить к примеру в сессию Записываем вставлять код в компоненте с которого берете данные
Код
Код
<?php
$session =& JFactory::getSession();
 
 
$session->set("product_name",  $this->product->name);
?>
далее в модуле вытягиваем данные и назначаем значение элементу с id='product' с использованием js
код вставлять в модуль вывода формы. Решение рабочее (но нужно условиями обернуть если будете использовать несколько форм)
Код
<?php
$session =& JFactory::getSession();
$document =& JFactory::getDocument();
$js = "window.addEvent('load', function(){ $('product').value = '".$session->get("product_name")."'; });";
$document->addScriptDeclaration($js);
?>

Poznakomlus в php не силен! нужно растолковать на примере! думаю многим начинающим будет полезно. Сайт http://www.timmisworld.ru/. В меню  " Страны и направление" - "Европа"- "Испания" - "туры от timmis worrld" - идет список путешествий (обычный материал)! где указана цена - делаю ссылку на форму (за ранее создал материал - без категории ) <span><a href="napisat_nam">забронировать 14000</a></span>. При нажатии на цену - вылазит форма - то что надо ))) Да я действительно буду использовать разные формы.  До этого момента всё понятно - но  я ни как не пойму в какой файл вставляется вот этот код

<?php
$session =& JFactory::getSession();
$session->set("product_name",  $this->product->name);
?>

У меня компонент находится в двух местах  /www/administrator/components/com_ckforms/ и /www/components/com_ckforms/  Этот код вставляется в default.php?

И опять как понять
Цитировать
в модуле вытягиваем данные и назначаем значение элементу с id='product' с использованием js
. Допустим у меня 20 материалов с разными id.  т.е. я должен в

<?php
$session =& JFactory::getSession();
$document =& JFactory::getDocument();
$js = "window.addEvent('load', function(){ $('здесь вставлять id для каждого материала ?').value = '".$session->get("product_name")."'; });";
$document->addScriptDeclaration($js);
?>
 Да и вообще не могу понять куда дальше вставлять этот код. в какой файл? вообще запутался  Crazy
Записан
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #6 : 07.07.2012, 20:14:48 »

Цитировать
назначаем значение элементу с id='product' с использованием js
код вставлять в модуль вывода формы
простите не заметил, но где его искать этот модуль вывода формы?
Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #7 : 07.07.2012, 20:24:54 »

Приведите ссылку сайта где есть форма
И напишите какие данные форме хотите передавать
Записан
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #8 : 07.07.2012, 20:30:25 »

Приведите ссылку сайта где есть форма
И напишите какие данные форме хотите передавать
Форму я сделал....ну почти...

А вот сайт - так тоже хочеться реализовать http://www.elisatours.ru/index.php?app=tours - при нажатии забронировать выходит то что надо
Записан
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #9 : 09.07.2012, 15:30:27 »

После добавления

<?php
$session =& JFactory::getSession();
$session->set("product_name",  $this->product->name);
?>

В письме приходит:

Form : Проверка формы заказа [proba]
 registered at 2012-07-09 15:20:53

 Имя : Андрей
 телефон : 325992
Article ID :

т.е. id начало отображаться, понимаю что где то рядом капаю! теперь нужно вот этот код

$session =& JFactory::getSession();
$document =& JFactory::getDocument();
$js = "window.addEvent('load', function(){ $('product').value = '".$session->get("product_name")."'; });";
$document->addScriptDeclaration($js);

или этот (еще не разобрался какой)

$session =& JFactory::getSession();
echo $session->get("product_name");

прописать в  модуле вывода формы. Но я не знаю как определить этот модуль или узнать как называется? Народ подскажите пожалуйста? использую CK Forms. Мучаюсь уже 2 дня! методом тыка не получается  Cry
Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #10 : 09.07.2012, 15:43:18 »

andrey77777 Еще раз совсем непонятно какие параметры вы хотите передавать, а именно как их определять, где задавать и на основе чего я могу их идентифицировать. Далее непонятно с формой. Она у вас на этой-же странице, или на новой загруженной.
Пример который вы указываете, там этого нет(Автоматического заполнений данных).
Цитировать
Форму я сделал....ну почти...
Хочу то, не знаю что.
Записан
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #11 : 09.07.2012, 15:56:21 »

Poznakomlus сейчас сделаю на timmisworld.ru! форма есть на http://condcareer.ru/ispaniya-madrid/ - это тот же сайт, но на нем эксперементирую - нажать забронировать 14000. Форму сделать не проблема....мне нужно что бы в письме приходило название материала или с какой страницы забронировали! что бы я понимал - что человек бронирует.
Записан
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #12 : 09.07.2012, 20:42:35 »

andrey77777 Еще раз совсем непонятно какие параметры вы хотите передавать, а именно как их определять, где задавать и на основе чего я могу их идентифицировать. Далее непонятно с формой. Она у вас на этой-же странице, или на новой загруженной.
Пример который вы указываете, там этого нет(Автоматического заполнений данных).Хочу то, не знаю что.

Poznakomlus форму сделал  - http://www.timmisworld.ru/tury/formentera . Нужно что бы при бронировании - мне на почту приходило название материала.  Т.е. параметры  - название материала с которого произошло бронирование….
Кстати после установки формы – страница с формой начала зависать
Записан
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #13 : 09.07.2012, 22:32:56 »

Создал пункт меню.  Тип меню - Standard CKForms CSS Layout. Его не опубликовал. Сделал форму. Её назвал zabronirovat. Теперь в материале (где хочу  поставить форму) выделяю текст и даю ссылку на http://www.timmisworld.ru/zabronirovat. При нажатии перебрасывает на форму. Нужно что бы материалы где указывалась форма отображался в письме. Сейчас добился – мне приходит Article ID :  но он пустой! Не указывается материал с которого была произведена бронь или хотя бы id материала. Вот письмо, что приходит

Form : Забронировать [zabronirovat]
 registered at 2012-07-09 22:17:35

 Имя : Андрей
 Фамилия : ххх
 Телефон : 8 903 57 67 822
 email : test@mail.ru
 Количество человек : 2
 Детей (до 7 лет) : 0
 дата заезда : 09/07/2012
 дата выезда : 15/07/2012
 Виза нужна : trebviza
 Рейс :
 Трансфер :
 Номер : 1
 Питание: : zav
 Дополнительные сервисы : 2
 Дополнительные пожелания : Проверка
 IP Address :
 Article ID :
 Sad
Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #14 : 09.07.2012, 23:21:15 »

Открываешь файл components/com_ckforms/views/ckforms/tmpl/default.php строка 247
заменяешь
value="<?php if (empty($this->post) ==false) {echo $this->post[$field->name];} else {echo $field->t_initvalueT;} ?>" на
value="<?php if (empty($this->post) ==false) {echo $this->post[$field->name];} elseif ($field->name =='id'){echo $_SERVER['HTTP_REFERER'];} else {echo $field->t_initvalueT;} ?>"
таким образом в скрытое поле id будет занесен адрес страницы с которой перешли. И опять вы поменяли входящие данные, так как до этого это был блок или список категории
Записан
andrey77777
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Пол: Мужской
Сообщений: 83



« Ответ #15 : 10.07.2012, 14:36:06 »

Открываешь файл components/com_ckforms/views/ckforms/tmpl/default.php строка 247
заменяешь
value="<?php if (empty($this->post) ==false) {echo $this->post[$field->name];} else {echo $field->t_initvalueT;} ?>" на
value="<?php if (empty($this->post) ==false) {echo $this->post[$field->name];} elseif ($field->name =='id'){echo $_SERVER['HTTP_REFERER'];} else {echo $field->t_initvalueT;} ?>"
таким образом в скрытое поле id будет занесен адрес страницы с которой перешли. И опять вы поменяли входящие данные, так как до этого это был блок или список категории

Заменил - точно так же отображается! проверил на 2 сайтах  Crazy
Записан
rengtai
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #16 : 29.06.2015, 20:09:56 »

помогите пожалуйста новичку в Joomla

в конце материала вызываю модуль обратной связи "сделать заявку" (форма обратной связи)
было бы здорово если бы на кнопке "Сделать заявку" можно было менять текст на кнопке на разных страницах
Например "Сделать заявку на пиломатериал", "Сделать заявку на бочки", ...

вызывать модуль feedback обратной связи в коде материала с передачей параметров так ?

$document = JFactory::getDocument();
$document->setBuffer( 'Сделать заявку на бочки', 'mod_feedback', 'parametr' );
{loadmodule mod_feedback}

И потом где и как присваивать значение переменной для отображения текста на кнопке ?
на примере модуля обратной связи

http://freelancer.dn.ua/blog/%D0%BA%D0%B0%D0%BA-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D0%B4%D0%BB%D1%8F-joomla-3-%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/

Спасибо
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet