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

evpadallas

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

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

файл /components/com_joomshopping/templates/you_template/product/product_default.php
Строки:
Код: php
    <?php if ($this->config->show_plus_shipping_in_product){?>
        <span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $this->shippinginfo);?></span>
    <?php }?>
Заменяем на
Код: 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 }?>
Маленькое лирическое отступление. Разработчики компонента, непонятно зачем, вынесли формирование ссылки на доставку в языковые файлы, поэтому или каждый должен править свой языковой файл или все имеющиеся. Это по желанию.
Так вот. В языковом файле ищем строку
Код: php
define('_JSHOP_PLUS_SHIPPING', 'plus <a href="%s" target="_blank">shipping</a>');
и заменяем ее на
Код: php
define('_JSHOP_PLUS_SHIPPING', 'plus <a class="modal" href="%s" >shipping</a>');
Пример из английского языкового файла.

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

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

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

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

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

Если Вы хотите чтобы в списке товаров, информация о доставке так же выводилась во всплывающем окне - добавьте строчку
Код: 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>
в самый верх файла /components/com_joomshopping/templates/you_template/list_product/list_products.php
« Последнее редактирование: 12.04.2012, 16:38:23 от evpadallas »
Спасибо принимаю E205239561513 R332836763680 U328765353131 Z420580779658 + в репу тоже не плохо.
Сайт на Joomla! любой конфигурации за 5 минут!
*

nevigen

  • Moderator
  • 8913
  • 755
  • http://n*****n.com
ОТЛИЧНО !
Я мучался через ХайСлайд.. а тут базовое решение на основе встроенных решений Жумлы.
Думаю нужно внести в базовую инсталяцию!

В репу зарядил +1
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

evpadallas

  • Осваиваюсь на форуме
  • 169
  • 41
Я не очень силен в mootools, поэтому не получается пока без правки языкового файла. Если бы кто-то подсказал как удалить этот дурацкий target="_blank" при помощи mootools, было бы просто супер :)
Спасибо принимаю E205239561513 R332836763680 U328765353131 Z420580779658 + в репу тоже не плохо.
Сайт на Joomla! любой конфигурации за 5 минут!
*

fliginskih

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

evpadallas

  • Осваиваюсь на форуме
  • 169
  • 41
Это сугубо личное дело каждого
Спасибо принимаю E205239561513 R332836763680 U328765353131 Z420580779658 + в репу тоже не плохо.
Сайт на Joomla! любой конфигурации за 5 минут!
*

tochini

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

kurandin

  • Осваиваюсь на форуме
  • 159
  • 5
Поставил у себя,

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

nevigen

  • Moderator
  • 8913
  • 755
  • http://n*****n.com
Языковой файл правили ?
Синтаксис соблюден?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

kurandin

  • Осваиваюсь на форуме
  • 159
  • 5

Если Вы хотите чтобы в списке товаров, информация о доставке так же выводилась во всплывающем окне - добавьте строчку
Код: 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>
    <?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

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

kurandin

  • Осваиваюсь на форуме
  • 159
  • 5
спасибо fliginskih!

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

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

Код: 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

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

StyleRocket

  • Завсегдатай
  • 567
  • 1
А как оставить только для карточки товаров, а то в списке не смотрится?
*

funtic

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

kurandin

  • Осваиваюсь на форуме
  • 159
  • 5
А как оставить только для карточки товаров, а то в списке не смотрится?

UP
*

StyleRocket

  • Завсегдатай
  • 567
  • 1
UP
Надо было сделать бакап файла list_product или удалить все вы проделали в этом файле и заменить на дефолтные данные
*

kurandin

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

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

StyleRocket

  • Завсегдатай
  • 567
  • 1
я хотел совсем убрать из списка товаров "плюс доставка"
В админке - настройки вроде есть галочка, снимите ее и будет вам счастье!
а стоп, понял удалите код тут, 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

  • Завсегдатай
  • 567
  • 1
После обновления на 3.7.0 всплывающее окно пропало, в новом открывается!(
*

evpadallas

  • Осваиваюсь на форуме
  • 169
  • 41
Обновлять надо аккуратно
Спасибо принимаю E205239561513 R332836763680 U328765353131 Z420580779658 + в репу тоже не плохо.
Сайт на Joomla! любой конфигурации за 5 минут!
*

StyleRocket

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

cold-f

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

alexcarver

  • Осваиваюсь на форуме
  • 25
  • 1
Спасибо за решение, друзья. Все работает)
*

x1

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

monah

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

skyrec

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

Igorenia

  • Осваиваюсь на форуме
  • 156
  • 6
Делаю в карточке товара текст "Официальная гарантия от производителя". Хочу, чтобы при нажатии на "производителя" выскакивало окошко с описанием производителя.
Сейчас сделал так:
Код
Официальная гарантия от <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

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

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

auditargument

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

auditargument

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

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

читать надо внимательнее - спасибо!
cold-f +
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Связать магазин со сканером

Автор NitroProton

Ответов: 1
Просмотров: 152
Последний ответ 25.06.2017, 10:34:02
от dmitry_stas
Разделение прав между пользователями (реk

Автор ecolora

Ответов: 6
Просмотров: 213
Последний ответ 16.03.2017, 11:14:19
от kit2m2
КОЛИЧЕСТВО ТОВАРА КНОПКАМИ - И + В JoomShopping - nevigen.com

Автор 3093839

Ответов: 4
Просмотров: 218
Последний ответ 20.12.2016, 16:57:15
от 3093839
Вывод всех подкатегорий категории для "Сп

Автор rudoy24

Ответов: 1
Просмотров: 266
Последний ответ 05.11.2016, 22:28:08
от rudoy24
Внешний вид сопутствующих товаров

Автор oleg8800

Ответов: 15
Просмотров: 346
Последний ответ 20.10.2016, 21:02:50
от oleg8800