PDA

Zobacz pełną wersję : Custom component - menu item type



faketa
29-11-2010, 17:16
Witam

Tworzę komponent pod Joomla 1.5 i chcę dodać kilka widoków możliwych do wyboru ( Menu Item Type ). Robię to dodając pliki XML w katalogach /views, jednak zauważyłem, że aby dany Menu Item Type był widoczny podczas dodawania nowego elementu w Menu muszę w pliku instalacyjnym komponentu dodać znacznik <menu>. To powoduje że otrzymuję nowe menu w Komponentach, a nie jest to mi potrzebne. Jest na to rozwiązanie?

GrzesiekP
30-11-2010, 12:13
Piszesz oczywiście o zapleczu, prawda?

Jeśli tak, to by dodać submenu w pliku instalacyjnym .xml (nazwa_komponentu.xml) musisz dodać:



<administration>
...
<menu link="option=com_komponent" img="URL IMG">Mój komponent</menu>
<submenu>
<menu view="VIEW #1" img="URL IMG">Submenu #1</menu>
<menu view="VIEW #2" img="URL IMG">Submenu #@</menu>
</submenu>
...
</administration>


Jeśli jesteś na etapie tworzenia i szlifowania, to możesz ręcznie dodać podrzędne pozycje do menu, wykonując zapytanie do bazy.


INSERT INTO `jos_components` (`id`, `name`, `link`, `menuid`, `parent`,
`admin_menu_link`, `admin_menu_alt`, `option`, `ordering`, `admin_menu_img`,
`iscore`, `params`, `enabled`) VALUES

(1, 'Main Menu Name/Component Name', 'option=com_componentname', 0, 0,
'option= com_componentname', 'Main Menu Name/Component Name',
'com_componentname', 0, 'path to icon file', 0, '', 1),
(2, 'Menu Item 1', '', 0, 1, 'option= com_componentname&view=menuitem1',
'Menu Item 1', 'com_componentname', 2, 'path to icon file', 0, '', 1),
(3, 'Menu Item 2', '', 0, 1, 'option= com_componentname&view=menuitem2',
'Menu Item 2', 'com_componentname', 1, 'path to icon file', 0, '', 1);


Więcej znajdziesz tutaj:
http://www.vishwashgaur.com/open-source/how-to-add-menu-and-sub-menu-in-the-joomla-administration-menu-for-a-component.html

faketa
30-11-2010, 17:17
hej

Właśnie nie chcę dodawać menu ani submenu w głównym menu zaplecza. Jedynie potrzebuję utworzyć pozycję Menu Item Type (Wybierz typ pozycji menu) w miejscu Typ pozycji menu (dodawanie elementu w menu bądź edycja elementu w menu). Przykład: komponent com_user posiada Logowanie; Rejestracja; Przypomnienie; Ustaw ponownie; Użytkownik - nie mając żadnego elementu w menu zaplecza "Komponenty".

GrzesiekP
01-12-2010, 11:42
To o czym piszesz, to są widoki.

Najpierw musisz utworzyć jakiś widok w folderze komponentu (frontend). Później będziesz miał możliwość dodania w menu pozycji prowadzącej do tego widoku.

faketa
01-12-2010, 12:01
Tak robię, ale nie mam możliwości dodania pozycji w menu do utworzonego widoku.

GrzesiekP
01-12-2010, 12:40
Dzieje się tak, ponieważ w tabeli 'components' nie śladu Twojego komponentu.
Dodasz rekord w ten sposób:


INSERT INTO `jos_components` (`id`, `name`, `link`, `menuid`, `parent`,
`admin_menu_link`, `admin_menu_alt`, `option`, `ordering`, `admin_menu_img`,
`iscore`, `params`, `enabled`) VALUES

(1, 'Main Menu Name/Component Name', 'option=com_componentname', 0, 0,
'option= com_componentname', 'Main Menu Name/Component Name',
'com_componentname', 0, 'path to icon file', 0, '', 1);

zmieniając uprzednio dane, a pojawi się on później na liście.

faketa
06-12-2010, 23:42
dzięki za informację