Новости Joomla

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

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Обновление поста 21.11.2014, рецепты ниже не будут работать на J1.5, J1.6, J1.7. Только для последних версий J2.5 и J3.x

По мотивам - Различные условия в шаблонах

Варианты вызова модуля в шаблонах компонента Jshop
как вызвать модуль, например, в шаблоне категории или товара, 3 способа:

1. Вывод конкретного модуля, на примере модуля меток
Спойлер
[свернуть]

2. Вывод любого (всех) модулей, опубликованных в конкретной позиции - bottom
Спойлер
[свернуть]

3. Еще вариант вызова модулей по позиции
Спойлер
[свернуть]

Различные условия в шаблоне Joomla (templates/ВАШ_Шаблон/index.php)

1. Получаем необходимые параметры

Перед составлением условий, рекомендую - отключить SEF, тогда будет видно в URL какие у вас параметры

Код: php
$input = JFactory::getApplication()->input;
$option = $input->getCmd('option', '');
$controller = $input->getCmd('controller', '');

$option определяет компонент, в нашем случае $option это 'com_jshopping'
$controller работает уже внутри компонента - это может быть 'category', 'product', 'cart' и другое; все это можете узнать отключив SEF в настройках и посмотрев чему равен $controller (в адресной строке) на интересующих вас страницах.

Логические операторы
(для совсем новичков, чтоб вы сами могли составлять условия)
[spoiler title=логические операторы]
==  РАВНО
напр. - $controller == 'product' (показать в товарах)
!=  НЕ РАВНО!
напр. - $controller != 'product' (НЕ показывать в товарах)
&&  И
напр. - $controller == 'category' && $controller == 'product' (и в категориях и в товарах)[/spoiler]

Примеры для шаблона Joomla (templates/ВАШ_Шаблон/index.php)

1. Компонент Jshop установлен как главный пункт меню (для красивых ссылок, допустим), но не хотим выводить его на главной
Код: php
<?php if (JURI::current()!= JURI::base()):?> //само условие
<jdoc:include type="component" /> //непосредственно вывод компонента
<?php endif;?>

2. Позицию модуля не показывать в корзине и при оформлении заказа
Код: php
<?php if ( $option == 'com_jshopping' && $controller != 'cart' && $controller != 'checkout' ) : ?>
<jdoc:include type="modules" name="left" />
<?php endif; ?>

3. Показать модуль только в категории, у которой ID=5
Спойлер
[свернуть]

Различные условия в шаблонах компонента Joomshopping

Первым делом переопределяем шаблоны -  всю папку /components/com_jshopping/templates/default/ копируем, переименовываем в com_jshopping и загружаем по адресу /templates/ваш_шаблон/html/*

1. Выводить описание категории только на первой странице (на второй и последующих - описания не будет)
/templates/ваш_шаблон/html/com_jshopping/category/category_default.php
Спойлер
[свернуть]

2. Выводить что угодно в магазине только для авторизованных пользователей
Спойлер
[свернуть]
В основном мануал собран из тех решений что уже встречались на форуме, для вашего удобства - всё в одном месте, довольно подробно, с пояснениями, - поэтому не стесняйтесь - экспериментируйте с условиями :)
« Последнее редактирование: 03.03.2020, 13:37:38 от nevigen »
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #30 : 13.09.2012, 15:18:22 »
Жесть....:)
Примерно что-то понятно, но в то же время в целом вообще ничего не понятно.
Может вы мне в личке подробнее распишите (всем остальным мне в личку писать нельзя!) - покажете сайт или хотя бы скрины сделаете, на живом примере будет понятнее))
*

Phoenix88

  • Захожу иногда
  • 81
  • 3 / 0
  • Нет предела самосовершенствованию
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #31 : 13.09.2012, 15:19:40 »
попробую наглядно.. рисунок во вложениях

может есть более простой путь, но мне в голову он не пришёл.. тк. 2 контентных блока на странице не разместить, насколько я знаю.. пытаюсь модулями

[вложение удалено Администратором]
« Последнее редактирование: 13.09.2012, 15:23:27 от Phoenix88 »
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #32 : 13.09.2012, 15:29:10 »
вообще думаю это можно было бы сопутствующими товарами решить...
попробуйте вот так что ли
Код: php
<?php if (($option == 'com_jshopping') && ($controller == 'product') && ($category_id == '8, 1')) : ?>
    <div class="sidebar"><jdoc:include type="modules" name="..." /></div>
<?php endif; ?>
$category_id == '8, 1' - это id категорий, в товарах которых надо показать модуль
*

Phoenix88

  • Захожу иногда
  • 81
  • 3 / 0
  • Нет предела самосовершенствованию
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #33 : 13.09.2012, 15:30:59 »
а может, можно вообще без контента?? прописать чтобы при клике в левой части появлялся товар в правой??

<?php if (($option == 'com_jshopping') && ($controller == 'product') && ($category_id == '1')) : ?>
<jdoc:include type="modules" name="last_2" />
<?php endif; ?>

вообще не реагирует)

$category_id = JRequest::getVar('category_id', null); прописан
« Последнее редактирование: 13.09.2012, 15:35:14 от Phoenix88 »
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #34 : 13.09.2012, 15:34:56 »
по сути вам нужен вывод категории и одновременно товаров...мда, с ходу даже не придумать решение...
пока на ум приходят только сопутствующие товары - просто к каждому товару одной категории в сопутствующих указать все остальные товары этой же категории..
*

Phoenix88

  • Захожу иногда
  • 81
  • 3 / 0
  • Нет предела самосовершенствованию
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #35 : 13.09.2012, 15:38:22 »
по сути вам нужен вывод категории и одновременно товаров...мда, с ходу даже не придумать решение...
пока на ум приходят только сопутствующие товары - просто к каждому товару одной категории в сопутствующих указать все остальные товары этой же категории..

а как быть с выводом вида категории тогда? там в правой части вместо товара рисунок
*

Phoenix88

  • Захожу иногда
  • 81
  • 3 / 0
  • Нет предела самосовершенствованию
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #36 : 13.09.2012, 19:41:14 »
очень жду предложений  !
*

SWoz

  • Захожу иногда
  • 62
  • 0 / 1
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #37 : 14.11.2012, 13:41:19 »
Как вывести модуль, только на Checkout Step5 (подтверждение заказа)?

Checkout это контроллер.
$controller == 'checkout'
А как получить Steps ?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #38 : 14.11.2012, 13:53:49 »
Как вывести модуль, только на Checkout Step5 (подтверждение заказа)?

Checkout это контроллер.
$controller == 'checkout'
А как получить Steps ?

task=step5
Код: php
$task = JRequest::getVar('task', null);
$task == 'step5'
*

rewuxiin

  • Давно я тут
  • 544
  • 38 / 6
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #39 : 20.11.2012, 15:25:31 »
Сделал так:
  • Поставил Advanced Module Manager - http://www.nonumber.nl/extensions/advancedmodulemanager(В любом случае нужен был и для других целей)
  • Опубликовал фильтр в позицию (в моём случае это была "Left")
  • Открыл редактирование модуля
  • Открыл слайдер "Отображение модуля по условиям"
  • Условие "Компоненты", жмём "Выбрать" и в списке выбираем (ставим галочку напротив) JoomShopping (что бы фильтр показывался только в магазине)
  • Условие "URL", "Активировать при" выбираем "Исключить выбранное". В поле "Соответствие URL (SEF вЫключен)" вставляем части ссылок: com_jshopping&controller=product и com_jshopping&controller=cart (соответственно, что бы пустой модуль фильтра скрывался и не занимал колонку "Left" при показе карточки товара и корзины.)

Надеюсь не сильно запутанно описал?
все это легко и удобно но только при включенном SEF не работает
*

Guitaristka

  • Осваиваюсь на форуме
  • 43
  • 2 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #40 : 29.11.2012, 17:49:28 »
У меня вопросик - модуль JoomShopping category 4.0.0 - как ограничить количество вывода категорий? в нем настроек нет - а по умолчанию он выкатывает все. Мне нужно, чтобы он показывал только 12 категорий из 25
Спасибо!
*

cold-f

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #41 : 29.11.2012, 23:26:31 »
Делаю все как описано, и даже все работает, почти как надо, НО:
Когда я редактирую модуль в Joomle мне надо выбрать привязку модуля либо к конкретным страницам, либо ко всем, либо ни к каким не привязывать.
Если я не привязываю модуль ни к чему - он у меня и не отображается даже в той категории, что мне нужно.
Если же привязываю к определенной странице, он у меня появляется на этой странице соответственно И в моей категории.
А мне нужно, чтобы он показывался только в моей категории и больше нигде.
Что я не так делаю, подскажите пожалуйста? =)
*

riser

  • Осваиваюсь на форуме
  • 21
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #42 : 29.12.2012, 20:21:13 »
Камрады, задача выводить модуль при условии если мы находимся в категории в имени которой есть слово "ремонт"

Данную задачу решает такой код:
Код
$category_x2 = &JTable::getInstance('category', 'jshop');		
$category_x2->load($category_x->category_parent_id);
$category_x2 = (array)$category_x2;

$true_gangnam_style = false;
preg_match("/Ремонт/i",$category_x2['name_ru-RU'],$parent_matches);
if($parent_matches)

   $true_gangnam_style = true;
}

... но он для прямой вставки. Как мне его преобразовать, для вставки в Эдвенсед модуль менеджер ?
*

kurandin

  • Захожу иногда
  • 159
  • 5 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #43 : 31.12.2012, 03:39:07 »
Пожалуйста, подскажите как выводить в шаблоне от YOOtheme модуль только в категориях
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #44 : 31.12.2012, 03:56:02 »
Код: php-brief
<?php
$input =JFactory::getApplication()->input;
$option = $input->getCmd('option', '');
$controller = $input->getCmd('controller', '');
if($option =="com_jshopping" && $controller=="category"):?>
Все что надо для категорий. Вывод модуля тоже сюда
<?php endif; ?>
*

cold-f

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #45 : 05.01.2013, 16:22:51 »
Ну а в самой Joomle при создании модуля на этапе "привязка модуля" что выбирать из списка?
Выбираю "ни на одной странице" - модуль нигде не показывается
Выбираю "на избранных страницах" - он показывает на избранных, но в нужной категории нет
Показывает он только в том случае, если я отмечаю показать на станицах ОБЩЕГО каталога товаров (пункт магазина в меню), и тогда получается, что в нужной категории он показывает модуль уже ДВА раза, а в остальных категориях один раз
*

cold-f

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #46 : 08.01.2013, 23:56:47 »
Дело пустяковое небось. А я застопорился и у меня ничего не работает. Добавлю + в репу и заплачу 100р. на Яндекс.кошелек или мобильник тому, кто поможет разобраться с выводом модулей.
« Последнее редактирование: 09.01.2013, 00:07:45 от cold-f »
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #47 : 09.01.2013, 00:10:54 »
Код: php
<?php
$input =JFactory::getApplication()->input;
$option = $input->getCmd('option', '');
$controller = $input->getCmd('controller', '');
$catid = $input->getCmd('category_id', '');
if($option =="com_jshopping" && $catid=="8"):?>
Все что надо для категории с ID 8. Вывод модуля тоже сюда
<?php endif; ?>
в модуле можно будет отметить  - везде
*

cold-f

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #48 : 09.01.2013, 01:21:02 »
http://narod.ru/disk/65266217001.f258af01cbccd69efb1fd694d6bd3298/index.php.html
вот мой index.php
Подправьте пожалуйста его так, чтобы модуль icecarousel1 был показан в категории с id 1.
Остальной десяток модулей я сделаю по аналогии. Крайне желательно в том варианте, чтобы максимально мало весил файл и правильно с технической точки зрения.. (Тот вариант, где в начале страницы указываются переменные и т.д.)
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #49 : 09.01.2013, 01:22:37 »
Извините, но это уже похоже на Техническое Задание по внедрению нужного вам функционала :)
Может вам в другой раздел?  Если вы не учиться, не понимать не желаете самостоятельно
*

cold-f

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #50 : 18.01.2013, 22:05:12 »
Все, наконец-то получилось. Добавил еще условие, чтобы модуль показывался только в карточках товаров определенной категории, но в самой категории не выводился.
ELLE, cпасибо большое! То, что обещал - сделаю.
« Последнее редактирование: 18.01.2013, 22:20:51 от nevigen »
*

MANUNY

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • каждому свое...
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #51 : 22.01.2013, 11:14:38 »
Необходимо, чтобы на странице категорий. точнее подкатегорий не отображался модуль фильтра, в
строчке поиска указано http://tools.t-96.ru/index.php?option=com_jshopping&controller=category&task=view&category_id=30&Itemid=122
соответственно прописываю следующее:


$option = JRequest::getVar('option', null);
$controller = JRequest::getVar('controller', null);
$task = JRequest::getVar('view', null);
$category_id = JRequest::getVar('category_id', null);

дальше указываю что мне необходимо убрать модуль слева :

<?php if ( $option == 'com_jshopping' && $controller == 'category' && $task == 'view' && $category_id != '30') : ?>
<jdoc:include type="modules" name="left" />
<?php endif; ?>

и вот еще код из моего index.php

Код
// Call XTC framework
require JPATH_THEMES.DS.$this->template.DS.'XTC'.DS.'XTC.php';

// Load template parameters
$templateParameters = xtcLoadParams();

// Get the selected layout
$layout = $templateParameters->templateLayout;

// Call layout from layouts folder to create HTML

require JPATH_THEMES.DS.$this->template.DS.'layouts'.DS.$layout.DS.'layout.php';
?>

но модуль как отображался так и остался, что я делаю не так?
« Последнее редактирование: 22.01.2013, 11:31:48 от MANUNY »
*

MANUNY

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • каждому свое...
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #52 : 22.01.2013, 20:01:45 »
Перелопатил форум, но так решения и не нашел(
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #53 : 22.01.2013, 20:06:00 »
А папка layout у вас есть? Тогда тема оттуда берется, соответственно вывод позиции left там нужно искать...
*

MANUNY

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • каждому свое...
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #54 : 22.01.2013, 21:42:02 »
А папка layout у вас есть? Тогда тема оттуда берется, соответственно вывод позиции left там нужно искать...

есть  такая папка в ней для позиции "left" прописано:
Код
<?php

// Draw the regions in the specified order

$regioncfg = $gridParams->regioncfg;

foreach (explode(",",$regioncfg) as $region) {

if ($region == '') continue;

require 'layout_includes'.DS.'region'.$region.'.php';

}

?>
идем дальше в папке "region" :
Код
$left = $this->countModules( 'left' );

$right = $this->countModules( 'right' );

$top = $this->countModules( 'top' );

$newsflash = $this->countModules( 'newsflash' );

$breadcrumb = $this->countModules('breadcrumb' );

в конечном итоге я не понимаю, где нужно прописать и в каком виде (
если не сложно подскажите ELLE
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #55 : 22.01.2013, 21:50:32 »
тут врядли помогу, надо разбирать по косточкам шаблон

можно так попробовать -

Код
$left = $this->countModules( 'left' ) && $option == 'com_jshopping' && $controller == 'category' && $task == 'view' && $category_id != '30';
*

MANUNY

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • каждому свое...
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #56 : 22.01.2013, 21:56:08 »
а параметры $option, $controller, $task и $category_id в каком из 3х файлов задавать?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #57 : 22.01.2013, 21:58:10 »
попробуйте в этом же файле, где пишете условие
*

MANUNY

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • каждому свое...
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #58 : 22.01.2013, 22:08:05 »
В общем все получилось, только параметры в index.php , а условие в region.php
Спасибо ELLE c меня +
*

MANUNY

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • каждому свое...
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #59 : 22.01.2013, 22:11:00 »
В общем не удачно, с других страниц модуль тоже пропал
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин - Вывод значения поля из таблицы продуктов в корзине JoomShopping

Автор draff

Ответов: 3
Просмотров: 790
Последний ответ 26.02.2024, 07:00:01
от kit2m2
Плагин - Товар на складе или Товар под заказ для JoomShopping [Скачать]

Автор kit2m2

Ответов: 58
Просмотров: 9255
Последний ответ 18.05.2023, 12:59:00
от Akeksandr
[Решено] Комплект товаров JoomShopping - конструктор

Автор vgromov

Ответов: 96
Просмотров: 28153
Последний ответ 14.12.2022, 15:21:24
от kit2m2
Функционал сравнение товаров в JoomShopping

Автор falur

Ответов: 53
Просмотров: 13448
Последний ответ 22.08.2022, 09:54:16
от kit2m2
[скачать] Выбор отделения Новой Почты для JoomShopping 4+

Автор v42bis

Ответов: 18
Просмотров: 3627
Последний ответ 06.07.2022, 07:17:06
от denxio