Loading...
 
Skip to main content

History: 메뉴

Source of version: 7 (current)

Copy to clipboard
            ^Translation of this page is incomplete.^

{maketoc levels="2"}

!! 사용자 지정 메뉴 만들기
^추가 ((screenshot|스크린샷)) 이 필요함^

티키에서는 사용자 지정 메뉴를 만들거나, 혹은 위키 페이지에서 메뉴를 만들거나, 혹은 구조체에서 메뉴를 만들 수 있습니다. 메뉴 및 다른 많은 것들은 Smarty -+{menu ...}+- 문법을 사용하여 맞춤형 "사용자" ((modules)) 안으로 놓여질 수 있습니다. 모듈은 좌 혹은 우측 열에 누적형태로 놓이거나, 혹은 구문(syntax)이 Look & Feel 관리패널의 다양한 사용자 지정 코드 텍스트 영역에 직접 놓여질 수도 있습니다 (티키 7에서는 상단과 하단에도 모듈을 지정할 수 있을 것입니다. 메뉴는 단순하거나, 접히는 방식이 될 수도 있습니다.  귀하는 부모 구역 (폴더) 내부에서 확장되거나 접힐 수 있는 메뉴 아이템의 구역을 가지고 있는 메뉴도 만들 수 있으며, 혹은 CSS 와 jQuery 를 이용하여 몇몇의 눈에 띄는 외형과 효과를 지닌 유동적 메뉴로 표기 될 수도 있습니다.

((Tiki9|티키9)) 에서는 메뉴 관리에 몇몇 부분이 향상되었습니다, 이는 사용성 향상, 탭으로 분리된 섹션, "빠른 URL" 상자 수정, 페이지에 대한 자동완성 추가, 선호설정, 및 권한 등을 포함하며 미리보기가 향상되었습니다

^__팁__: 
손쉽고, 커뮤니티 내에서 직접 편집가능한 메뉴를 원하시면, ((Module menupage)) 를 사용하십시오, 이는 지정된 위키 페이지에서 메뉴를 만들어냅니다. ^

!! 사용자 지정 메뉴 만들기

관리 > 메뉴 로 가십시오 (혹은 티키 사이트의 기본 주소의 URL 뒤에 다음을 추가하십시오: .../tiki-admin_menus.php).

::{img src=http://tikiwiki.org/img/wiki_up/admin_menu.png}::

생성 가능한 메뉴에는 3가지 다른 종류가 있습니다:
*__고정 __(f): 메뉴는 정적일 것입니다; 모든 선택사항은 메뉴 모듈에 표기될 것입니다.
^여기에 스크린샷 삽입해야 함^
*__접힌 유동형__ (d): 이 메뉴는 유동형입니다; 메뉴 내부에 부분들만이 표기되며, 부분들을 열기/닫기를 위한  +/- 링크 혹은 폴더 아이콘이 표기될 것입니다. 티키 내부의 응용프로그램 메뉴는 메뉴의 본 클래스의 한 예제입니다.
^여기에 스크린샷 삽입해야 함^
*__펼쳐진 유동형__ (e): 위와 동일하지만 모든 부분이 기본으로 펼쳐져있고 사용자가 닫기를 원하는 부분의 (-) 혹은 폴더 아이콘으로 닫을 수 있습니다.
^여기에 스크린샷 삽입해야 함^

!! 구조체 목차에서 메뉴 생성하기
((Structures User|구조체 사용자)) 를 참조

From Tiki 7 or 8 (definitely in 8) the module_menu is working for structures.↵
↵
You can either make a navigation menu from a "menu Id" od from a "structure Id".↵

!! 맞춤형 메뉴 구성하기
생성되고 나면, 이 새 메뉴의 행에 있는 설정 버튼을 크릭하십시오, 이는 /tiki-admin_menu_options.php?menuId=n 으로 이동하게 됩니다

메뉴 항목을 생성하려면, 메뉴 선택사항 서식에 내용을 기입하십시오 : 최소 __Name__, __URL__ (상대적 혹은 절대적), __Type__ = "option" 및 __Position__ 이는 메뉴 항목 순서를 설정하기 위한 숫자입니다. 저장하시고 메뉴의 미리보기를 살펴보십시오.
티키 >= 2.0 에서는 , ~np~((pageName))~/np~ 문법으로 메뉴 선택사항 내부에 위키 페이지로의 링클르 지정할 수 있습니다. 장점은 위키 페이지 이름 이 변경될 때 선택사항의 이름변경을 할 수 있는 것이며 ((SEFURLs)) 기능이 체크되었을 경우 SEFURL 링크를 가질 수 있는 것입니다. SEFURL 는 http://mysite.com/tiki-index.php?page=Home 와 같은 복잡한 링크 대신 http://mysite.com/Home 처럼 될 것입니다

To create a ''section'' (i.e. a folder) that can be opened or collapsed, fill in the edit menu options form with at least __Name__, __URL__, __Type__ = "section" and __Position__.  

NOTE: Do not put anything in __Sections__ unless you know the tiki specific feature references e.g. feature_wiki or feature_blog_rankings.  These can be auto-filled using __Some useful URLs__ pull-downs, or look at the __Tips__ below to know how to guess the section name of the feature you are interested in.

* A __section __is an option that can fold the following options. The options dependant on a section are defined as the list of consecutive options with type 'option'. The options of a section stop when the next option is a section, a sorted section, or a separator.
* A __sorted section__ sorts all its dependent options when displayed.
* A __separator __does nothing - except to stop a section (useful if you want to do a section followed by an option)

!!! Example
* option1
* section1
** option2
** option3
* option4
* section2
** option5
will be
||option1|option
section1|section
option2|option
option3|option
|separator
option4|option
section2|section
option5|option||

In Tiki > 1.9.8, more levels have been introduced
Example:
* option1
* section1
** option2
** section3
*** option3
*** option4
*** section4
**** option5
** section5
* option6
will be
||option1|option
section1|section level 0
option2|option
section3|section level 1
option3|option
option4|option
section4|section level 2
option5|option
section5|section level1
|separator
|separator
option6|option||

Tip: Leave intentional gaps when numbering positional value for options. (Ex: 1,3,5,7,9).  This will make future additions easier.

!! Allow viewing options/sections only under some conditions
!!! Allow only to some specific groups
You can restrict the view of some options and sections in the menu, so that only specific groups can view them. For instance, you could add a "User Preferences" option in position 100 to your customized menu that is seen by users only when they log in (registered group). 

To do this, you would add:

|| Name:	| __User Preferences__
URL:	| __tiki-user_preferences.php__
Sections:	|
Permissions:	|
Group:	| __Registered__
Type:		|  __option__ | Position:	| __100__ ||

You can specify a list of groups (separated by comma in Tiki =< 1.9.x, multiple select since Tiki 2.x). In this case, it means that the user needs to be in each group to see the option.

If you want a list of groups to see the option, = a user to be only in one of the groups to see the option, you have to insert has many options as groups. Each option must have the same parameters (same position, ...) except for the group.

The trick is, if you don't select any Groups, everyone can see the menu option. If you want to exclude a group, select all the other groups (but not the group you want to exclude).  

Similarly, you can inadvertently exclude a logged-in group by selecting too many groups.  You don't need to select all of your Admin-type groups (they can usually see everything anyway).  Just select the one logged-in group that you want to able to see the menu item.  (Yes, this is all very weird.)
!!! Allow only if feature X is enabled
Imagine you want to add the option "Users Map" in position 110, to anonymous or registered groups, only when the feature Google Maps (gmap) is enabled in your site. You can do that with:

|| Name:	| __Users map__
URL:	| __tiki-gmap_usermap.php__
Sections:	| feature_gmap
Permissions:	|
Group:	| 
Type:		|  __option__ | Position:	| __110__ ||

!!! Allow only if feature X enabled and if user in a group with given permission
You could also restrict the menu option to be seen when the feature X is enabled, but also only when the user belongs to a group which has a specific permission. 

For instance, you could add an option "Upload image" in position 120 which is seen only when the feature image galleries (feature_galleries) is enabled AND only by users in groups which have the permission to upload images (tiki_p_upload_images).

To achieve this behavior, you have to add something like:

|| Name:	| __Upload image__
URL:	| __tiki-upload_image.php__
Sections:	| __feature_galleries__
Permissions:	| __tiki_p_upload_images__
Group:	| 
Type:		|  __option__ | Position:	| __120__ ||

!!! Tips
# You could add to a menu entry any combination of settings for sections, permissions or groups.
# If you need a same option with different perms or group, duplicate the option with the same position value.
# To know the section names in order to allow only some new options when the feature is enabled, you can disable/enable them under "__Admin home > Features__" (__tiki-admin.php?page=features__), and you will see its name reported on top of the page when it's reloaded after you saved your changes. Then, you can enable/disable them again to its original state, if you don't want to change this setting.
# To know the permission names, go to Admin > Groups > press on the key icon ({img src=img/icons/key.gif }) next to a group) (__tiki-assignpermission.php?group=Registered__, for instance)

!! Include menu in a new user module or in templates
Once the menu has all or most of the options go to "Admin Modules" page (/tiki-admin_modules.php), under " Create new user module" at the bottom, find your menu title in the pull-down "Menus" on the right, click __use menu__ and "{menu id=n}" (where n = your menu ID) will appear in the "Create new user module" data box.  Add a title (what will users will see) and a name (what admin sees) and click __create/edit__.

Now you have created a new user module for the custom menu.

Moreover, it is possible to create dynamic pop-up menus by putting ~np~{phplayers id=n}~/np~ in a TPL file.  For older versions of Tiki, you might need to copy the layersmenu CSS entries out of damian.css into the css of your choice (or copy them from a later version).
On Admin Modules you can assign the module using the "Assign new module" form. 

!! Multilingual menu
*((Multilingual Menu))

!! CSS (Suckerfish) Menus
In Tiki 2 and newer, it is possible to use a [http://www.alistapart.com/articles/dropdowns|suckerfish menu]. This menu can be either vertical (in a ((module))), or horizontal (in a ((template)) or in Site Identity custom code or, as of Tiki 3.0, as the topbar menu by just indicating the menu id number. Even nicer, jquery Superfish effects can be applied to CSS menus in Tiki 3.

To summarize: a menu created in Admin Menus can be displayed in one of three forms: a normal tiki menu (like the default menu in the side column), a PHP Layers menu, and a suckerfish (CSS) menu. In any form it can be integrated in tiki either directly in a module, in a template file {menu id=1} or in Admin Look and Feel (custom code in Tiki 2, or topbar menu selection in Tiki 3.0). To have a suckerfish menu used, in a module (via admin) or a template (via file editing) add the parameter css=y to the smarty tag {menu}.


!!!How to Set Up a CSS Menu (in progess)
#Ensure that CSS menus are enabled in admin>features.
#Create a menu in the normal way at admin > menus.
#Note the ID number of the menu you have created.
#Edit the module (within tiki) or .tpl file (via ftp) and include (along with whatever html is required) the following syntax: ''~np~{menu id=1 css=y}~/np~''.
#In Tiki 3.0, the module containing the CSS menu needs this parameter: ''overflow=y''. This allows the submenu items to display outside the module's borders.

!!!Additional Parameters
||type|horiz or vert op open|open will close no submenus
sectionLevel|numeric| all the submenus beginning at this level will be displayed if the url matches one of the option of this level or above or below
toLevel|numeric|do not display option higher than this level
subMenu|numeric| menu option ID root. Only the submenu of this option will be displayed
||

!!! Contextual menu example
Imagine this menu (id=101)
*flower
**rose
***monaco
**daisy
*tree
**tree
**oak
will display when you are on rose, or flower or monaco
flower | tree
rose|daisy
will display when you are tree, oak
flower } tree
tree|oak

{BOX(title="Three steps to a contextual menu" [title="Contextual Menu- Three Steps:],[bg=>b0b8d0],[width=>100]")}
* I presuppose, that you know how to set up a menu.
+ for getting this working well, you need:
+ section level0 menu items for the top bar and
+ option menu items for the left subnavigation menu (user module)

* First to setup a Contextual Menu, where the Top-Bar (or Top Menu) shows kind of „rubrics“ and the  submenuitems are shown in a contextual submenu in the left or right culomn you have to do this:
* Put the following code into the __"Site menu custom code:"__ box of Admin → Look and Feel → General Layout (2nd Tab) →  Top Bar 
+ use the number of the appropriate Menu → in this example I did choose the Standard „my menu“ for the Top Bar with the Standard ID=43
+ leave the "Menu ID" box empty
* Check on „Top Bar“ and then check on the „Site menu bar“ checkbox
+ {CODE()}
<div id="topMenu">
{menu id=43 css=y type=horiz toLevel=0}
<br clear="both" />
</div>
{CODE}
* Second, setup a custom user module in Admin → Modules (.../tiki-admin_modules.php)
* No menu need to be setup for that
* second tab „user modules“, scroll down to „Create New User Module“
* name it for example „mnu_subMenu“ and do NOT apply to inculde any objects.
* instead put in the following code into the data box:
+ {CODE()}
<div id="subMenu">
{menu id=43 css=y type=vert sectionLevel=1}
<br clear="both" />
</div>
{CODE}
* this Module has to be assigned in the first tab „assign/edit modules“.
* as this kind of contextual menu might be mostlikely used for a Standard „small companies website“ or similar, it should be assigned for „anonymous“ group or anonymous and registered.
* perhabs a good place would be top left (Position: Left / Order: 1); no parameters needed to work

=> Now you should be done – technically the menu should work

*Third: Maybe you will have to adjust the style/template css-file, to get the contextual menu into the custom design of your website.

* in my style, I had to change the following css-items:
** /***** XHTML Elements (other than body tag) ******/
*** a:link, a:visited {color: ...
** /***** Site Header & Identity *****/
*** #tiki-top {font-size: ….
** /****** Menus, Links ******/ … /** CSS (suckerfish) menus **/
***.cssmenu li, .cssmenu_horiz li, .cssmenu_vert li {border-top: 0px solid #dedede}

*If and what you will have to change in your css-file, depends on your style/template, on your Tiki-version (2.x, 3.x, 4.x, 5.x etc.) and perhabs on more factors, that did not apply in my case.
{BOX}


This example works fine with Tiki 3.5 → when I will find out major differences in higher Versions, I will add this here lateron. Please mind that there have been changes in the templates from Tiki4 on.
Update: works fine in 4.x, 5.x and 6.x .  

^Please mind, that this custom-contextual-menu will only show items, when you are "on a page" that is linked from the menu.

If you move forward on a more complex website, then the left submenu will show up "empty". That makes no sense and I am on to get more problems solved related to the contextual menu. 

Example:
You link to a "startpage" of a Wikistructure, but the other pages of the structure are not linked "in" the menu ...
... clicking on the menuitem linking to that page will let appear the appropriate (not emty) contextual menu ...
... but if you "move" forward in the wikistructure, the contextual menu will become empty.^


!!!Required CSS Classes
As of Tiki 3.0, suckerfish menus are supported in CSS by default, and no additional CSS styles need to be added. The following information applies to Tiki 2.

^ __NOTES__
For a CSS menu to work in the side column, these changes have to be made to the theme's stylesheet, after the .box selector in the file:

{CODE(wrap=>n)}
/* Needs to be set for CSS menu in col2 to work */
.box-menu_css_v_43,
.box-menu_css_v_43 .box-data,
.box-menu_css_v_43 ul {overflow: visible !important}

.box-menu_css_v_43 {padding-left: 1em} 
{CODE}
The number is the id number of the menu, so this will have to be changed if the menu has a different id number. In the future release, there will probably be a general CSS solution, but in the meantime (May 2008), this previous hack should do the job.

The first part is to enable the menu items to be visible outside of the module; the fourth item is probably necessary to bring the menu (top-level items) fully into view in the module. They are probably too far to the left initially. You might have to adjust the "1em" to another figure (whole numbers or decimal numbers like 1.4em are OK).
^

!!External Links in Menus
If you want to let external links be opened in a new Tab or window, you need a target=_blank.
Please mind a difference in the notation regarded to "normal" HTML (the starting and ending quotes are intended to be missing):
In the menu you have to type: __{CODE(caption="target=_blank")}http://foo.bar" target="_blank{CODE}__ .
And it will only work, if you enable the following in the admin panel "''general settings -> navigation''":
{CODE(caption="allow-HTML")}Allow HTML in link text and do not escape the url in menu items 
(Please note: this might be insecure if you allow more people to edit menus){CODE} 

Alternatively, you can try ((How to make menu items open in a new window))

!! Links in iframe
Links to be opened inside an iframe in the main display area can be done this way ( ((Featured Links)) feature has to be enabled): {CODE(caption=>Link opens in iframe,wrap=>1,wiki=>0)}tiki-featured_link.php?type=f&url=http%3A%2F%2Fwww.siemens.com%2f{CODE} All special characters have to be replaced with the html encoding, e.g. ~~blue:__/__~~ has to be replaced with ~~blue:__%2f__~~!  

!!Perms
* tikiwiki< 1.10: you need to have tiki_p_admin to create/edit the menus
* tikiwiki>=1.10: to create a menu or delete one, you need tiki_p_edit_menu, to create/edit a menu option, you need tiki_p_edit_menu_option (of course, you have implicitly the 2 perms when you have tiki_p_admin)

!!Change the folder icons of a tiki menu
tikiwiki>=1.10
There are 2 ways to change the folder icons
1) to change it as every other icons by overloading it at the templates level. You need to create 2 icons
*styles/my_style/img/icons/folder.png
*styles/my_style/img/icons/ofolder.png
2)to change locally for a menu. You must specify the path to the icon folder for close section like my_modifications/my_icon.gif and you must supply this icon and the closed icon that must be name my_modifications/omy_icon.gif (notice the o letter)

For the change to take effect, you may have to clear Tiki's caches (at tiki-admin_system.php) and your browser cache, and/or log out of Tiki to clear session information.

!!메뉴의 각 선택사항에 아이콘 추가
tiki>=?
관리->일반-> 의 내부에서 일반 선호설정을 활성화해야 합니다
그리고 특정메뉴에 대하여, 이 메뉴를 만들기/편집하기 할 때, 메뉴 항목에 대하여 아이콘 구성' 선택사항을 체크하여야만 합니다
그리고 각각의 선택사항에 대하여, 아이콘을 포함하는 파일의 이름을 줄 수 있습니다 (관리->일반 의 내부에 지정한 디렉터리에서 파일을 가져오게 됩니다) 혹은 아이콘의 경로를 tikiroot 에 대하여 상대적으로 줄 수도 있습니다.

!!추가 자료
특정 그룹에만 해당하는 메뉴를 만드는 것에 대한 추가 정보는 다음을 살펴보십시오: ((Menu HOWTO))




-=참조=-
서커피시 (Suckerfish) 메뉴 (css 메뉴):
* http://users.tpg.com.au/j_birch/plugins/superfish/
* http://www.alistapart.com/articles/dropdowns


-=Alias=-