Новости Joomla

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

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

itup

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #60 : 31.01.2013, 17:05:31 »
Вот такой код:
Код
<?php if($this->modules('left_top')) : ?>
    <div id="gkLeftTop" class="gkMain">
       <?php if ( $option == 'com_jshopping' && $controller != 'product' ) : ?>
  <jdoc:include type="modules" name="left_top" style="<?php echo $this->module_styles['left_top']; ?>" />
<?php endif; ?>
</div>
<?php endif; ?>
Но он на всех сайте вырубает данную позицию.

Все пееменные какие указал
$option = JRequest::getVar('com_jshopping', null);
$controller = JRequest::getVar('product', null);
*

itup

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #61 : 31.01.2013, 17:05:59 »
Подскажите в чем беда?(
« Последнее редактирование: 31.01.2013, 23:11:54 от itup »
*

buto

  • Давно я тут
  • 568
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #62 : 08.02.2013, 11:56:35 »
Добрый день. Использую Joomla 2.5.8. Использую шаблон Bolito-fjt. Сайт instrumenty.by. Хочу отключать все модули справа позиция "right". Делал несколько раз так вот:
Захожу в папку templates/bolito-fjt/index.php
Нахожу строчку
defined( '_JEXEC' ) or die( 'Restricted access' ); и вставляю туда
$option = JRequest::getVar('option', null);
$controller = JRequest::getVar('controller', null);

define( 'YOURBASEPATH', dirname(__FILE__) );
далее иду вниз и пробую вставить куда-нибудь
<div id="rightbar-w"> и вставляю сюда код:
<?php if ( $option == 'com_jshopping' && $controller != 'cart' && $controller != 'quickcheckout' ) : ?>
<jdoc:include type="modules" name="right" />
<?php endif; ?>

<!-- Tabs -->
<?php if ($this->params->get( 'jtabs' )) : ?><?php include "modules/jtabs-content.php"; ?><?php endif; ?>
<!-- END Tabs -->
Ничего не происходит.  Что я не так делаю?

Читайте правила форума (красным цветом может пользоваться только администрация форума)
/Nevigen/
« Последнее редактирование: 08.02.2013, 18:12:34 от buto »
*

buto

  • Давно я тут
  • 568
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #63 : 11.02.2013, 22:05:06 »
Короч получилось только с помощью модуля advancedmodulemanager-v4.3.0
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #64 : 12.02.2013, 14:42:08 »
как сделать чтобы на каждой странице можно было вставлять разный контент(статический текст, например модуль с HTML )?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #65 : 12.02.2013, 14:51:21 »
Код
<?php
if ($_SERVER['REQUEST_URI'] == '/katalog?start=24')
{
echo JHTML::_('content.prepare', '{loadposition str_2}');
}
?>
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #66 : 12.02.2013, 15:09:15 »
Уважаемая Elle, не совсем понятно, loadposition публикует  все модули в определенной позиции, попробую правильно объясниться.
есть материалы 1.2.3.4.5.6, и у них позиция bottom, и хочу чтобы при '/katalog?start=24' выводился текст 5 с позицией bottom. думал использовать loadmodule, но, не совсем удобно.
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #67 : 12.02.2013, 15:12:07 »
публикует  все модули в определенной позиции
точно так и есть. в позиции str_2 у вас будет только один модуль, который будет выводиться на 2й странице
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #68 : 12.02.2013, 15:20:42 »
а других вариантов нет?, просто, тогда необходимо будет для каждой статьи (в моем случаи) создавать отдельную  позицию, правильно понял?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #69 : 12.02.2013, 15:25:30 »
а других вариантов нет?, просто, тогда необходимо будет для каждой статьи (в моем случаи) создавать отдельную  позицию, правильно понял?
зачем отдельную позицию?
там где у вас выводится $this->category->description прописываете условия, чтоб описание категории выводилось только на первой, далее условия (в этом же месте) для вывода custom модулей. в админке создаете несколько модулей, назначаете позиции (создавать их не надо отдельно) которых нет в шаблоне и все
других вариантов нет.
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #70 : 12.02.2013, 15:28:18 »
Спасибо! попробую +
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #71 : 12.02.2013, 15:33:57 »
$this->category->description прописываете условия, чтоб описание категории выводилось только на первой,
Не могли бы написать условие? буду очень благодарен).
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #72 : 12.02.2013, 15:53:17 »
Код: php
<?php 
$limit = JRequest::getInt('limitstart',0);
if ($limit == 0){echo $this->category->description; }
elseif ($limit == 24) { echo JHTML::_('content.prepare', '{loadposition str_2}'); }
elseif ($limit == 48) {echo JHTML::_('content.prepare', '{loadposition str_3}');}
// и так далее
?>
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #73 : 12.02.2013, 16:49:46 »
Здравствуйте, не могу свзять два кусочка кода для вывода на нужной странице определенный контект.
Код
<?php
if ($_SERVER['REQUEST_URI'] == '/katalog?start=24')
{
echo JHTML::_('content.prepare', '{loadposition str_2}');
}
?>
и
Код
<?php 
$limit = JRequest::getInt('limitstart',0);
if ($limit == 0){echo $this->category->description; }
elseif ($limit == 24) { echo JHTML::_('content.prepare', '{loadposition str_2}'); }
elseif ($limit == 48) {echo JHTML::_('content.prepare', '{loadposition str_3}');}
?>
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #74 : 12.02.2013, 18:35:56 »
это одно и тоже.
2й вариант более полный
связывать ничего не нужно
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #75 : 12.02.2013, 18:53:07 »
При 2 варианте текст показывает во всех категориях магазина на 2 странице. А не на определенной
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #76 : 12.02.2013, 18:56:36 »
При 2 варианте текст показывает во всех категориях магазина на 2 странице. А не на определенной
ну а отметить в модуле "показывать только в " и отметить нужный пункт меню, не?
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #77 : 12.02.2013, 22:40:15 »
точно! забыл.
*

Gatispan

  • Новичок
  • 9
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #78 : 14.02.2013, 07:09:44 »
Люди, помогите. Я не програмист и тяжело разобраться
Использую шаблон Yootheme, JoomShopping является главной
У меня есть 3 модуля, созданных мною в Joomla и опубликованых в одной позиции.
Мне нужно, чтобы 2 из них публиковались в карточке товара в позиции sidebar-b, а 3-й в этой же позиции но только на главной странице. На остальных страницах они мне не нужны.
Созданные  модули в Joomla отсутствуют в папке модулей, там только родные и установленные. Есть только ID.

Если необходимо прописать ID - подскажите пожалуйста как. Вот у меня модуль, ID у которого 100. Куда мне его прописать? Спасибо!
« Последнее редактирование: 15.02.2013, 06:41:45 от Gatispan »
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #79 : 15.02.2013, 17:51:45 »
Как сделать чтобы модуль выводился с низу списка товаров, пот погинацией  на нужной странице?, например:
модуль "test_1" выводился если URL site/katalog/test.html?start=10
модуль "test_2" выводился если URL site/katalog/test.html?start=20
при чем это не описание должно выводиться. а созданный HTML модуль
через Advanced Module Manager не получается... при условии показывает test 1 при .html?start=10 не срабатывает  а с .html показываеться на каждой странице
« Последнее редактирование: 18.02.2013, 08:59:35 от graf »
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #80 : 18.02.2013, 13:09:26 »
может за помощью в другой раздел обратиться? вот только в какой?
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #81 : 18.02.2013, 13:26:28 »
Нет почему ?
вывод по условиям именно здесь обсуждается...

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

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #82 : 18.02.2013, 13:27:52 »
понял. спасибо...
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #83 : 18.02.2013, 15:24:27 »
Код: php
<div class="after_pagination">
<?php
$limit = JRequest::getInt('limitstart',0);
if ($limit == 10){ ?>
<jdoc:include type="modules" name="t_1" />
<?php } elseif ($limit == 20) { ?>
<jdoc:include type="modules" name="t_2" />
<?php } elseif ($limit == 30) { ?>
<jdoc:include type="modules" name="t_3" />
<?php } ?>
</div>

*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #84 : 18.02.2013, 15:26:33 »
СПАСИБО! большое! +
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #85 : 18.02.2013, 15:35:25 »
только модули будут выводится при любом адресе. в условии только пагинация, без учета других параметром.
вы можете заменить условия внутри if () на
$_SERVER['REQUEST_URI'] == '/katalog?start=24'

или добавить параметры в условие например это может быть ID меню
тогда будет что-то вроде
Код: php
<?php 
$Itemid = JRequest::getInt( 'Itemid', 1, 'get' );
$limit = JRequest::getInt('limitstart',0);
if ($limit == 10 && $Itemid == 255 ){ ?>
<jdoc:include type="modules" name="t_1" />
<?php } ?>
покажем модуль только на второй странице пункта меню с ID = 255
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #86 : 18.02.2013, 16:04:28 »
ага, я через $_SERVER['REQUEST_URI'] == '/katalog?start=24' сделал, но  по  ID удобнее. спасибо!
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #87 : 18.02.2013, 16:45:38 »
так, еще маленький вопрос, по ID если делать, то код пихать в index.php или /components/com_jshopping/templates/шаблон/category/category_default.php?

по ID не сработало(
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #89 : 18.02.2013, 17:08:04 »
в category_default.php у меня еще и вот такой код, может по этому у меня не отображается
Код
<div class="jshop">
<?php
$limit = JRequest::getInt('limitstart',0);
if ($limit == 0){echo $this->category->description; }
elseif ($limit == 10) { echo JHTML::_('content.prepare', '{loadposition str_2}'); }
elseif ($limit == 20) {echo JHTML::_('content.prepare', '{loadposition str_3}');}
?>

а данный код
Код
<?php 
$Itemid = JRequest::getInt( 'Itemid', 1, 'get' );
$limit = JRequest::getInt('limitstart',0);
if ($limit == 10 && $Itemid == 72 ){ ?>
<jdoc:include type="modules" name="t_1" />
<?php } ?>

в какую часть вставить?

p.s. php недавно начал изучать, поэтому для меня это пока сложно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор draff

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

Автор kit2m2

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

Автор vgromov

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

Автор falur

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

Автор v42bis

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