Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

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


<?php if ( $this->countModules('my_module') && $option == 'com_jshopping' && $controller != 'category' && $controller != 'cart' ) : ?>
    <jdoc:include type="modules" name="my_module" />
<?php endif; ?>

данный модуль не будет показан в категориях и в корзине, ну и остальное по аналогии

а в начале надо определить переменные
$option = JRequest::getVar('option', null);
$controller = JRequest::getVar('controller', null);

« Последнее редактирование: 31.08.2012, 01:48:29 от ELLE »
*

aorr

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
А если добавить в шаблон странички товара модульную позицию?
или так делать неправильно?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
почему же неправильно, делайте как вам нужно :)
-----------------
только не в шаблон странички товара в прямом смысле, делается на уровне шаблона Joomla по указанному принципу

<?php if ( $this->countModules('zakaz') && $option == 'com_jshopping' && $controller == 'product' ) : ?>
<jdoc:include type="modules" name="zakaz" />
<?php endif; ?>
« Последнее редактирование: 21.05.2012, 12:44:09 от ELLE »
*

aorr

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
<?php if ( $this->countModules('zakaz') && $option == 'com_jshopping' && $controller == 'product' ) : ?>
<jdoc:include type="modules" name="zakaz" />
<?php endif; ?>

Этот момент полностью понятен, Спасибо.

А вот если в шаблоне странички товара components/com_jshopping/templates/default/product/product_default.php разместить модульную позицию?
Какой вариант более правильный или корректный?
*

aorr

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Код: php
<?php  $modules = JModuleHelper::getModules('Указать позицию модулей');
if ($modules && is_array($modules)) {
foreach ($modules as $module) {
//заголовок
echo $module->title;
//контент
echo JModuleHelper::renderModule($module);
};
} ?>
Вот сейчас как раз этот вариант и использую.

Но подумал, что может правильнее:
<?php if ( $this->countModules('my_module') && $option == 'com_jshopping' && $controller != 'category' && $controller != 'cart' ) : ?>
    <jdoc:include type="modules" name="my_module" />
<?php endif; ?>

Или особой разницы нет и на производительности это никак не сказывается?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Efanych, а вот как не модуль вывести через шаблон карточки товара product_default.php , а вот это <jdoc:include type="message" /> ?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Да, ссылку воланда тож видела)
ладно, буду пробовать, спс.
*

user5

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
а в начале надо определить переменные
$option = JRequest::getVar('option', null);
$controller = JRequest::getVar('controller', null);

подскажите пожалуйста где это сделать?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
templates/шаблон/index.php
после
<?php
// No direct access.
defined('_JEXEC') or die;
*

user5

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #10 : 05.08.2012, 13:34:28 »
как написать,чтобы когда допустим левая колонка пуста,т.е нет модулей в ней на этой страничке,другой модуль принимал ширину 100%?где-то встречал,но не помню где.заранее благодарен!
*

user5

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #11 : 05.08.2012, 13:51:09 »
Работает корректно только на страницах JS. .Модуль пропадает со всех страниц не являющихся страничкой JS.Как быть?
<?php if ( $this->countModules('user5') && $option == 'com_jshopping' && $controller != 'product' ) : ?>
    <jdoc:include type="modules" name="user5" />
<?php endif; ?>
« Последнее редактирование: 05.08.2012, 14:00:13 от user5 »
*

user5

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #13 : 05.08.2012, 15:25:22 »
Различные условия в шаблонах
спасибо,получилось.вот только с этим никак:
Работает корректно только на страницах JS. .Модуль пропадает со всех страниц не являющихся страничкой JS.Как быть?
<?php if ( $this->countModules('user5') && $option == 'com_jshopping' && $controller != 'product' ) : ?>
    <jdoc:include type="modules" name="user5" />
<?php endif; ?>
*

user5

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #14 : 05.08.2012, 15:49:55 »
спасибо)
*

Oleg24

  • Осваиваюсь на форуме
  • 45
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #15 : 20.08.2012, 14:36:24 »
ELLE, подскажите, что я делаю не так:(

после defined('_JEXEC') or die; в шаблоне вставляю переменные
$option = JRequest::getVar('option', null);
$controller = JRequest::getVar('controller', null);

Затем в коде <?php if ( $this->countModules('my_module') && $option == 'com_jshopping' && $controller != 'category' && $controller != 'cart' ) : ?>
    <jdoc:include type="modules" name="my_module" />
<?php endif; ?>

меняю my_module на название своего модуля (mod_jshopping_last_visit_products) и вставляю в шаблон.

Уже как только не пробовал, модуль все равно выводится и в корзине и в категории:(

J 2.5, JS 2.8.1

Что я делаю не так? :(

сайт klever-floor.ru
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #16 : 20.08.2012, 14:41:41 »
позицию нужно прописать, а не название модуля
*

Oleg24

  • Осваиваюсь на форуме
  • 45
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #17 : 20.08.2012, 14:44:25 »
то есть, если это левая колонка, то все что будет в ней прописано не будет выводится в корзине и категориях?
*

Oleg24

  • Осваиваюсь на форуме
  • 45
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #19 : 20.08.2012, 14:47:40 »
от блин... а мне нужно только модуль...

ладно, спасибо! Буду искать решение дальше:(
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #20 : 20.08.2012, 14:49:28 »
ну так можно под него новую позицию сделать...
*

Oleg24

  • Осваиваюсь на форуме
  • 45
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #21 : 24.08.2012, 12:47:07 »
ELLE, подскажите пожалуйста. Все сделал так Вы и сказали - работает, спасибо!  (+)

Еще остался такой вопрос - модуль "Вы смотрели" не отображается в списке товаров, как его туда добавить? например http://klever-floor.ru/laminat

Вообще нужно чтобы модуль вы смотрели не отображался только на главной и в корзине, во всех остальных местах в-принципе он не критичен.
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #22 : 24.08.2012, 13:11:27 »
список товаров это
$controller == 'category'

корзина это -
$controller == 'cart'

попробуйте так
<?php if (JURI::current()!= JURI::base() && $controller != 'cart' ):?>
не на главной и не в корзине
<?php endif;?>
*

Oleg24

  • Осваиваюсь на форуме
  • 45
  • 1 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #23 : 24.08.2012, 14:11:58 »
ELLE, все работает! СПАСИБО!
*

Silent_Breeze

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

Надеюсь не сильно запутанно описал?
« Последнее редактирование: 27.08.2012, 02:08:12 от Silent_Breeze »
Здесь всё есть... просто нужно поискать немного... ;)
*

Sinn

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #25 : 05.09.2012, 19:06:25 »
Мне нужно что бы модуль выводился только на главной странице категорий.
после defined('_JEXEC') or die; в шаблоне вставляю переменные
$option = JRequest::getVar('option', null);
$controller = JRequest::getVar('controller', null);

Потом пробую вставить код, но Dreamviewer ругается из-за синтаксической ошибки ...
Если убираю <?php ругаться перестает, но ничего так и не работает

С ошибкой вроде разобрался. Поставил ?> перед копируемым кодом.
Но нужная позиция все равно отображается на всех страницах, плюс в самом низу страницы отображается дубль содержимого позиции. Но уже на нужной странице
« Последнее редактирование: 06.09.2012, 22:51:26 от Sinn »
*

Phoenix88

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

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

я так понимаю модуль будет выводиться на страничке с любым товаром. А как добавить условие, что товар должен быть из категории к которой привязан модуль.? очень нужна помощь..


МОДУЛЬ - lastest products
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Условия вывода модулей в JoomShopping
« Ответ #27 : 13.09.2012, 14:51:11 »
смотрите то, что первом посте -
Варианты вызова модуля в шаблонах компонента Jshop
- этот способ вам больше подойдет (если правильно поняла вопрос)
*

Phoenix88

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

Phoenix88

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

Модуль привязан к определённой категории таким образом, чтобы отображать товары только из определённой категории..
с левой стороны у меня блок с товарами, а с правой контент.
При нажатии на товар в модуле (если прописать модуль для отдельных страниц, в моём случае - это категории товаров в меню), при отображении товара, пропадает модуль..
А отобразить модуль для всех страниц естественно не подходит.
вот я и пытаюсь прописать условия для категории и модуля, присвоенного данной категории и товара и модуля, присвоенного его категории..

Знаю всё очень запутано..... Сама не могу разобраться, тк занимаюсь вёрсткой, а в программировании ни так ни сяк))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Мы починили поиск для JoomShopping

Автор Dimidrol-Pruper

Ответов: 101
Просмотров: 33549
Последний ответ 24.06.2024, 14:20:58
от kit2m2
Плагин - Вывод значения поля из таблицы продуктов в корзине JoomShopping

Автор draff

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

Автор kit2m2

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

Автор vgromov

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

Автор falur

Ответов: 53
Просмотров: 15079
Последний ответ 22.08.2022, 09:54:16
от kit2m2