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

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

Вывод информации о доставке во всплывающk

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

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

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



« : 26.01.2012, 12:41:28 »

На суд уважаемого сообщества, маленький хак.
Вывод в карточке товара, информации о доставке в модальном окне.

UPD: в хак внесены существенные изменения.

файл /components/com_joomshopping/templates/you_template/product/product_default.php
Строки:
Код
    <?php if ($this->config->show_plus_shipping_in_product){?>
       <span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>
   <?php }?>
 
Заменяем на
Код
    <?php if ($this->config->show_plus_shipping_in_product){?>
   <?php JHTML::_('behavior.modal');  ?>
       <script>
           window.addEvent('domready', function() {
               // Decorate the shipping window to use a modal.
               $$('a.modal').each(function(a){
                   a.setProperty('rel', '{size: {x: 700, y: 500}, handler: "iframe"}');
                   if (a.getProperty('href').contains('?')) {
                       a.setProperty('href', a.getProperty('href')+'&tmpl=component');
                   } else {
                       a.setProperty('href', a.getProperty('href')+'?tmpl=component');
                   }
               });
           });
       </script>
       <span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>
   <?php }?>
 
Маленькое лирическое отступление. Разработчики компонента, непонятно зачем, вынесли формирование ссылки на доставку в языковые файлы, поэтому или каждый должен править свой языковой файл или все имеющиеся. Это по желанию.
Так вот. В языковом файле ищем строку
Код
define('_JSHOP_PLUS_SHIPPING', 'plus <a href="%s" target="_blank">shipping</a>');
и заменяем ее на
Код
define('_JSHOP_PLUS_SHIPPING', 'plus <a class="modal" href="%s" >shipping</a>');
Пример из английского языкового файла.

З.Ы.  rel="{size: {x: 700, y: 500} - это размеры модального окна, ширина и высота. Меняйте как Вам кажется удобнее и привлекательнее.

З.З.Ы. Если в новых версиях что-то изменится в формировании ссылки. Напишу апдейт Azn

З.З.З.Ы. Тестировалось на Joomla 2.5 & JoomShopping 3.4.2

Всем спасибо за внимание.

Обновление хака.

Если Вы хотите чтобы в списке товаров, информация о доставке так же выводилась во всплывающем окне - добавьте строчку
Код
<?php JHTML::_('behavior.modal');  ?>
       <script>
           window.addEvent('domready', function() {
               // Decorate the shipping window to use a modal.
               $$('a.modal').each(function(a){
                   a.setProperty('rel', '{size: {x: 700, y: 500}, handler: "iframe"}');
                   if (a.getProperty('href').contains('?')) {
                       a.setProperty('href', a.getProperty('href')+'&tmpl=component');
                   } else {
                       a.setProperty('href', a.getProperty('href')+'?tmpl=component');
                   }
               });
           });
       </script>
       <span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>
 
в самый верх файла /components/com_joomshopping/templates/you_template/list_product/list_products.php
« Последнее редактирование: 12.04.2012, 16:38:23 от evpadallas » Записан
nevigen
Moderator
*****

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

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


http://n*****n.com


« Ответ #1 : 26.01.2012, 15:16:30 »

ОТЛИЧНО !
Я мучался через ХайСлайд.. а тут базовое решение на основе встроенных решений Жумлы.
Думаю нужно внести в базовую инсталяцию!

В репу зарядил +1
Записан
evpadallas
Осваиваюсь на форуме
***

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

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



« Ответ #2 : 26.01.2012, 15:49:05 »

Я не очень силен в mootools, поэтому не получается пока без правки языкового файла. Если бы кто-то подсказал как удалить этот дурацкий target="_blank" при помощи mootools, было бы просто супер Azn
Записан
fliginskih
Осваиваюсь на форуме
***

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

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



« Ответ #3 : 27.01.2012, 13:09:50 »

я вообще отключил mootools и всем советую, ибо JoomShopping работает на jQuery. ИМХО зачем использовать 2 библиотеки, если все можно сделать на одной.
Записан
evpadallas
Осваиваюсь на форуме
***

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

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



« Ответ #4 : 27.01.2012, 14:46:15 »

Это сугубо личное дело каждого
Записан
tochini
Осваиваюсь на форуме
***

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

Сообщений: 67


« Ответ #5 : 27.01.2012, 15:55:57 »

я вообще отключил mootools и всем советую, ибо JoomShopping работает на jQuery. ИМХО зачем использовать 2 библиотеки, если все можно сделать на одной.
+1
1. КоровьиТулзы слишком велики, да и на фронте используются минимально и можно без них обойтись
2. Часто бывают конфликты
Записан
kurandin
Осваиваюсь на форуме
***

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

Сообщений: 161



« Ответ #6 : 27.02.2012, 03:31:25 »

Поставил у себя,

после трудов
Все заработало  drink
« Последнее редактирование: 28.03.2012, 21:34:42 от kurandin » Записан
nevigen
Moderator
*****

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

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


http://n*****n.com


« Ответ #7 : 27.02.2012, 10:39:17 »

Языковой файл правили ?
Синтаксис соблюден?
Записан
kurandin
Осваиваюсь на форуме
***

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

Сообщений: 161



« Ответ #8 : 28.03.2012, 21:39:30 »


Если Вы хотите чтобы в списке товаров, информация о доставке так же выводилась во всплывающем окне - добавьте строчку
Код
<?php JHTML::_('behavior.modal');  ?>
       <script>
           window.addEvent('domready', function() {
               // Decorate the shipping window to use a modal.
               $$('a.modal').each(function(a){
                   a.setProperty('rel', '{size: {x: 700, y: 500}, handler: "iframe"}');
                   if (a.getProperty('href').contains('?')) {
                       a.setProperty('href', a.getProperty('href')+'&tmpl=component');
                   } else {
                       a.setProperty('href', a.getProperty('href')+'?tmpl=component');
                   }
               });
           });
       </script>
       <span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>
   <?php }?>
в самый верх файла /components/com_joomshopping/templates/you_template/list_product/list_products.php
Вставил
У меня димвювер ругался
А на сайте в категории появилось это:
Код:
Parse error: syntax error, unexpected '}' in /components/com_jshopping/templates/ja_tiris/list_products/list_products.php on line 16
У никого такого не было?
Записан
fliginskih
Осваиваюсь на форуме
***

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

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



« Ответ #9 : 28.03.2012, 23:05:09 »

"Parse error: syntax error, unexpected '}'....."
где то лишняя скобка "}"
Записан
kurandin
Осваиваюсь на форуме
***

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

Сообщений: 161



« Ответ #10 : 28.03.2012, 23:26:35 »

спасибо fliginskih!

Итог пыток - попыток
доставка в сплывающем окне в списке товаров заработала, когда удалил последнюю сточку кода от evpadallas

/components/com_jshopping/templates/шаблон/list_products/list_products.php

Код
<?php JHTML::_('behavior.modal');  ?>
       <script>
           window.addEvent('domready', function() {
               // Decorate the shipping window to use a modal.
               $$('a.modal').each(function(a){
                   a.setProperty('rel', '{size: {x: 700, y: 500}, handler: "iframe"}');
                   if (a.getProperty('href').contains('?')) {
                       a.setProperty('href', a.getProperty('href')+'&tmpl=component');
                   } else {
                       a.setProperty('href', a.getProperty('href')+'?tmpl=component');
                   }
               });
           });
       </script>
       <span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>

надеюсь, что кому нибудь помог
Записан
funtic
Захожу иногда
**

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

Сообщений: 20


« Ответ #11 : 10.04.2012, 22:36:26 »

вот ковырялся в файле, сайт/components/com_jshopping/lang/ru-RU.php нашел
Код:
define('_JSHOP_PLUS_SHIPPING', 'плюс <a href="%s" target="_blank">доставка</a>');
это случайно не то что вы искали ?
Записан
StyleRocket
Завсегдатай
*****

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

Сообщений: 567


« Ответ #12 : 01.05.2012, 23:23:51 »

А как оставить только для карточки товаров, а то в списке не смотрится?
Записан
funtic
Захожу иногда
**

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

Сообщений: 20


« Ответ #13 : 14.05.2012, 19:55:24 »

Народ а вот в корзине тоже отображается ссылочка доставки, но окно не открываться, и дальше значка загрузки не идет.
Как это решить чтобы из корзины тоже всплывающим окном отображалось.
Записан
kurandin
Осваиваюсь на форуме
***

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

Сообщений: 161



« Ответ #14 : 14.05.2012, 21:31:11 »

А как оставить только для карточки товаров, а то в списке не смотрится?

UP
Записан
StyleRocket
Завсегдатай
*****

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

Сообщений: 567


« Ответ #15 : 14.05.2012, 21:59:10 »

UP
Надо было сделать бакап файла list_product или удалить все вы проделали в этом файле и заменить на дефолтные данные
Записан
kurandin
Осваиваюсь на форуме
***

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

Сообщений: 161



« Ответ #16 : 15.05.2012, 00:41:52 »

Надо было сделать бакап файла list_product или удалить все вы проделали в этом файле и заменить на дефолтные данные

я хотел совсем убрать из списка товаров "плюс доставка"
Записан
StyleRocket
Завсегдатай
*****

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

Сообщений: 567


« Ответ #17 : 15.05.2012, 05:03:46 »

я хотел совсем убрать из списка товаров "плюс доставка"
В админке - настройки вроде есть галочка, снимите ее и будет вам счастье!
а стоп, понял удалите код тут, com_jshopping/templates/ваш_шаблон/list_products/product.php
<?php if ($this->config->show_plus_shipping_in_product){?>
                            <span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>
                        <?php }?>
Записан
StyleRocket
Завсегдатай
*****

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

Сообщений: 567


« Ответ #18 : 09.06.2012, 20:08:01 »

После обновления на 3.7.0 всплывающее окно пропало, в новом открывается!(
Записан
evpadallas
Осваиваюсь на форуме
***

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

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



« Ответ #19 : 09.06.2012, 22:38:24 »

Обновлять надо аккуратно
Записан
StyleRocket
Завсегдатай
*****

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

Сообщений: 567


« Ответ #20 : 09.06.2012, 22:53:24 »

Разобрался, языковой файл зацепило!
Кстати, в нововй 3.7.0 есть возможность отключить использование lightbox что очень важно))
Записан
cold-f
Захожу иногда
**

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

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


« Ответ #21 : 10.11.2012, 18:53:54 »

Народ а вот в корзине тоже отображается ссылочка доставки, но окно не открываться, и дальше значка загрузки не идет.
Как это решить чтобы из корзины тоже всплывающим окном отображалось.
Надо в файле cart.php по адресу \components\com_jshopping\templates\ваш-шаблон\cart
Вместо
Показать текстовый блок
Вставить
Показать текстовый блок
Записан
alexcarver
Осваиваюсь на форуме
***

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

Сообщений: 25


« Ответ #22 : 19.06.2013, 03:25:44 »

Спасибо за решение, друзья. Все работает)
Записан
x1
Давно я тут
****

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

Сообщений: 386


« Ответ #23 : 01.08.2013, 12:26:37 »

Спасибо за решение, друзья. Все работает)
У меня почему то при сохранении всплывающее окно не закрывается. В нем карточка закрывается и отображается список товаров админки магазина.
Записан
monah
Захожу иногда
**

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

Сообщений: 11



« Ответ #24 : 05.09.2013, 14:09:11 »

Люди, подскажите где это можно посмотреть, как оно выглядит? Скиньте цылко или скрин.
Записан
skyrec
Давно я тут
****

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

Сообщений: 388


Люблю я детей !!!


« Ответ #25 : 22.10.2013, 11:55:44 »

Ребят а подскажите как задать разные размеры Модального окна, если на одной странице их используется несколько ? К примеру обратный звонок размером 400 на 450, а доставка 700 на 500, но все окна открываются 700 на 500. Я пробовал менять класс modal, но тогда вообще перестает работать.
Записан
Igorenia
Осваиваюсь на форуме
***

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

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


« Ответ #26 : 29.10.2013, 13:56:21 »

Делаю в карточке товара текст "Официальная гарантия от производителя". Хочу, чтобы при нажатии на "производителя" выскакивало окошко с описанием производителя.
Сейчас сделал так:
Код:
Официальная гарантия от <a class = "modal" href = "/<?php print $this->product->manufacturer_info->man_alias ?>.html"><?php print $this->product->manufacturer_info->name?></a>
Предварительно дописав к запросу в factory.php - "`alias_ru-RU` as man_alias"
Все работает, но во всплывающем окне не только инфа о производителе, но и все товары этого производителя, что мне не подходит.
Поэтому хочу сделать, чтобы во всплывающем окне выводилось только описание производителя.
Описания я получу, дописав в factory.php в запросе
Код:
`description_ru-RU` as description
Вызывать это описание вот так:
Код:
<?php print $this->product->manufacturer_info->description ?>
А как этот текст запихнуть в модальное окно?
Записан
skyrec
Давно я тут
****

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

Сообщений: 388


Люблю я детей !!!


« Ответ #27 : 11.11.2013, 15:40:19 »

Ребят а подскажите как задать разные размеры Модального окна, если на одной странице их используется несколько ? К примеру обратный звонок размером 400 на 450, а доставка 700 на 500, но все окна открываются 700 на 500. Я пробовал менять класс modal, но тогда вообще перестает работать.

Я разобрался по своей проблеме, может кому тоже будет интересно. Дело было в скрипте, он подгружал настройки для всего класса modal, я изменил его на ID="" и прописал этот ID только выводу "о доставке".
Записан
auditargument
Захожу иногда
**

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

Сообщений: 11


« Ответ #28 : 04.01.2014, 04:42:52 »

в корзине таблица - div не подходит - можно по аналогии сделать
Записан
auditargument
Захожу иногда
**

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

Сообщений: 11


« Ответ #29 : 04.01.2014, 04:44:50 »

в корзине таблица - div не подходит - можно по аналогии сделать

Надо в файле cart.php по адресу \components\com_jshopping\templates\ваш-шаблон\cart
Вместо
Показать текстовый блок
Вставить
Показать текстовый блок

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

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