Joomla 2.5 добавление ссылки на компонент в меню

При переделке компонента для версии Joomla 2.5 столкнулся с небольшой проблемой. Все работает нормально. Но если попробовать добавить новый пункт в меню, то при выборе типа меню (Select a Menu Item Type) нет упоминаний компонента. Поискав по интернету как решить эту проблему ничего путного не нашел. Есть вариант с указанием внешней ссылки и вводом URL до компонента вручную (index.php?option=com_componentname), но это некрасиво. Немного покопав компонент меню нашел следующие решение:

Есть два способа задать эти пункты для типов меню. Один используется при создании компонента по модели MVC. И похоже что где-то внутри модели или контролера или view можно задать на какой тип оно все будет отзываться. Более подробно не изучал так как компонент у меня простой (возможно его еще и под 1.0 писали).
Поэтому сразу приступил ко второму более быстрому и простому варианту. Оказывается что некоторые данные берутся из файла metadata.xml, который может лежать в папке frontend компонента.
Таким образом я создал файл metadata.xml прямо в папке /components/com_componentname.
Содержимое файла было следующие:

<?xml version="1.0" encoding="utf-8"?>
<metadata>
    <menu options="none" name="componentname" />
</metadata>

Аттрибут options и его значение none понадобились для того что-бы «пойти» по легкому пути. С настройками возможны вариации, но если честно ради академического интереса разбираться с ними было лень.

А так в результате при выборе типа пункта меню появился новый элемент. И если выбрать тип меню «componentname» то добавляется элемента, который по сути является ссылкой index.php?option=com_componentname

Запись опубликована в рубрике Joomla, Scritplance с метками , . Добавьте в закладки постоянную ссылку.

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