Я только что последовал за учебниками joomla о том, как создать «идеальный» компонент MVC joomla. Однако моя проблема заключается в том, что я еще не знаю, как назначить ее в меню. Я подумал, что мой компонент будет просто отображаться, когда я выберу «тип элемента меню», но мой компонент отсутствует в этом списке. Я сделал некоторые исследования в Google, но я не могу найти ответ ... Должен ли я создать файл metadata.xml или что-то подобное? Заранее благодарим за ответы!Компонент Joomla, не отображающийся в типах элементов меню
ответ
Чтобы создать «представления» для вашего компонента, вам необходимо создать некоторые XML-файлы. Внутри папки шаблонов в интерфейсной части вашего компонента (обычно что-то вроде /components/com_yourcomponent/views/someview/tmpl), если у вас есть шаблон с именем «default.php» и «form.php», вы можете создайте файл «default.xml» и файл «form.xml», чтобы эти элементы меню были доступны администратору. Вы можете посмотреть на другие компоненты, чтобы увидеть структуру этих XML-файлов, но то, что вы должны поместить внутри:
1) Название и описание для четырех зрения 2) Титулы пользователь сможет для изменения от администратора (он работает как параметры модуля/плагина) 3) Вы также можете установить «скрытые» переменные запроса для этого пункта меню. Это означает, что эти vars будут добавлены к запросу в этом конкретном пункте меню, но пользователь не сможет изменить его значение.
Вот полный пример для компонента (Joomla 1.7):
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_AGMTAGS_TAG_VIEW_DEFAULT_TITLE">
<message>COM_AGMTAGS_TAG_VIEW_DEFAULT_DESC</message>
</layout>
<fields name="request" addfieldpath="/administrator/components/com_agmtags/models/fields">
<fieldset name="request">
<field name="tag_id" type="agmtag"
label="COM_AGMTAGS_TAG_FIELD_NAME_LABEL"
description="COM_AGMTAGS_TAG_FIELD_NAME_DESC"
/>
</fieldset>
</fields>
<fields name="params">
<fieldset name="basic" label="COM_AGMTAGS_TAG_OPTIONS">
<field name="layout_type" type="hidden" default="blog" />
<field name="show_tag_name" type="list"
label="COM_AGMTAGS_SHOW_TAG_NAME"
description="COM_AGMTAGS_SHOW_TAG_NAME_DESC"
>
<option value="">JGLOBAL_USE_GLOBAL</option>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field name="show_tag_description" type="list"
description="COM_AGMTAGS_SHOW_TAG_DESCRIPTION_DESC"
label="COM_AGMTAGS_SHOW_TAG_DESCRIPTION_LABEL"
>
<option value="">JGLOBAL_USE_GLOBAL</option>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field name="items_per_page" type="text" default="" />
<field name="container_class" type="text" default="agmtags-list" />
</fieldset>
</fields>
</metadata>
Я надеюсь, что это помогло!
Спасибо alghimo, это было все, что я пропустил, теперь это работает! – ubi
Кроме того, есть еще один улов. В установочном файле XML компонента в разделе должны присутствовать теги , даже если вам не нужно меню.
Если они отсутствуют, то вы никогда не будете уделять возможность добавить этот компонент к пункту меню, , так как тип обыкновение быть там :-)
Если вы просто хотите, чтобы добавить мнение ссылка на список создать файл XML с именем default.xml внутри com_yourcomponent/просмотров/yourviewname/TMPL/
код XML ниже принимает два языка строки, используемой для отображения меню ссылки пункта в списке
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_YOURCOMPONENT_FRONPAGE_TITLE">
<message>COM_YOURCOMPONENT_FRONPAGE_MSG</message>
</layout>
</metadata>
Сохраните файл, и ссылка должна появиться в списке пунктов меню
Очевидно, вам также нужны теги меню администрирования в вашем установочном файле XML. http://forum.joomla.org/viewtopic.php?p=706714
Это работал для меня
<administration>
<menu>COM_COMPONET</menu>
<submenu>
etc...
</submenu>
Думает, что это то, что Panayiotis пытается сказать
В дополнении, ваши имена альтернативного взгляда файл не должны быть записаны с подчеркиванием.
table_catalog.xml
table_catalog.php
table_catalog_item.php
не работает - не было новой опции в списке «пункт меню».Но
tablecatalog.xml
tablecatalog.php
tablecatalog_item.php
имена файлов работают отлично. Я потерял час, показывая проблему.
- 1. joomla менеджер меню пользовательский компонент
- 2. Компонент, не отображающийся на странице
- 3. Компонент Joomla не найден
- 4. шоу компонент Joomla в типе пункта меню
- 5. Компонент, не отображающийся в интерфейсе Tkinter Python
- 6. Joomla 1.5.3 не отображает элементы меню в диспетчере элементов меню
- 7. Пользовательский компонент Joomla необходимо создать меню
- 8. навигационный модуль, не отображающийся на дополнительной странице в joomla
- 9. Создать новый компонент Joomla
- 10. (Java) Компонент, не отображающийся на панели
- 11. Компонент Java, не отображающийся при запуске
- 12. компонент Joomla
- 13. Компонент Joomla - как преобразовать стандартную форму php в компонент joomla
- 14. Настроить один из элементов меню на Joomla
- 15. Компонент Joomla не сохраняет данные
- 16. Joomla не может найти компонент
- 17. Элемент меню модуля Drupal, не отображающийся в меню первичных ссылок
- 18. Joomla меню не отображается названием
- 19. joomla меню не видно
- 20. Перенаправление Joomla 3 компонент URL в меню связанного один
- 21. Меню Joomla не отображается
- 22. Joomla - Ошибка хранения данных в Joomla компонент
- 23. joomla полностью настроить компонент link
- 24. Компонент без меню администратора
- 25. Значок меню, не отображающийся на ActionBarActvity
- 26. Значок меню, не отображающийся на мобильном телефоне
- 27. Компонент joomla с разными страницами
- 28. Компонент меню не отображается
- 29. Joomla 3.0 отсутствует меню
- 30. Компонент k2 не работает в joomla 1.7.3
Какой учебник вы придерживались? Какая версия Joomla? – Hanny
Ну что ж, _official_ tutorials я думаю. Вот они: [link] (http://docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1)! Спасибо, что нашли время, чтобы ответить мне, но я нашел ответ ниже ... – ubi