2010-06-22 2 views
5

Я сделал компонент для Joomla, и это работает нормально с прямым URL: http://www.something.com/index.php?option=com_pbformшоу компонент Joomla в типе пункта меню

Проблема заключается в том, что, когда я пытаюсь добавить его в меню. Когда я изменяю тип элемента меню, компонент отображается, но когда я нажимаю на него, я не получаю представление, которое можно применить к элементу меню.

Должен ли я настроить что-либо еще в компоненте?

Спасибо!

+0

Я нашел эту строку в одном из учебников. «Вы также можете скрыть представление, используя символ подчеркивания« _ »в названии». Я теряю много часов, прежде чем найти его. – Simon

ответ

2

Если вы настроили свой компонент в моде MVC, у вас будет структура папок видов/макетов в папке вашего компонента. Каждое другое представление, которое у вас есть, будет указано в типах меню под вашим именем компонента. Здесь можно выбрать точки зрения.

См., Например, в вашей компонентной структуре папок у вас есть

views/view_a 
views/view_b 
views/view_c 

затем в селекторе меню Joomla вы бы эти выборы, чтобы выбрать в качестве вида.

Если вы не настроить ваш компонент, как MVC, то взгляните на этот учебник о том, как сделать это http://www.joomladevuser.com/tutorials/components

Я надеюсь, что помогает! Cheers

+0

да, я сделал это в моде MVC, проблема в том, что я не использовал jview, я сделал mvc-подход с нуля, и у меня есть папка со всеми необходимыми мне взглядами. Есть ли способ обхода, который позволяет мне использовать этот подход в типах меню? – dbeja

+0

Я не уверен в этом, но я предполагаю, что вам нужно будет инициализировать ваши взгляды с помощью Joomla в контроллере, чтобы он знал, что они есть. Проверьте эту ветку (http://forum.joomla.org/viewtopic.php?f=47&t=511442), это может вам помочь. – Martin

+1

ОК, я сделал это по-другому. В меню типа I выберите External Link и напишите URL-адрес компонента (index.php? Option = com_mycomponent & template = temp1). Но в любом случае спасибо за советы! Ваша первая ссылка будет очень полезна в будущем. – dbeja

1

Возможно, вам понадобится файл metadata.xml для каждого из ваших представлений. См http://docs.joomla.org/Adding_view_layout_configuration_parameters для более подробной информации

+0

Я пробую это, но проблема в том, что у меня есть свои собственные классы просмотров. Я не использую классы просмотра joomla. У меня также есть несколько иной способ организации папок компонентов. Может быть, мне тоже нужно включить что-то внутри классов. – dbeja

3

Добавить компонент в таблице jos_components:

INSERT INTO jos_components (name, link, admin_menu_link, `option`) 
VALUES (
    'Greetings', 'option=com_greetings', 'option=com_greetings', 'com_greetings') 

Если все ваши мнения настроено правильно, вы должны добавить компонент в базу данных Joomla.

Функции и папки обзора не должны содержать дефис или символы подчеркивания.

Хорошо

  • /вид/viewone
  • /вид/viewtwo
  • /вид/viewthree

Bad

  • /вид/view_one
  • /вид/view_two
  • /вид/view_three
0

Используйте это простое решение. Вы ожидали найти свой новый компонент в раскрывающемся списке типа элемента меню, но его там нет!Вместо того, чтобы пытаться справиться с этой уродливой MVC ломом сделать это:

  • выбрать «одну статью» из списка и сохранить новый пункт меню
  • Теперь откройте JOOMLA дб
  • выберите _menu таблицу
  • редактировать ваше меню строки
  • ссылку на изменение из статьи index.php? вариант = com_yourcomponent
  • сохранить и посмотреть на менеджера меню администратора

Я выполнил миграцию моей коллекции Joomla 1.5 сценариев Ajax/PHP до Joomla 1.7.3, используя это решение всего за один день.

Кусок торта.

Смежные вопросы