[ Index ] |
|
Code source de eZ Publish 3.9.0 |
1 <script language="JavaScript" type="text/javascript" src={"javascript/lib/ezjslibie50support.js"|ezdesign}></script> 2 <script language="JavaScript" type="text/javascript" src={"javascript/lib/ezjslibcookiesupport.js"|ezdesign}></script> 3 <script language="JavaScript" type="text/javascript" src={"javascript/lib/ezjslibdomsupport.js"|ezdesign}></script> 4 <script language="JavaScript" type="text/javascript" src={"javascript/lib/ezjslibimagepreloader.js"|ezdesign}></script> 5 <script language="JavaScript" type="text/javascript" src={"javascript/contentstructuremenu/contentstructuremenu.js"|ezdesign}></script> 6 7 8 {let rootNodeID = ezini( 'TreeMenu', 'RootNodeID' , 'contentstructuremenu.ini' ) 9 classFilter = ezini( 'TreeMenu', 'ShowClasses' , 'contentstructuremenu.ini' ) 10 maxDepth = ezini( 'TreeMenu', 'MaxDepth' , 'contentstructuremenu.ini' ) 11 maxNodes = ezini( 'TreeMenu', 'MaxNodes' , 'contentstructuremenu.ini' ) 12 sortBy = ezini( 'TreeMenu', 'SortBy' , 'contentstructuremenu.ini' ) 13 fetchHidden = ezini( 'SiteAccessSettings', 'ShowHiddenNodes', 'site.ini' ) 14 itemClickAction = ezini( 'TreeMenu', 'ItemClickAction' , 'contentstructuremenu.ini' ) 15 classIconsSize = ezini( 'TreeMenu', 'ClassIconsSize' , 'contentstructuremenu.ini' ) 16 preloadClassIcons = ezini( 'TreeMenu', 'PreloadClassIcons', 'contentstructuremenu.ini' ) 17 autoopenCurrentNode = ezini( 'TreeMenu', 'AutoopenCurrentNode', 'contentstructuremenu.ini' ) 18 contentStructureTree = false() 19 menuID = "content_tree_menu" 20 isDepthUnlimited = eq($:maxDepth, 0) 21 rootNode = false } 22 23 {* check size of icons *} 24 {section show=is_set($:class_icons_size)} 25 {set classIconsSize=$:class_icons_size} 26 {/section} 27 28 {* load icons if preloadClassIcons is enabled *} 29 {section show=eq( $:preloadClassIcons, "enabled" )} 30 {let iconInfo = icon_info( class ) 31 iconsThemePath = $:iconInfo.theme_path 32 iconsList = $:iconInfo.icons 33 defaultIcon = $:iconInfo.default 34 iconSizePath = $:iconInfo.size_path_list[$:classIconsSize] } 35 36 <script language="JavaScript" type="text/javascript"><!-- 37 38 var iconsList = new Array(); 39 var wwwDirPrefix = "{ezsys('wwwdir')}"; 40 var iconPath = ""; 41 42 // oridinary icons. 43 {section var=icon loop=$:iconsList} 44 iconPath = wwwDirPrefix + "/" + "{$:iconsThemePath}" + "/" + "{$:iconSizePath}" + "/" + "{$:icon}"; 45 iconsList.push( iconPath ); 46 {/section} 47 48 // default icon. 49 iconPath = wwwDirPrefix + "/" + "{$:iconsThemePath}" + "/" + "{$:iconSizePath}" + "/" + "{$:defaultIcon}"; 50 iconsList.push( iconPath ); 51 52 // load them all!! 53 ezjslib_preloadImageList( iconsList ); 54 55 // --> 56 </script> 57 {/let} 58 {/section} 59 60 {* check custom_root_node *} 61 {section show=is_set( $custom_root_node_id )} 62 {set rootNodeID=$custom_root_node_id} 63 {/section} 64 65 {set rootNode=fetch( 'content', 'node', hash( node_id, $:rootNodeID ) )} 66 67 {* check custom action when clicking on menu item *} 68 {section show=and( is_set( $csm_menu_item_click_action ), eq( $itemClickAction, '' ) )} 69 {set itemClickAction=$csm_menu_item_click_action} 70 {/section} 71 72 {* if menu action is set translate it to url *} 73 {section show=eq( $itemClickAction, '' )|not()} 74 {set itemClickAction = $:itemClickAction|ezurl(no)} 75 {/section} 76 77 {* create menu *} 78 {default current_user=fetch('user','current_user')} 79 {cache-block keys=array($:itemClickAction, $:rootNodeID,$current_user.role_id_list|implode( ',' ), $current_user.limited_assignment_value_list|implode( ',' )) subtree_expiry=$:rootNode.url_alias} 80 {* Fetch content structure. *} 81 {set contentStructureTree = content_structure_tree( $:rootNodeID, 82 $:classFilter, 83 $:maxDepth, 84 $:maxNodes, 85 $:sortBy, 86 $:fetchHidden ) } 87 88 {* Show menu tree. All container nodes are unfolded. *} 89 <ul id="{$:menuID}"> 90 {include uri="design:contentstructuremenu/show_content_structure.tpl" contentStructureTree=$contentStructureTree class_icons_size=$:classIconsSize csm_menu_item_click_action=$:itemClickAction ui_context=$ui_context is_root_node=true()} 91 </ul> 92 {/cache-block} 93 {/default} 94 95 {* initialize menu *} 96 <script language="JavaScript" type="text/javascript"><!-- 97 98 {* get path to current node which consists of nodes ids *} 99 var nodesList = new Array(); 100 101 {section var=path loop=$module_result.path} 102 {section show=and(is_set($:path.node_id), or($:isDepthUnlimited, $:maxDepth|gt(0)))} 103 nodesList.push( "n{$:path.node_id}" ); 104 {set maxDepth = dec($:maxDepth)} 105 {/section} 106 {/section} 107 108 109 ezcst_setFoldUnfoldIcons( {"images/content_tree-open.gif"|ezdesign}, {"images/content_tree-close.gif"|ezdesign}, {"images/1x1.gif"|ezdesign} ); 110 ezcst_initializeMenuState( nodesList, "{$:menuID}", "{$:autoopenCurrentNode}" ); 111 // --> 112 </script> 113 {/let} 114
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Feb 24 10:30:04 2007 | par Balluche grâce à PHPXref 0.7 |