[ Index ] |
|
Code source de eZ Publish 3.9.0 |
1 <div class="content-view-children"> 2 3 <!-- Children START --> 4 5 <div class="context-block"> 6 <form name="children" method="post" action={'content/action'|ezurl}> 7 <input type="hidden" name="ContentNodeID" value="{$node.node_id}" /> 8 {* Generic children list for admin interface. *} 9 {let item_type=ezpreference( 'admin_list_limit' ) 10 number_of_items=min( $item_type, 3)|choose( 10, 10, 25, 50 ) 11 can_remove=false() 12 can_edit=false() 13 can_create=false() 14 can_copy=false() 15 children_count=fetch( content, list_count, hash( parent_node_id, $node.node_id, 16 objectname_filter, $view_parameters.namefilter ) ) 17 children=fetch( content, list, hash( parent_node_id, $node.node_id, 18 sort_by, $node.sort_array, 19 limit, $number_of_items, 20 offset, $view_parameters.offset, 21 objectname_filter, $view_parameters.namefilter ) ) } 22 23 {* DESIGN: Header START *}<div class="box-header"><div class="box-tc"><div class="box-ml"><div class="box-mr"><div class="box-tl"><div class="box-tr"> 24 25 <h2 class="context-title"><a href={$node.depth|gt(1)|choose('/'|ezurl,$node.parent.url_alias|ezurl )} title="{'Up one level.'|i18n( 'design/admin/node/view/full' )}"><img src={'back-button-16x16.gif'|ezimage} alt="{'Up one level.'|i18n( 'design/admin/node/view/full' )}" title="{'Up one level.'|i18n( 'design/admin/node/view/full' )}" /></a> {'Sub items [%children_count]'|i18n( 'design/admin/node/view/full',, hash( '%children_count', $children_count ) )}</h2> 26 27 {* DESIGN: Subline *}<div class="header-subline"></div> 28 29 {* DESIGN: Header END *}</div></div></div></div></div></div> 30 31 {* DESIGN: Content START *}<div class="box-ml"><div class="box-mr"><div class="box-content"> 32 33 {* If there are children: show list and buttons that belong to the list. *} 34 {section show=$children} 35 36 {* Items per page and view mode selector. *} 37 <div class="context-toolbar"> 38 <div class="block"> 39 <div class="left"> 40 <p> 41 {switch match=$number_of_items} 42 {case match=25} 43 <a href={'/user/preferences/set/admin_list_limit/1'|ezurl} title="{'Show 10 items per page.'|i18n( 'design/admin/node/view/full' )}">10</a> 44 <span class="current">25</span> 45 <a href={'/user/preferences/set/admin_list_limit/3'|ezurl} title="{'Show 50 items per page.'|i18n( 'design/admin/node/view/full' )}">50</a> 46 47 {/case} 48 49 {case match=50} 50 <a href={'/user/preferences/set/admin_list_limit/1'|ezurl} title="{'Show 10 items per page.'|i18n( 'design/admin/node/view/full' )}">10</a> 51 <a href={'/user/preferences/set/admin_list_limit/2'|ezurl} title="{'Show 25 items per page.'|i18n( 'design/admin/node/view/full' )}">25</a> 52 <span class="current">50</span> 53 {/case} 54 55 {case} 56 <span class="current">10</span> 57 <a href={'/user/preferences/set/admin_list_limit/2'|ezurl} title="{'Show 25 items per page.'|i18n( 'design/admin/node/view/full' )}">25</a> 58 <a href={'/user/preferences/set/admin_list_limit/3'|ezurl} title="{'Show 50 items per page.'|i18n( 'design/admin/node/view/full' )}">50</a> 59 {/case} 60 61 {/switch} 62 </p> 63 </div> 64 <div class="right"> 65 <p> 66 {switch match=ezpreference( 'admin_children_viewmode' )} 67 {case match='thumbnail'} 68 <a href={'/user/preferences/set/admin_children_viewmode/list'|ezurl} title="{'Display sub items using a simple list.'|i18n( 'design/admin/node/view/full' )}">{'List'|i18n( 'design/admin/node/view/full' )}</a> 69 <span class="current">{'Thumbnail'|i18n( 'design/admin/node/view/full' )}</span> 70 <a href={'/user/preferences/set/admin_children_viewmode/detailed'|ezurl} title="{'Display sub items using a detailed list.'|i18n( 'design/admin/node/view/full' )}">{'Detailed'|i18n( 'design/admin/node/view/full' )}</a> 71 {/case} 72 73 {case match='detailed'} 74 <a href={'/user/preferences/set/admin_children_viewmode/list'|ezurl} title="{'Display sub items using a simple list.'|i18n( 'design/admin/node/view/full' )}">{'List'|i18n( 'design/admin/node/view/full' )}</a> 75 <a href={'/user/preferences/set/admin_children_viewmode/thumbnail'|ezurl} title="{'Display sub items as thumbnails.'|i18n( 'design/admin/node/view/full' )}">{'Thumbnail'|i18n( 'design/admin/node/view/full' )}</a> 76 <span class="current">{'Detailed'|i18n( 'design/admin/node/view/full' )}</span> 77 {/case} 78 79 {case} 80 <span class="current">{'List'|i18n( 'design/admin/node/view/full' )}</span> 81 <a href={'/user/preferences/set/admin_children_viewmode/thumbnail'|ezurl} title="{'Display sub items as thumbnails.'|i18n( 'design/admin/node/view/full' )}">{'Thumbnail'|i18n( 'design/admin/node/view/full' )}</a> 82 <a href={'/user/preferences/set/admin_children_viewmode/detailed'|ezurl} title="{'Display sub items using a detailed list.'|i18n( 'design/admin/node/view/full' )}">{'Detailed'|i18n( 'design/admin/node/view/full' )}</a> 83 {/case} 84 {/switch} 85 </p> 86 </div> 87 88 <div class="break"></div> 89 90 </div> 91 </div> 92 93 {* Copying operation is allowed if the user can create stuff under the current node. *} 94 {set can_copy=$node.can_create} 95 96 {* Check if the current user is allowed to *} 97 {* edit or delete any of the children. *} 98 {section var=Children loop=$children} 99 {section show=$Children.item.can_remove} 100 {set can_remove=true()} 101 {/section} 102 {section show=$Children.item.can_edit} 103 {set can_edit=true()} 104 {/section} 105 {section show=$Children.item.can_create} 106 {set can_create=true()} 107 {/section} 108 {/section} 109 110 111 {* Display the actual list of nodes. *} 112 {switch match=ezpreference( 'admin_children_viewmode' )} 113 114 {case match='thumbnail'} 115 {include uri='design:children_thumbnail.tpl'} 116 {/case} 117 118 {case match='detailed'} 119 {include uri='design:children_detailed.tpl'} 120 {/case} 121 122 {case} 123 {include uri='design:children_list.tpl'} 124 {/case} 125 {/switch} 126 127 {* Else: there are no children. *} 128 {section-else} 129 130 <div class="block"> 131 <p>{'The current item does not contain any sub items.'|i18n( 'design/admin/node/view/full' )}</p> 132 </div> 133 134 {/section} 135 136 <div class="context-toolbar"> 137 {include name=navigator 138 uri='design:navigator/alphabetical.tpl' 139 page_uri=$node.url_alias 140 item_count=$children_count 141 view_parameters=$view_parameters 142 node_id=$node.node_id 143 item_limit=$number_of_items} 144 </div> 145 146 {* DESIGN: Content END *}</div></div></div> 147 148 149 {* Button bar for remove and update priorities buttons. *} 150 <div class="controlbar"> 151 152 {* DESIGN: Control bar START *}<div class="box-bc"><div class="box-ml"><div class="box-mr"><div class="box-tc"><div class="box-bl"><div class="box-br"> 153 154 <div class="block"> 155 {* Remove button *} 156 <div class="left"> 157 {section show=$can_remove} 158 <input class="button" type="submit" name="RemoveButton" value="{'Remove selected'|i18n( 'design/admin/node/view/full' )}" title="{'Remove the selected items from the list above.'|i18n( 'design/admin/node/view/full' )}" /> 159 {section-else} 160 <input class="button-disabled" type="submit" name="RemoveButton" value="{'Remove selected'|i18n( 'design/admin/node/view/full' )}" title="{'You do not have permissions to remove any of the items from the list above.'|i18n( 'design/admin/node/view/full' )}" disabled="disabled" /> 161 {/section} 162 </div> 163 164 <div class="right"> 165 {* Update priorities button *} 166 {section show=and( eq( $node.sort_array[0][0], 'priority' ), $node.can_edit, $children_count )} 167 <input class="button" type="submit" name="UpdatePriorityButton" value="{'Update priorities'|i18n( 'design/admin/node/view/full' )}" title="{'Apply changes to the priorities of the items in the list above.'|i18n( 'design/admin/node/view/full' )}" /> 168 {section-else} 169 <input class="button-disabled" type="submit" name="UpdatePriorityButton" value="{'Update priorities'|i18n( 'design/admin/node/view/full' )}" title="{'You can not update the priorities because you do not have permissions to edit the current item or because a non-priority sorting method is used.'|i18n( 'design/admin/node/view/full' )}" disabled="disabled" /> 170 {/section} 171 </div> 172 173 <div class="break"></div> 174 </div> 175 176 177 {* The "Create new here" thing: *} 178 <div class="block"> 179 {section show=$node.can_create} 180 <div class="left"> 181 <input type="hidden" name="NodeID" value="{$node.node_id}" /> 182 183 {let can_create_classes=fetch( content, can_instantiate_class_list, hash( group_id, array( ezini( 'ClassGroupIDs', 'Users', 'content.ini' ), ezini( 'ClassGroupIDs', 'Setup', 'content.ini' ) ), parent_node, $node, filter_type, exclude ) )} 184 185 {section show=$node.path_array|contains(ezini( 'NodeSettings', 'UserRootNode', 'content.ini' ) )} 186 {set can_create_classes=fetch( content, can_instantiate_class_list, hash( group_id, ezini( 'ClassGroupIDs', 'Users', 'content.ini' ), parent_node, $node ) )} 187 {/section} 188 189 {def $can_create_languages=fetch( content, prioritized_languages )} 190 191 {if ne( $can_create_languages|count, 1 )} 192 <script type="text/javascript"> 193 <!-- 194 {literal} 195 function updateLanguageSelector( classSelector ) 196 { 197 languageSelector = classSelector.form.ContentLanguageCode; 198 if ( !languageSelector ) 199 { 200 return; 201 } 202 203 classID = classSelector.value; 204 languages = languagesByClassID[classID]; 205 candidateIndex = -1; 206 207 for ( var index = 0; index < languageSelector.options.length; index++ ) 208 { 209 var value = languageSelector.options[index].value; 210 var disabled = true; 211 212 for ( var indexj = 0; indexj < languages.length; indexj ++ ) 213 { 214 if ( languages[indexj] == value ) 215 { 216 disabled = false; 217 break; 218 } 219 } 220 221 if ( !disabled && candidateIndex == -1 ) 222 { 223 candidateIndex = index; 224 } 225 226 languageSelector.options[index].disabled = disabled; 227 if ( disabled ) 228 { 229 languageSelector.options[index].style.color = '#888888'; 230 if ( languageSelector.options[index].text.substring( 0, 1 ) != '(' ) 231 { 232 languageSelector.options[index].text = '(' + languageSelector.options[index].text + ')'; 233 } 234 } 235 else 236 { 237 languageSelector.options[index].style.color = '#000000'; 238 if ( languageSelector.options[index].text.substring( 0, 1 ) == '(' ) 239 { 240 languageSelector.options[index].text = languageSelector.options[index].text.substring( 1, languageSelector.options[index].text.length - 1 ); 241 } 242 } 243 } 244 245 if ( languageSelector.options[languageSelector.selectedIndex].disabled ) 246 { 247 window.languageSelectorIndex = candidateIndex; 248 languageSelector.selectedIndex = candidateIndex; 249 } 250 } 251 252 function checkLanguageSelector( languageSelector ) 253 { 254 if ( languageSelector.options[languageSelector.selectedIndex].disabled ) 255 { 256 languageSelector.selectedIndex = window.languageSelectorIndex; 257 return; 258 } 259 window.languageSelectorIndex = languageSelector.selectedIndex; 260 } 261 262 window.onload = function() { updateLanguageSelector( document.getElementById( 'ClassID' ) ); } 263 {/literal} 264 265 languagesByClassID = new Array(); 266 {foreach $can_create_classes as $class} 267 languagesByClassID[{$class.id}] = [ {foreach $class.can_instantiate_languages as $tmp_language}'{$tmp_language}'{delimiter}, {/delimiter} {/foreach} ]; 268 {/foreach} 269 // --> 270 </script> 271 {/if} 272 273 {if and(eq( $can_create_languages|count, 1 ), is_set( $can_create_languages[0] ) )} 274 <select id="ClassID" name="ClassID" title="{'Use this menu to select the type of item you wish to create and click the "Create here" button. The item will be created within the current location.'|i18n( 'design/admin/node/view/full' )|wash()}"> 275 {else} 276 <select id="ClassID" name="ClassID" onchange="updateLanguageSelector(this)" title="{'Use this menu to select the type of item you wish to create and click the "Create here" button. The item will be created within the current location.'|i18n( 'design/admin/node/view/full' )|wash()}"> 277 {/if} 278 {section var=CanCreateClasses loop=$can_create_classes} 279 {if $CanCreateClasses.item.can_instantiate_languages} 280 <option value="{$CanCreateClasses.item.id}">{$CanCreateClasses.item.name|wash()}</option> 281 {/if} 282 {/section} 283 </select> 284 285 {if and(eq( $can_create_languages|count, 1 ), is_set( $can_create_languages[0] ) )} 286 <input name="ContentLanguageCode" value="{$can_create_languages[0].locale}" type="hidden"> 287 {else} 288 <script type="text/javascript"> 289 <!-- 290 document.writeln( '<select name="ContentLanguageCode" onchange="checkLanguageSelector(this)" title="{'Use this menu to select the language you wish use for the creation and click the "Create here" button. The item will be created within the current location.'|i18n( 'design/admin/node/view/full' )|wash()}">' ); 291 {foreach $can_create_languages as $tmp_language} 292 document.writeln( '<option value="{$tmp_language.locale|wash()}">{$tmp_language.name|wash()}<\/option>' ); 293 {/foreach} 294 document.writeln( '<\/select>' ); 295 --> 296 </script> 297 {/if} 298 {undef $can_create_languages} 299 {/let} 300 301 <input class="button" type="submit" name="NewButton" value="{'Create here'|i18n( 'design/admin/node/view/full' )}" title="{'Create a new item within the current location. Use the menu on the left to select the type of the item.'|i18n( 'design/admin/node/view/full' )}" /> 302 <input type="hidden" name="ContentNodeID" value="{$node.node_id}" /> 303 <input type="hidden" name="ContentObjectID" value="{$node.contentobject_id}" /> 304 <input type="hidden" name="ViewMode" value="full" /> 305 </div> 306 {section-else} 307 <div class="left"> 308 <select id="ClassID" name="ClassID" disabled="disabled"> 309 <option value="">{'Not available'|i18n( 'design/admin/node/view/full' )}</option> 310 </select> 311 <input class="button-disabled" type="submit" name="NewButton" value="{'Create here'|i18n( 'design/admin/node/view/full' )}" title="{'You do not have permissions to create new items within the current location.'|i18n( 'design/admin/node/view/full' )}" disabled="disabled" /> 312 </div> 313 {/section} 314 315 {* Sorting *} 316 <div class="right"> 317 <label>{'Sorting'|i18n( 'design/admin/node/view/full' )}:</label> 318 319 {let sort_fields=hash( 6, 'Class identifier'|i18n( 'design/admin/node/view/full' ), 320 7, 'Class name'|i18n( 'design/admin/node/view/full' ), 321 5, 'Depth'|i18n( 'design/admin/node/view/full' ), 322 3, 'Modified'|i18n( 'design/admin/node/view/full' ), 323 9, 'Name'|i18n( 'design/admin/node/view/full' ), 324 8, 'Priority'|i18n( 'design/admin/node/view/full' ), 325 2, 'Published'|i18n( 'design/admin/node/view/full' ), 326 4, 'Section'|i18n( 'design/admin/node/view/full' ) ) 327 title='You can not set the sorting method for the current location because you do not have permissions to edit the current item.'|i18n( 'design/admin/node/view/full' ) 328 disabled=' disabled="disabled"' } 329 330 {section show=$node.can_edit} 331 {set title='Use these controls to set the sorting method for the sub items of the current location.'|i18n( 'design/admin/node/view/full' )} 332 {set disabled=''} 333 {/section} 334 335 <select name="SortingField" title="{$title}"{$disabled}> 336 {section var=Sort loop=$sort_fields} 337 <option value="{$Sort.key}" {section show=eq( $Sort.key, $node.sort_field )}selected="selected"{/section}>{$Sort.item}</option> 338 {/section} 339 </select> 340 341 <select name="SortingOrder" title="{$title}"{$disabled}> 342 <option value="0"{section show=eq($node.sort_order, 0)} selected="selected"{/section}>{'Descending'|i18n( 'design/admin/node/view/full' )}</option> 343 <option value="1"{section show=eq($node.sort_order, 1)} selected="selected"{/section}>{'Ascending'|i18n( 'design/admin/node/view/full' )}</option> 344 </select> 345 346 <input {section show=$disabled}class="button-disabled"{section-else}class="button"{/section} type="submit" name="SetSorting" value="{'Set'|i18n( 'design/admin/node/view/full' )}" title="{$title}" {$disabled} /> 347 348 {/let} 349 350 351 </div> 352 353 <div class="break"></div> 354 355 </div> 356 357 {* DESIGN: Control bar END *}</div></div></div></div></div></div> 358 359 </div> 360 361 </form> 362 363 </div> 364 365 <!-- Children END --> 366 367 {/let} 368 </div>
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 |