Новости Joomla

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

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 »
*

nevigen

  • Moderator
  • 10434
  • 862 / 25
  • http://n*****n.com
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #240 : 16.05.2016, 11:22:12 »
это вопрос шаблона Жумла
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

oleg8800

  • Захожу иногда
  • 96
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #241 : 16.05.2016, 11:37:36 »
Если не сложно ткните носом где искать. или подскажите как исправить?
*

nevigen

  • Moderator
  • 10434
  • 862 / 25
  • http://n*****n.com
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #242 : 17.05.2016, 10:11:52 »
куда в шаблон ?

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

oleg8800

  • Захожу иногда
  • 96
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #243 : 25.05.2016, 11:58:51 »
здравствуйте. так я и не смог убрать блок позиции. когда в менеджере модулей все модули отключаешь (в данной позиции) то блок исчезает. а когда просто при условиях, сам блок остается. Прошу, помогите, очень нужно!
*

oleg8800

  • Захожу иногда
  • 96
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #244 : 26.05.2016, 19:41:49 »
когда выполняется условие "не показывать позиции модуля для корзины" то по каким то причинам они не показываются и на страницах материала Joomla, то есть вне ДЖ.  Почему так происходит и как это исправить?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #245 : 26.05.2016, 20:38:49 »
как условие выглядит?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

oleg8800

  • Захожу иногда
  • 96
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #246 : 26.05.2016, 21:20:59 »
<?php if ( $option == 'com_jshopping' && $controller != 'cart' && $controller != 'checkout' ) : ?>
<jdoc:include type="modules" name="left" />
<?php endif; ?>
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #247 : 26.05.2016, 21:31:12 »
это условие выводит модули на всех страницах JoomShopping, кроме страниц Корзина и Оформление заказа
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #248 : 26.05.2016, 21:32:01 »
когда выполняется условие "не показывать позиции модуля для корзины" то по каким то причинам они не показываются и на страницах материала Joomla, то есть вне ДЖ.  Почему так происходит и как это исправить?
На страницах материалов не выводит потому что $option == 'com_jshopping'
уберите это из условия
*

oleg8800

  • Захожу иногда
  • 96
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #249 : 27.05.2016, 09:12:59 »
Огромное вам спасибо! с меня +
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #250 : 01.07.2016, 21:12:47 »
Всем привет! Помогите разобраться. Необходимо вывести один модуль (позиция map) в одну категорию JoomShopping - ID=1

В index.php своего шаблона в body вставляю этот код

Код
<?php if ( $option == 'com_jshopping' && $controller == 'category' && $category_id == '1') : ?>
<jdoc:include type="modules" name="map" />
<?php endif; ?>

Вверху после defined('_JEXEC') or die; вставляю это

Код
$option = JRequest::getVar('option', null);
$controller = JRequest::getVar('controller', null);
$category_id = $input->getCmd('category_id', '');

После этого сразу на сайте вылетает ошибка:
Fatal error: Call to a member function getCmd() on a non-object in ....../templates/имя шаблона/index.php on line 6. Т.е. ругается на эту строчку
$category_id = $input->getCmd('category_id', '');

если последнюю строчку убрать модуль выводиться но во всех категориях, а не только в ID=1

В чем моя ошибка? Заранее благодарю за помощь!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #251 : 01.07.2016, 22:03:22 »
откуда вы это взяли
Код
$category_id = $input->getCmd('category_id', '');
?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #252 : 01.07.2016, 22:23:27 »
откуда вы это взяли
Код
$category_id = $input->getCmd('category_id', '');
?


С заглавного топика этой темы

Код
3. Показать модуль только в категории, у которой ID=5
Код
<?php if ( $option == 'com_jshopping' && $controller == 'category' && $category_id == '5') : ?>
<jdoc:include type="modules" name="left" />
<?php endif; ?>


тут новая переменная - $category_id, поэтому в самом начале ее тоже нужно определить
Код:
$category_id = $input->getCmd('category_id', '');
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #253 : 02.07.2016, 07:33:52 »
а то, что там вначале определяется
Код
$input = JFactory::getApplication()->input;
вас не очень смущает? а вы просто кусок скопировали, и удивляетесь почему не работает.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #254 : 03.07.2016, 15:46:46 »
а то, что там вначале определяется
Код
$input = JFactory::getApplication()->input;
вас не очень смущает? а вы просто кусок скопировали, и удивляетесь почему не работает.

К сожалению не смущает, а огорчает. Потому как уверен на 100% что я что-то сделал НЕправильно -) Попытки разобраться и вникнуть буксуют на месте. Знаний в этом вопросе пока нет.
Добавил вверху этот код и конструкция заработала!
Код
$input = JFactory::getApplication()->input;

Премного благодарствую за помощь и за то что не послали сразу в сад-)))
*

Xlebosolniy

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #255 : 06.08.2016, 19:29:51 »
Могли бы подсказать в чем проблема?

Убрал слайдшоу со страницы просмотра товара и оформления заказа:

Спойлер
[свернуть]

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

если изменить тут оператор <?php if ( $option != 'com_jshopping'  , то выводится на всех остальных страницах кроме главной и странице товара, оформлении заказа
*

Xlebosolniy

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #256 : 06.08.2016, 19:44:05 »
Сделал следующим образом:

Спойлер
[свернуть]

Работает вроде как надо, хотелось бы уточнить, это рабочий вариант или что-то пошло не так?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #257 : 06.08.2016, 20:11:30 »
если надо не показывать в товаре, корзине и оформлении заказа - то все верно. можно сделать чуть лаконичнее
Код
<?php if (!in_array($controller, array('product','cart','checkout'))) : ?>
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Xlebosolniy

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #258 : 06.08.2016, 20:32:39 »
спасибо)
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #259 : 06.08.2016, 21:25:48 »
Уважаемые, подскажите, где накосячил.
Требуется в карточке товара вывести позицию модуля. Но только для товаров, у которых id производителя равно 2 или 3. Соорудил следующую конструкцию:
после defined('_JEXEC') or die('Restricted access'); добавил
Код
$db1 = JFactory::getDBO();
затем, в нужном месте запрос к бд и условие с модулем
Код
 <?php	
$q1 = "SELECT product_manufacturer_id  FROM `o0zj9_jshopping_products` ";
$db1->setQuery($q1);
$manufacturer = $db1->loadResult();
 ?>
<?php if ( $manufacturer == 2 || $manufacturer == 3 ) : ?>
<?php echo JHTML::_('content.prepare', '{loadposition stihl}');?>
<?php endif; ?>
но, модуль не выводится нигде.
Прописал контрольный
Код
echo $manufacturer;
Так он мне выдает, что id производителя у товара везде 0. Что сделал не так?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #260 : 06.08.2016, 21:39:51 »
как бы... а где в запросе указано, для какого product_id выбрать product_manufacturer_id ? или оно само должно догадаться? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #261 : 06.08.2016, 22:20:52 »
Было бы очень здорово, если бы оно само обо всем догадалось, ибо мой котелок от жары уже не варит ))
Что-то наподобие?
Код
$q1 = "SELECT product_manufacturer_id  FROM `o0zj9_jshopping_products` WHERE `product_id`=".'"'.$prod->product_id.'"';
Так оно тоже не работает
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #262 : 06.08.2016, 22:38:16 »
Все оказалось гораздо проще. Без всяких забросов к БД и т.д. Всего лишь
Код
<?php if ($product->product_manufacturer_id == 2 || $product->product_manufacturer_id == 3 ) : ?>
<?php echo JHTML::_('content.prepare', '{loadposition stihl}');?>
<?php endif; ?>
и все заработало)) Пару минут под кондиционером и проблема решена)))
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #263 : 06.08.2016, 23:05:50 »
упс, вообще не заметил что вы это делаете в карточке товара. конечно, там никакие запросы не нужны, все уже и так есть в $this->product
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

alexshab

  • Захожу иногда
  • 60
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #264 : 15.09.2016, 20:38:03 »
Доброго времени суток.
Появилась необходимость поставить условия для вывода модуля в шаблоне, но здешний index.php совсем не такой как те, с которыми я ранее работал.
вот его body
Код
<body class="<?php echo $this->zo2->layout->getBodyClass()?> <?php echo $this->zo2->template->getDirection(); ?> <?php echo (( $this->zo2->framework->get('fullContainer') == 1)? 'boxed' : ''); ?>">

<div style="position:absolute;top:0;left:-9999px;">
<a href="http://joomix.org/joomla-templates" title="Joomla" target="_blank">Joomla</a>
<a href="http://cms-joomla-help.com/" title="Joomla" target="_blank">Joomla</a>
</div>
    <?php echo $this->zo2->template->fetch('html://layouts/css.condition.php'); ?>

Zo2Framework::displayOffCanvasMenu(); ?>

    <section class="wrapper <?php echo (($this->zo2->framework->get('fullContainer') == 1)? 'boxed container' : ''); ?>">       
        <?php echo $this->zo2->utilities->socialshares->render('floatbar'); ?>
        <?php echo $this->zo2->utilities->styleswitcher->render(); ?>
        <?php echo $this->zo2->layout->render(); ?>
    </section>
    <?php echo $this->zo2->template->fetch('html://layouts/joomla.debug.php'); ?> 

</body>
Это colias - responsible шаблон, и он работает на Zo2 Framework.
Не могу найти место, куда можно вставить условия.
Кто может подсказать как работать с этим зверем?
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #265 : 15.09.2016, 21:06:37 »
А Вы уверены, что это шаблон именно для JoomShopping, а не для Joomla? Впрочем, в любом случае нужно понимать структуру шаблона. Так как в этом шаблоне, насколько я понимаю, кроме обычного index.php есть еще куча других файлов, содержимое которых подтягивается в Ваш body.
« Последнее редактирование: 15.09.2016, 21:29:26 от angry_ded_mazay »
*

alexshab

  • Захожу иногда
  • 60
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #266 : 16.09.2016, 09:07:17 »
Это шаблон Joomla, который использует компонент JoomShopping. Обычно и правят index.php шаблона Joomla, что бы ставить дополнительные условия для вывода сторонних модулей или компонентов, каким является JoomShopping.
В этом шаблоне не так уж много файлов php, и я их все пересмотрел. И пересмотрел файлы в которых есть позиции сайта или функции типа JFactory::getApplication(), JRequest::getVar('view').
На сколько я понял, посмотрев php файлы системного плагина zo2, именно сам плагин, на основе файлов шаблона формирует страницы сайта.
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #267 : 16.09.2016, 09:38:58 »
А Вам ничего не говорит блок со ссылками уведенный за тело страницы сайта ?
Код
<div style="position:absolute;top:0;left:-9999px;">
Там две ссылки, ну явно на варезники
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #268 : 16.09.2016, 09:43:25 »
alexshab, спрашивайте это на форуме разработчиков вашего шаблона или в других местах, где хотя бы знают, что это за шаблон, и как он устроен. тут на свой вопрос вы навряд ли получите ответ. тут обсуждают JoomShopping, а не сторонние шаблоны
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

alexshab

  • Захожу иногда
  • 60
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #269 : 16.09.2016, 10:37:14 »
А Вам ничего не говорит блок со ссылками уведенный за тело страницы сайта ?
Код
<div style="position:absolute;top:0;left:-9999px;">
Там две ссылки, ну явно на варезники.
Спасибо, что обратили внимание. Посмотрю что это за блок.
alexshab, спрашивайте это на форуме разработчиков вашего шаблона или в других местах, где хотя бы знают, что это за шаблон, и как он устроен. тут на свой вопрос вы навряд ли получите ответ. тут обсуждают JoomShopping, а не сторонние шаблоны
Я как раз хотел заблокировать некоторые модули, когда выводится карточка товара JoomShopping.
Ну и надеялся, что кто-нибудь работал с шаблонами Joomla на основе Zo2 Framework.
Да, и первое, что я сделал это пошарил по сайтам разработчиков, у них есть тех.поддержка, но форума я там не нашел.
А тех.поддержка решает проблемы в обычной роботе шаблонов, а не тюнининг php.

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

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

Автор draff

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

Автор kit2m2

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

Автор vgromov

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

Автор falur

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

Автор v42bis

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