среда, 28 января 2015 г.

Как в Joomla отобразить материал без привязки к меню?


Есть более простой метод, которым я пользуюсь. Абсолютно все материалы в Joomla, для которых нет описания в меню, имеют такой вид (даже, если настроен ЧПУ) - http://www.сайт.com/index.php?option=com_content&view=article&id=xxxxx, где xxxxx это уникальный id материала. Этот id можно посмотреть в менеджере материалов, напротив созданной статьи. Теперь к этой ссылке подставляем свой id и получаем URL на любой материал, даже тот, для которого нет меню или он не описан ни в одной категории. Таким образом можно создать и потом выводить любые страницы в любом нужном месте по URL. Я, например, так делаю с ссылками для  404 и другими служебными страницами.



А ссылку можно сделать тремя способами

1. Без использования SEF (не красивый) www.ваш-сайт.ru/index.php?option=com_content&view=article&id=порядковый_номер_материала

2. Получше www.ваш-сайт.ru/component/content/article/порядковый_номер_материала.html

3. если таких материалов не много то можно создать скрытое меню (создать меню и не отображать его модуль на сайте) тогда в этом меню можно создать пункт привязать к этому пункту материал и получить название типа www.ваш-сайт.ru/указанный_alias_меню



Получение ссылки на страницу в Joomla без вывода ее в меню на сайте

3
Категории: JoomlaОбщие вопросы программирования в Joomla
В Joomla иногда может потребоваться создать страницу, которая была бы не доступна через меню, в то же время она должна быть доступна по ссылке введенной вручную. Например, это может быть страница с благодарностью за заполнение формы, или страница с дополнительным материалом из основной статьи, или страница какого-либо расширения, в выводе которой в меню нет необходимости.

Возможно, в модуле вы захотите сделать ссылку на определенный материал или категорию которых в меню нет и не должно быть. Также это даст возможность задать индивидуальные настройки для отображения страницы.
Такая задача очень часто встает перед пользователями Joomla, мне не однократно задавали такой вопрос. Поэтому я написал маленькое руководство как получить ссылку на любую страницу в Joomla не отображая ее в меню на сайте.
Дело в том, что вы не сможете создать ссылку, без меню. Но с другой стороны, кто сказал, что меню обязательно нужно показывать на сайте?
Итак, для того чтобы получить ссылку на любую страницу в Joomla и при этом не отображать ее в меню на сайте необходимо:
  1. С помощью менеджера меню создать новое меню. Назовем его «скрытое меню» и тип меню (системное имя меню) будет «hidenmenu». Не забываем нажить кнопку «Сохранить и закрыть».
  2. В меню «скрытое меню» создаем пункт меню, который будет указывать на нужную нам страницу в Joomla. Выбираем тип пункта меню (я выбрал Материал), указываем заголовок меню (я выбрал Визитная карточка, не забывайте, что этот заголовок может отображаться в заголовке страницы браузера), указываем Алиас (у меня vizitnaya-kartochka, фактически это и будет нужная нам ссылка). И не забываем сохраняться. В создании модуля для вывода этого меню необходимости нет.
    Если вы используете редактор JCE или другое расширение для вставки ссылок, то можете уже использовать созданную ссылку. Если нет то вам не составит друга сделать это самим. При включенном ЧПУ ссылка будет иметь вид при «/алиас» (для моего примера «/vizitnaya-kartochka», на рисунке помечено цифрой 1). При выключенном ЧПУ, ссылку можно скопировать из поля «Ссылка» и добавить «/» в начале (в моем примере это будет «/index.php?option=com_content&view=article&id=84», на рисунке помечено цифрой 2), эта ссылка будет работоспособна как при включенном, так и при выключенном ЧПУ.


Здравствуйте. Использую Joomla! 2.5.6 rus. Попробовал описанный способ для создания «скрытой» ссылки на страницу «Карта сайта», чтоб выводить ее отдельно иконкой в шаблоне. Возникли проблемы: пункты основного меню (mainmenu) перестали отображаться при открытии страницы «Карта сайта». Это возможно из-за того, что движок переключился на работу с «hidden» меню, в котором и расположен пункт «sitemap». Может, я сам что-то упустил, но пока так. Продолжу искать решение своей проблемы.
Да именно так и произошло как вы сказали, при использовании ссылки из скрытого меню, оно все равно становиться активным. Для решения подобных задач я знаю еще две техники:
1) первую объяснить довольно сложно, но она простая, но опять таки накладывает некоторые ограничения, суть ее заключается в том, что у модуля вывода меню можно ограничить «Последний уровень», для этого нужно организовать меню так, чтобы скрываемые ссылки имели уровень вложенности более чем указано в параметре «Последний уровень». Пример, для последний уровень=2:
Пункт 1
Пункт 2
  Подпункт 1
    Скрытый пункт 1
    Скрытый пункт 2
  Подпункт 2
  Подпункт 3
Пункт 3
2) Способ можно использовать когда, не подходят первый и предложенный в статье, но он требует небольших знаний PHP. В ближайшее время я напишу про этот способ.

0 коммент.:

Отправить комментарий