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

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

Доработка: вывод item.Title в форму RSForm pro

 (Прочитано 1776 раз)
0 Пользователей и 1 Гость смотрят эту тему.
poz1tive
Новичок
*

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

Сообщений: 4


« : 28.11.2013, 10:54:45 »

Добрый день, друзья верстальщики и вэбмастера!

Часто читаю этот форум и постоянно нахожу тут полезные решения.

И вот первый раз пишу с вопросом, поскольку он касается работы с php, а я в этом не силен.

Суть вопроса: нашел решение по выводу названия материала К2 в форму заказа RSForm Pro, которая реализована через JCE mediabox.
Решение получилось применить вот такое: http://joomlaforum.ru/index.php/topic,148897.msg811624.html#msg811624
Данные: Joomla 3.2.0+K2 v2.6.7+RSForm Pro+JCE mediabox
Описание:
1. в материале К2 есть ссылка на форму заказа
<a class="jcepopup" type="iframe" rel="width[700];height[500]" href="index.php?option=com_rsform&amp;view=rsform&amp;formId=1;tmpl=component;&name=<?php echo $pageTitle ?>" target="_blank">Получить КП на e-mail</a>
2. Название материала выводится в через скрипт:
Код:
<script type="text/javascript">
function get_title(){
var HF = document.getElementById("Tech");
HF.value = document.title;
}</script>
3. заполнение поля Tech производится путем нажатия Sumbit, через функцию
Код:
onclick="get_title()"

Проблема: при заполнении поля название берется из $pageTitle - в котором у меня при помощи sh404SEF добавлены SEO данные и получается название материала К2+SEO текст ("Станок вертикально-сверлильный 2С132 купить станки, цена, описание, заказать)


Вопрос: как изменить код, чтобы название материала К2 бралось из <meta property="og:title" content=" "> либо из breadcrumbs, в которых в обоих название материала стоит без SEO текста, либо другие варианты откуда взять название материала. Так же необходимо заполнять без нажатия на Sumbit, т.е. при загрузке формы в модальном окне (т.е. автоматически, как только пользователь нажмет кнопку Получить КП на странице товара).

Идеальное решение для меня: при нажатии на кнопку появляется форма в которой уже стоит название товара и остается только ввести почту и телефон, чтобы получить цену и предложение на этот товар.

Жду помощи, друзья!

Fedor Vlasenko, где же вы? Это по вашей компетенции вопрос - помогите!
« Последнее редактирование: 06.12.2013, 16:29:54 от poz1tive » Записан
Fedor Vlasenko
Профи
********

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

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


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


« Ответ #1 : 28.11.2013, 14:06:32 »

Можно так брать с заголовка h1
Код
<script type="text/javascript">
function get_title(){
var HF = document.getElementById("Tech");
HF.value = document.getElementsByTagName('h1')[0].innerHTML;
//jQuery('h1').text();
}</script>
Записан
poz1tive
Новичок
*

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

Сообщений: 4


« Ответ #2 : 28.11.2013, 14:21:44 »

Можно так брать с заголовка h1
Код
<script type="text/javascript">
function get_title(){
var HF = document.getElementById("Tech");
HF.value = document.getElementsByTagName('h1')[0].innerHTML;
//jQuery('h1').text();
}</script>

не работает...
Записан
poz1tive
Новичок
*

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

Сообщений: 4


« Ответ #3 : 06.12.2013, 16:28:53 »

Решил сам:
в Properties RSFormPro в поле Java script вставлен код:
Код:
<script type="text/javascript">
window.onload = function get_title(){
var HF = document.getElementById("Tech");
HF.value = parent.document.getElementsByTagName('h1')[0].innerHTML;
}</script>

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

Может кому пригодится.

Всем добра Azn

Записан
Vivaldi
Новичок
*

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

Сообщений: 1


« Ответ #4 : 06.04.2015, 22:29:54 »

Решил сам:
в Properties RSFormPro в поле Java script вставлен код:
Код:
<script type="text/javascript">
window.onload = function get_title(){
var HF = document.getElementById("Tech");
HF.value = parent.document.getElementsByTagName('h1')[0].innerHTML;
}</script>

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

Может кому пригодится.

Всем добра Azn


в данном случае по ссылке в принципе можно ничего не отправлять - он просто берет значение h1 из страницы.
Я немного по-другому решил схожую проблему, в моем случае модальное окно необязательно.
Создал пользовательский модуль, подключив расширение php_module, ибо Joomla режет код при сохранении. Можно выбрать любое другое, главное чтобы код не обрезало. Прописал модулю позицию, чтобы можно было вызвать в материале добавлением {loadposition module_name}
В этот модуль вставил:
Код:
<?php
$db = JFactory::getDBO();
$articleid = JRequest::getInt('id');
$db->setQuery('SELECT title FROM 'table_name'_k2_items WHERE id='.$articleid);
$item_title=$db->loadResult();

?>
<a class="jcepopup" type="iframe" rel="width[700];height[500]" href="index.php?option=com_rsform&amp;view=rsform&amp;formId=6;tmpl=component;&title=<?php echo $item_title; ?>" target="_blank">Нажми меня</a>
Где formId - id вашей формы, a 'table_name' префикс вашей таблицы в БД. А в нужное мне поле RSForm вставил следующее:
Код:
//<code>
return $_REQUEST['title'];
//</code>
 
В принципе, таким образом можно передать любое значение, какое пожелаете и получить его в RSForm. Properties RSForm можно оставить пустым и модальное окно в ссылке необязательно.
Не знаю, может этот способ в чем-то плох - я еще новичок и ненастоящий программист, но мучился с этим полутора суток, даже вот решил написать и зарегистрировался на этом сайте.
Всем добра!
« Последнее редактирование: 06.04.2015, 22:48:52 от Vivaldi » Записан
Страниц: [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