Новости Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

Вышел релиз Joomla 5.3.2

Релиз исправлений ошибок Joomla 5.3.2

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

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

monitorlab

  • Новичок
  • 7
  • 0 / 0
Решение относится к Joomla! 1.0 (возможно, будет работать в Joostina).

В этом FAQ по Joostina написано следующее:

Цитировать
Вопрос: Как узнать id материала, категории, раздела?
Ответ: В Joostina (как и в Joomla!) страницы не пронумерованы. Можно только узнать id материала в режиме его просмотра, id раздела или категории в режиме их просмотра, и т.д.

Это неверно. На самом деле страницы как раз пронумерованы (id материала! ;) )
А в переменной $GLOBALS хранится нужная информация, надо лишь только ее добыть. Если посмотреть var_dump'ом ее содержимое, можно найти в этом массиве элемент "cache":
Код
var_dump($GLOBALS['cache'];

Он представляет собой объект, у которого есть метод "_cache", который возвращает другой объект, у которого есть метод "_id". Этот последний метод возвращает очень интересную строку, содержащую массу полезных сведений. В том числе, интересующий нас id категории. Вот ее фрагмент:
Код
"23";s:4:"mask";s:1:"0";s:5:"catid";s:3:"105";s:7:"created";s:19:"2011-07-22 17:06:20";
Внимание! Эта строка содержит HTML-код материала, так что если будете в ней копаться, сделайте тестовый материал из одного символа. В нем и смотрите.

Нас интересует конкретный фрагмент, явно описывающий id категории:
Код
"catid";s:3:"105"

"catid" - это явно имя интересующего нас параметра,
s:3 - очевидно, тип данных строка, длина 3 символа,
"105" - а это и есть искомый номерочек категории.

Добываем эту строку:
Код
$doc_properties = $GLOBALS['cache']->_cache->_id;

Далее нужно выдернуть этот номер с помощью регулярного выражения:
Код
$pattern = "/(?<=\"catid\";s:\d:\")\d+/";
preg_match_all($pattern, $doc_properties, $matches);
$cat_id_detected = $matches[0][0];

Этот код можно втыкать в самое начало шаблона, и далее использовать переменную $cat_id_detected для своих целей.

Аналогично можно добыть id раздела, имя раздела или категории, а также многое другое. В мануале по PHP есть очень хорошая статья "Синтаксис регулярных выражений". Можно там почитать, как создать несложный паттерн.

P.S. Возможно, есть более элегантный способ, или менее затратный по ресурсам сервера. Может быть, лучше обратиться к соответствующему классу. У меня не получилось сходу найти его имя. Я в этом плохо разбираюсь, я не программист. Буду рад, если меня поправят сведущие люди.
« Последнее редактирование: 22.07.2011, 21:17:49 от monitorlab »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

"Персональные" CSS для каждого пункта меню

Автор mdd

Ответов: 13
Просмотров: 9019
Последний ответ 28.04.2006, 11:18:34
от raduga