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

goga_pgasovav

  • Захожу иногда
  • 323
  • 4 / 0
  • Внимательный джумловод
Всем привет!
Нужно именно в index.php шаблона определять, отображается ли сейчас категория, и если да, то получать один из её параметров, будь то название, alias и т.п.
Определять категорию я умею:

Код
if(showPage(array('view'=>'category')))

А вот как получить заголовок текущей категории, это я понять не могу.
Прошу помощи!  !
« Последнее редактирование: 30.12.2019, 23:14:02 от goga_pgasovav »
*

draff

  • Гуру
  • 5072
  • 353 / 7
  • ищу работу
Определять категорию я умею:
Это откуда ? Почему не как в protostar ?
Код
$view     = $app->input->getCmd('view', '');
Код
<?php		$doc = JFactory::getDocument();
$doc->title; ?>
*

goga_pgasovav

  • Захожу иногда
  • 323
  • 4 / 0
  • Внимательный джумловод
draff

Цитировать
Это откуда ?
Есть такой топик «Различные условия в шаблонах Joomla 3.0 ...». Там подсмотрел и всегда использую.

Спасибо что отозвались.
Ваш метод работает, но я сформулировал вопрос максимально просто (не вдаваясь в подробности), хотя задача стоит чуть более сложная, и мне он не помогает.
Например если нужно получить alias а не название, то уже не срабатывает.
В идеале, хотелось бы добраться до любого из полей в категории: id, alias, note, description и прочим.
*

goga_pgasovav

  • Захожу иногда
  • 323
  • 4 / 0
  • Внимательный джумловод
Попытался решить задачу запросом к БД.

Код
$ctd = JRequest::getInt('Itemid'); // получаю ID текущей категории
$db = JFactory::getDbo();
$query = $db
    ->getQuery(true)
    ->select($db->quoteName('alias'))
    ->from($db->quoteName('#__categories'))
    ->where($db->quoteName('id'). ' = ' .$ctd);
$db->setQuery($query);
$result = $db->loadResult();
echo '<div>Output: '.var_dump($result).'</div>';

Но ничего не получается. var_dump возвращает значение NULL.
В чём может быть дело, товарищи?
*

xpank

  • Захожу иногда
  • 304
  • 32 / 0
Но ничего не получается. var_dump возвращает значение NULL.
В чём может быть дело, товарищи?
Разумеется будет null, т.к. Itemid не равно id категории. Это уникальный идентификатор пункта меню.

Как вариант:
Код
$app = JFactory::getApplication();
$cat_id = $app->input->getCmd('catid','');
if ($cat_id == '1')  //где 1 категория для которой должно срабатывать правило. Id смотреть в менеджере категорий.

*

goga_pgasovav

  • Захожу иногда
  • 323
  • 4 / 0
  • Внимательный джумловод
xpank, спасибо за наводку!
Уже лучше, но всё не то)
Почему-то определятся не текущая категоря, а самая верхняя. В то время, когда я нахожусь в подкатегории...
Т.е. мне нужен ID именно той категории, в которой я нахожусь в данный момент.

P.S.: ID нужный смог получить с помощью:

Код
$cat_id = JRequest::getInt('id');

Ну теперь буду пробовать дальше )
« Последнее редактирование: 31.12.2019, 00:26:22 от goga_pgasovav »
*

goga_pgasovav

  • Захожу иногда
  • 323
  • 4 / 0
  • Внимательный джумловод
Товарищи, дабы не плодить топики со сходными вопросами, решил развить тему здесь.
В общем, методом, описанным выше, я смог, в том числе, добраться до поля "params".
Но тут меня ожидало неожиданное препятствие.

Код
$cat_id = JRequest::getInt('id');
$db = JFactory::getDbo();
$query = $db
    ->getQuery(true)
    ->select($db->quoteName('params'))
    ->from($db->quoteName('#__categories'))
    ->where($db->quoteName('id'). ' = ' .$cat_id);
$db->setQuery($query);
$params = $db->loadObjectList(); //использовал loadObjectList(), т.к. возвращается массив

Получаю массив, а что с ним делать, так и не понял.
Как мне достучаться до нужного параметра по его названию?
Там их всего три: 'category_layout', 'image' и 'image_alt'.
Помогите пожалуйста!  !
*

ProtectYourSite

  • Живу я здесь
  • 2090
  • 112 / 4
  • Безопасность вебсайтов
*

draff

  • Гуру
  • 5072
  • 353 / 7
  • ищу работу
Проверяйте что в массиве и тип, скорее всего объект
Код
foreach($params as $param) {
var_dump($param);}
*

goga_pgasovav

  • Захожу иногда
  • 323
  • 4 / 0
  • Внимательный джумловод
ProtectYourSite, draff
Спасибо! Буду пробовать.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Закрепление материала в категории

Автор Wak

Ответов: 7
Просмотров: 129
Последний ответ 13.01.2021, 13:01:38
от Театрал
Ошибка в отображении позиции шаблона

Автор ALEXRAW

Ответов: 14
Просмотров: 136
Последний ответ 10.01.2021, 16:58:15
от ALEXRAW
Картинка категории - вывести рядом с названием категории в блоге

Автор AlexB

Ответов: 1
Просмотров: 191
Последний ответ 14.12.2020, 11:17:12
от AlexB
Как изменить цвет фона шаблона protostar на мобильных устройствах?

Автор kiev

Ответов: 12
Просмотров: 144
Последний ответ 03.12.2020, 21:17:59
от kiev
Фильтр по категории и метке при подключении к внешней БД

Автор zeus07

Ответов: 13
Просмотров: 246
Последний ответ 18.11.2020, 02:12:40
от zeus07