0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 3163 Просмотров
*

rudoy24

  • Захожу иногда
  • 57
  • 1 / 0
Здравствуйте...
Необходимо получить картинку (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, 15:34:46 от rudoy24 »
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Скриптом можно.
По умолчанию в шаблоне главная картинка имеет id="main_image" а значит можно вытащить оттуда src
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

rudoy24

  • Захожу иногда
  • 57
  • 1 / 0
А можно поподробней...
Кстати у картирнки id="main_image_19616" где _19616 <?php print $image->image_id?> тоесть id картинки..
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Код: php
<script>
var image = jQuery('#main_image').attr('scr')
alert(image);
</script>
Как-то так...
А <?php print $image->image_id?> можно и удалить из шаблона
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

rudoy24

  • Захожу иногда
  • 57
  • 1 / 0
Вот как сделать через 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, 14:07:24 от rudoy24 »
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Id это уникальное название элемента и оно на странице должно быть одно.
Вы хотите несколько картинок прикрепить к форме? Или все-таки только главную?
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

rudoy24

  • Захожу иногда
  • 57
  • 1 / 0
Хм конечно если 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

  • Захожу иногда
  • 57
  • 1 / 0
Решено  ^-^ , может кому то пригодится:
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, 22:26:24 от rudoy24 »
*

Taatshi

  • Глобальный модератор
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
А кто-нибудь в курсе - как передать этот самый тайтл в форму, если она выводится в iframe? Вышепредложенный способ передает тайтл  и ссылку iframe а не товара.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
parent.document.title ?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kuzvik

  • Осваиваюсь на форуме
  • 36
  • 1 / 0
Добрый день, подскажите пожалуйста каким образом можно подцепить RSForm в категории джумшопа? в самой Joomla выводится только в материалах с помощью плагина {rsform id},  а в дмумшопе не хочет ни как выводиться.
*

intcorp

  • Захожу иногда
  • 456
  • 12 / 0
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 страницы с которой прислан заказ
Подскажите такой момент: мы создаем два пустых скрытых поля с заголовками "titlesite"  и "urlsite", и вставляем оба кода
Код
$urlsite = JURI::getInstance()->toString();
$formLayout = str_replace('urlsite',$urlsite,$formLayout);
$urlsite = JURI::getInstance()->toString();
$formLayout = str_replace('urlsite',$urlsite,$formLayout);
в Свойствах > PHP скрипты > блок $formLayout ?

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться