Текущая страница: ГлавнаяJoomla → Неочевидные моменты при работе с Joomla

Неочевидные моменты при работе с Joomla

Неочевидность первая
После создания статьи иногда полезно посмотреть как она выглядит на сайте. При этом никакой прямой ссылки на URL статьи в админке joomla как бы нет…Материал привязывается к категории, зайти и посмотреть на него можно оттуда, пройдясь по всем пунктам меню ))))) Что в общем-то не всегда удобно.
Смотрим ID материала, тогда прямой линк будет
/index.php?option=com_content&view=article&id=ID_материала
То же самое относительно категорий
index.php?option=com_content&view=category&id=ID_категории
Правда есть подводные камни…
Немного теории…С точки зрения ООП у нас есть объект Меню, объект Категория, объект Материал, таким образом объект меню является элементом других объектов, причем есть этот элемент только у объектов которые заданы в «Тип меню». Причем некоторые параметры отображения категории и материала мы можем задать только в Меню. Например, если мы хотим в категории сделать постраничное разбиение и выводить допустим только по 10 анонсов статей на страницу, то сделать это можно в Менеджер Меню->пункты Меню->выбираем тот пункт меню который привязан к нашей категории и там задаем параметры макета блога (в том случае если тип пункта меню — Блог Категории.) Таким образом пункт меню, это фактически объект который можно считать свойством другого объекта и который задает ряд дополнительных параметров родительского объекта, причем у родительского объекта может быть несколько таких дочерних объектов которые задают заданные свойства в разных ситуациях…Поясню на примере. В свойстве меню есть параметр ссылка которая для типа Блог Категории выглядит так:
index.php?option=com_content&view=category&layout=blog&id=ID_категории
, как видим есть еще layout=blog, этот параметр определяет какой тип меню мы используем, в данном случае — Блог Категории.
Однако, если мы откроем нашу категорию из меню на сайте, то увидим что ссылка генерируемая меню формирует еще один параметр и на самом деле выглядит так
index.php?option=com_content&view=category&layout=blog&id=ID_категории&Itemid=ID_Пункта_Меню
Теперь предположим что содержимое нашей категории можно открыть из 2-х пунктов меню, причем в разных пунктах меню стоят разные настройки макета блога….Тогда то что мы увидим пройдя по ссылкам
index.php?option=com_content&view=category&layout=blog&id=ID_категории
index.php?option=com_content&view=category&layout=blog&id=ID_категории&Itemid=ID_Пункта_Меню-1
index.php?option=com_content&view=category&layout=blog&id=ID_категории&Itemid=ID_Пункта_Меню-2

очевидно будет различаться….При этом напомню, что при создании пункта меню ссылка, которая указана в свойствах самого меню вообще не имеет параметра Itemid=ID_Пункта_Меню который указывается только если мы перейдем в нашу категории из самого меню.
Таким образом правильная ссылка, которая покажет материал именно так, как мы хотим должна формироваться с указанием id, Itemid и layout.
Неочевидность вторая
В свойствах материала можно указать права доступа к материалу, допустим ставим — только зарегистрированным юзерам. Переходим из панели администрирования в просмотр сайта, заходим на страницу и видим, что смотрим сайт мы как гость…материал не виден. т.е. авторизация через административную панель и авторизация через форму логин-пароль чем-то отличаются. Когда я впервые перешел таким образом на сайт из административной панели на защищенную страницу то секунд 10 прямо таки с детским недоумением вдуплял в надпись доступ запрещен…как так, я ж админ — только вот из адм панели пришел…. О_О. Что же происходит? Когда мы заходим на сайт начинается сессия и пользователю задается кукис, имя которого дается php функцией session_id(), а значение генерируется случайным образом и заносится в поле session_id таблицы session. При входе в админку устанавливается еще один кукис и начинается новая сессия.

Добавить комментарий