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

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

JoomShopping. Как получить ссылку на картинку для формы RSForm?

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

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

Сообщений: 37



« : 15.12.2014, 10:11:39 »

Здравствуйте...
Необходимо получить картинку (url) из страницы товара JoomShopping.
1. RSForm! выводится через модуль выезжающий на ка каждой странице товара (с названием "быстрый заказ").
2. В самой форме 2 отображаемых поля ("Имя и Фамилия" и "Телефон") и 2 скрытых поля ("titlesite"  и "urlsite") >> http://screencast.com/t/oyU4ysmJ0BRE
3. В RSForm! для полей прописаны условия (в Свойствах > PHP скрипты):
- Для titlesite (получаем заголовок страницы) >>
Код:
$titlesite = JFactory::getDocument()->title;
$formLayout = str_replace('titlesite',$titlesite,$formLayout);

- Для urlsite (получаем url страницы) >>
Код:
$urlsite = JURI::getInstance()->toString();
$formLayout = str_replace('urlsite',$urlsite,$formLayout);

4. Когда человек заполняет поля "Имя и Фамилия" + "Телефон" и нажимает на кнопку "Заказать" на email приходит письмо:
....
Имя и Фамилия
Телефон
Заголовок страницы с которой прислан заказ
Url страницы с которой прислан заказ
....

Необходимо добавить еще одно поле "Картинка товара" (либо, хотя бы, url на картинку товара).

В этой теме http://joomlaforum.ru/index.php?topic=206846.0 нашел возможности подтягивать данные напрямую с базы.
Код:
//<code>
 $content_id = $RSadapter->getParam($_GET,’id’,0);
 if($content_id){
 $q = mysql_query(«SELECT title FROM «.$RSadapter->config[‘dbprefix’].»hg_hotelitems WHERE id = ‘$content_id’ «);
 $title = mysql_result($q,0);
 }else{
 $title = ‘No content found';
 }
 return $title;
 //</code>

Каким образом необходимо прописать код что бы получить картинку (либо, хотя бы, url на картинку товара)??

Не SEF страница товара имеет url: index.php?Itemid=653&option=com_jshopping&controller=product&task=view&category_id=69&product_id=3308&lang=catalog , то есть мы имеем на странице product_id по которому можно сделать выборку из базы данных, но как это правильно прописать?

Таблица в которой находится товар: префикс-бд_jshopping_products и в этой таблице есть все необходимые картинки в полях: product_thumb_image, product_name_image или product_full_image.
Подскажите как по возможности вытащить либо саму картинку "product_full_image" либо url на нее.

И еще, модуль никаким образом не привязан к самой странице товара, то есть он просто в менеджере модулей и выводится на указанных страницах, в наших случаях на странице товара..
« Последнее редактирование: 15.12.2014, 16:34:46 от rudoy24 » Записан
Linfuby
Живу я здесь
******

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

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


Всё просто...


« Ответ #1 : 16.12.2014, 10:11:04 »

Скриптом можно.
По умолчанию в шаблоне главная картинка имеет id="main_image" а значит можно вытащить оттуда src
Записан
rudoy24
Осваиваюсь на форуме
***

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

Сообщений: 37



« Ответ #2 : 16.12.2014, 14:25:34 »

А можно поподробней...
Кстати у картирнки id="main_image_19616" где _19616 <?php print $image->image_id?> тоесть id картинки..
Записан
Linfuby
Живу я здесь
******

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

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


Всё просто...


« Ответ #3 : 16.12.2014, 14:45:27 »

Код
<script>
var image = jQuery('#main_image').attr('scr')
alert(image);
</script>
Как-то так...
А <?php print $image->image_id?> можно и удалить из шаблона
Записан
rudoy24
Осваиваюсь на форуме
***

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

Сообщений: 37



« Ответ #4 : 16.12.2014, 15:02:39 »

Вот как сделать через id картинки:
Код:
<script>
var imgsrc = document.getElementById('main_image').src;
document.write("<img src=\""+imgsrc+"\"/>")
</script>

А как сделать через class, а не через id картинки? (к примеру class="main_image")
document.getElementsByClassName("main_image").src; >> НЕ РАБОТАЕТ !

Либо как это же прописать если у картинки 2 id="main_image_1926 imgsrc"?
var imgsrc = document.getElementById('imgsrc').src; НЕ РАБОТАЕТ ! , в скобках нужно как-то по другому прописать наверное "( ? ,'imgsrc')" ?
« Последнее редактирование: 16.12.2014, 15:07:24 от rudoy24 » Записан
Linfuby
Живу я здесь
******

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

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


Всё просто...


« Ответ #5 : 16.12.2014, 15:15:01 »

Id это уникальное название элемента и оно на странице должно быть одно.
Вы хотите несколько картинок прикрепить к форме? Или все-таки только главную?
Записан
rudoy24
Осваиваюсь на форуме
***

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

Сообщений: 37



« Ответ #6 : 16.12.2014, 15:28:43 »

Хм конечно если id рассматривается как уникальное имя тогда понятно почему не получится, но все же что бы не менять "main_image_id-картинки" как то можно по другому вытащить добавив какой то класс или id?
Вот код сгенерированной страницы:
Код:
<span id="list_product_image_middle">
<a id="main_image_full_19616" class="lightbox" title="" href="http://localhost/components/com_jshopping/files/img_products/full_8c33a770668548a112ff87a5a77f8e6c.jpg">

<img id="main_image_19616" title="" alt="" src="http://localhost/components/com_jshopping/files/img_products/8c33a770668548a112ff87a5a77f8e6c.jpg">

</a>

<a id="main_image_full_19617" class="lightbox no_display" title="" href="http://localhost/components/com_jshopping/files/img_products/full_365caf784a662c2ccbc42a7d6a4bfe4d.jpg">

<img id="main_image_19617" title="" alt="" src="http://localhost/components/com_jshopping/files/img_products/365caf784a662c2ccbc42a7d6a4bfe4d.jpg">
</a>

...
</span>
Записан
rudoy24
Осваиваюсь на форуме
***

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

Сообщений: 37



« Ответ #7 : 16.12.2014, 17:26:40 »

Решено  Smiley , может кому то пригодится:
1. В щаблоне магазина product/product_default.php изменяем:
Код:
main_image_<?php print $image->image_id?>
на
Код:
main_image
2. Создаем скрытое поле с названием " imgsrcpage" (значение по умолчанию пустое).
3. Создаем свободный текст с названием "imgsrcscript". В поле "Текст", вписываем код:
Код:
<script type="text/javascript">
var ele = document.getElementById("main_image");
if(typeof ele !== 'undefined' && ele !== null) {
document.getElementById('imgsrcpage').value = "<img src=\""+document.getElementById('main_image').src+"\" alt=\""+document.title+"\" title=\""+document.title+"\" />";
}
</script>
4. Добавляем в письмо админу {imgsrcpage:value}.

В результате получим следующее:
Если на странице обнаружена картинка с id="main_image"  тогда переменной  "imgsrcpage" присваивается значение и нам в письме прийдет:
<img src="…" alt="…" title="…" /> ,
если картинка со следующим id не обнаружена в письмо ничего не приходит.

Спасибо за помощь: Linfuby (+)
 
« Последнее редактирование: 16.12.2014, 23:26:24 от rudoy24 » Записан
Taatshi
Support Team
*****

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

Пол: Женский
Сообщений: 4718

Мама, я снова верстал во сне...


« Ответ #8 : 11.04.2015, 00:39:32 »

А кто-нибудь в курсе - как передать этот самый тайтл в форму, если она выводится в iframe? Вышепредложенный способ передает тайтл  и ссылку iframe а не товара.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #9 : 11.04.2015, 01:03:42 »

parent.document.title ?
Записан
kuzvik
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #10 : 11.05.2015, 17:34:43 »

Добрый день, подскажите пожалуйста каким образом можно подцепить RSForm в категории джумшопа? в самой Joomla выводится только в материалах с помощью плагина {rsform id},  а в дмумшопе не хочет ни как выводиться.
Записан
Страниц: [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