Новости Joomla

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

anatolij

  • Захожу иногда
  • 121
  • 1 / 0
Добрый день.
Пункты меню выведены как блог категории + метка

Ссылка формируется так
index.php?option=com_content&view=category&layout=blog&id=21&filter_tag[0]=2&Itemid=107

В шаблоне blog.php мне нужно вывести код в зависимости он метки. На форуме такого не нашёл ! Как это реализовать ?

Пробовал так
Спойлер
[свернуть]

не получается.


« Последнее редактирование: 18.12.2017, 12:45:53 от anatolij »
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Слишком сумбурно задан вопрос!

Вы имеете в виду, что вам нужно вывести какой-то код, в зависимости от того, какая метка присвоена материалу?
*

anatolij

  • Захожу иногда
  • 121
  • 1 / 0
Слишком сумбурно задан вопрос!

Вы имеете в виду, что вам нужно вывести какой-то код, в зависимости от того, какая метка присвоена материалу?

Материалы в данном случае не причём.

В пункте меню вывожу материалы из категории(id=2) с определённой меткой(filter_tag[0]=2), таких пунктов меню(с категорией id=2) и разными метками много.

Мне нужно в шаблоне blog.php к примеру после

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

Вывести какой то код если filter_tag[0]=2!
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
В пункте меню вывожу материалы из категории(id=2) с определённой меткой(filter_tag[0]=2), таких пунктов меню(с категорией id=2) и разными метками много.

Если я правильно понял, то вот так получаете id метки, по которой отфильровано
Код
$app = JFactory::getApplication();
$filterTagId = $app->input->get('filter_tag', 0, 'uint');

Должен вернуть int
*

anatolij

  • Захожу иногда
  • 121
  • 1 / 0
Должен вернуть int

Я в php не особо.

Прописал в шаблоне

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

и

<p><?php echo $filterTagId; ?> - id метки</p>

Прошёлся по пунктам - там это

Array - id метки
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
А что вам покажет
Код
print_r($filterTagId);
?
*

anatolij

  • Захожу иногда
  • 121
  • 1 / 0
print_r($filterTagId)

В массиве один элемент
Код
Array ( [0] => 5 )

Этот элемент соответствует id метки

Он в массиве всегда будет один ?

Сделал так intval(current($filterTagId)); 

Работает, всё как нАдо. Это правильно  ?
« Последнее редактирование: 18.12.2017, 14:40:44 от anatolij »
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Ну и проверяйте соответсвие
Код
if( in_array( $ваш_ид_метки, $filterTagId ) ){
//todo
}

или так
Код
if( $ваш_ид_метки === $filterTagId[0] ) ){
//todo
}

Но предпочтительнее первый метод, если вдруг фильтрация по нескольким меткам будет
*

anatolij

  • Захожу иногда
  • 121
  • 1 / 0
Всё, понял, спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль Похожие метки – только более ранние статьи!

Автор Gerostrat

Ответов: 6
Просмотров: 458
Последний ответ 24.08.2023, 21:56:09
от sivers
Метки и элементы

Автор olderman

Ответов: 0
Просмотров: 351
Последний ответ 19.10.2022, 15:21:13
от olderman
Не работает условие if else

Автор R31rus

Ответов: 3
Просмотров: 363
Последний ответ 02.02.2022, 19:05:02
от R31rus
Добавить условие в скипрт

Автор lgmax

Ответов: 0
Просмотров: 593
Последний ответ 01.12.2021, 15:06:46
от lgmax
Условие if/else

Автор lgmax

Ответов: 2
Просмотров: 421
Последний ответ 06.11.2021, 10:22:51
от sivers