Новости Joomla

Вышли релизы безопасности Joomla 5.3.4 и Joomla 4.4.14

Релиз безопасности Joomla 5.3.4

Проект Joomla спешит сообщить о выпуске Joomla 5.3.4 и Joomla 4.4.14. Это релиз безопасности для серии Joomla 5.3 и релиз безопасности для серии Joomla 4.4.

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

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
Всем привет, уважаемые форумчане!
вопрос следующий: как сделать так, чтобы позиция модуля не выводился в определенных категориях. я понимаю, что нужно сделать проверку на соответствие заданной категории (прошу прощения за кривую формулировку), но как - не знаю.
например, вот эту позицию
Код
<jdoc:include type="modules" name="right" style="xhtml" />
не выводить в категориях с ID 1, 2, 5
очень признательна за помощь! =)
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
$catArr = array(1, 2, 5);
$catId = JFactory::getApplication()->input->getInt('virtuemart_category_id',0);
if (!in_array($catId,  $catArr)):?>
<jdoc:include type="modules" name="right" style="xhtml" />
<?php endif; ?>
попробуйте так
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
спасибо огромное, все работает!
еще такой вопрос: можно ли как-то сделать так, чтобы можно было прописать это правило для родительской категории, чтобы во всех дочерних не выводилось? или это уже совсем завернуто? =)
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
даже не скажу, с виртом давно не работал и сейчас нет под рукой.
Проверять дочерняя категория это по ходу лишний запрос в базу данных, вряд ли данные которые помогут создать условие находятся здесь
Код: php
var_dump($_REQUEST);
Но все может быть
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
спасибо за ответ. не буду Вас напрягать, тем более, что это пока совсем не критично. =)
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попробуйте так, немного коряво но думаю, что сработает:
Код: php-brief
<?php
$db=JFactory::getDbo();
$query=$db->getQuery(true);
$query->select('category_child_id')->from('#__virtuemart_category_categories')->where('category_parent_id=0');
$db->setQuery($query);
$catArr=$db->loadResultArray();
$catId = JFactory::getApplication()->input->getInt('virtuemart_category_id',0);
if (in_array($catId,  $catArr)):?>
<jdoc:include type="modules" name="right" style="xhtml" />
<?php endif; ?>
« Последнее редактирование: 02.03.2014, 10:47:31 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
спасибо за ответ, Роберт!
только один вопрос: скажите, пожалуйста, в какой части кода указывать ID категории, в которых не нужно выводить позицию? смотрела внимательно - не нашла... =(
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Здесь выбираются ID всех родительских категорий и выводится модуль только в этих категориях.
Если нужно выводить модуль не во всех родительских категориях, то добавим условие:
Код: php-brief
$query->select('category_child_id')->from('#__virtuemart_category_categories')->where('category_parent_id=0')->where('category_child_id NOT IN (ID1,ID2,ID3...)');
, где
Код: php-brief
ID1,ID2,ID3...
- категории, в которых не нужно выводить модуль.
« Последнее редактирование: 03.03.2014, 08:53:56 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
ошибка
Код
Warning: in_array() expects parameter 2 to be array, null given in ..........
в строке
Код
if (in_array($catId,  $catArr)):?>
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Она и есть array, вы уверены, что все правильно вставили?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
предыдущий пост - мой косяк. выполнила слишком буквально. вставила ID507,ID512. поэтому и ошибка.
сейчас   
Код
<?php
$db=JFactory::getDbo();
$query=$db->getQuery(true);
$query->select('category_child_id')->from('#__virtuemart_category_categories')->where('category_parent_id=0')->where('category_child_id NOT IN (507,512)');
$db->setQuery($query);
$catArr=$db->loadResultArray();
$catId = JFactory::getApplication()->input->getInt('virtuemart_category_id',0);
if (in_array($catId,  $catArr)):?>
<jdoc:include type="modules" name="right" style="xhtml" />
<?php endif; ?>
на всякий случай прицепляю шаблон, может быть еще что-то не так... нужный код начинается с 49 строки
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А что, все равно не работает, что ли? Код вроде нормальный, только последний js-скрипт какой-то странный.
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать в производителях (модуль manufacturer) категории сверху

Автор sm_ph

Ответов: 7
Просмотров: 5952
Последний ответ 21.07.2025, 11:41:02
от Елeна
Модуль SJ Filter for VirtueMart - только 30 custom fields

Автор Alex_gs

Ответов: 0
Просмотров: 2421
Последний ответ 08.08.2022, 15:09:59
от Alex_gs
Как вывести модуль в витрине VirtueMart?

Автор Дмитрий_76

Ответов: 1
Просмотров: 2808
Последний ответ 09.02.2020, 10:06:17
от AlexB
Как добавить артикул в категориях и карточке товара?

Автор alexj69

Ответов: 22
Просмотров: 14467
Последний ответ 16.06.2019, 18:41:53
от AndTaran
Модуль категорий с выводом 3 уровневого меню

Автор Leo1986

Ответов: 2
Просмотров: 1251
Последний ответ 25.10.2017, 12:57:47
от garmon85