Changeset 2362
- Timestamp:
- May 29, 2008, 12:39:06 AM (16 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/config_default.inc.php
r2339 r2362 567 567 // CSS class tagLevelX. 568 568 $conf['tags_levels'] = 5; 569 570 // tags_default_display_mode: group tags by letter or display a tag cloud by 571 // default? 'letters' or 'cloud'. 572 $conf['tags_default_display_mode'] = 'cloud'; 573 574 // tag_letters_column_number: how many columns to display tags by letter 575 $conf['tag_letters_column_number'] = 4; 569 576 570 577 // +-----------------------------------------------------------------------+ -
trunk/tags.php
r2299 r2362 59 59 $template->set_filenames(array('tags'=>'tags.tpl')); 60 60 61 $page['display_mode'] = $conf['tags_default_display_mode']; 62 if (isset($_GET['display_mode'])) 63 { 64 if (in_array($_GET['display_mode'], array('cloud', 'letters'))) 65 { 66 $page['display_mode'] = $_GET['display_mode']; 67 } 68 } 69 70 $template->assign( 71 array( 72 'U_CLOUD' => get_root_url().'tags.php?display_mode=cloud', 73 'U_LETTERS' => get_root_url().'tags.php?display_mode=letters', 74 'display_mode' => $page['display_mode'], 75 ) 76 ); 77 78 // find all tags available for the current user 79 $tags = get_available_tags(); 80 81 // +-----------------------------------------------------------------------+ 82 // | letter groups construction | 83 // +-----------------------------------------------------------------------+ 84 85 if ($page['display_mode'] == 'letters') { 86 // we want tags diplayed in alphabetic order 87 usort($tags, 'name_compare'); 88 89 $current_letter = null; 90 $is_first_tag = true; 91 $nb_tags = count($tags); 92 $current_column_tags = 0; 93 94 $letter = array( 95 'tags' => array() 96 ); 97 98 foreach ($tags as $tag) 99 { 100 $tag_letter = strtoupper(substr($tag['name'], 0, 1)); 101 102 if ($is_first_tag) { 103 $current_letter = $tag_letter; 104 $letter['TITLE'] = $tag_letter; 105 $is_first_tag = false; 106 } 107 108 //lettre precedente differente de la lettre suivante 109 if ($tag_letter !== $current_letter) 110 { 111 if ($current_column_tags > $nb_tags/$conf['tag_letters_column_number']) 112 { 113 $letter['CHANGE_COLUMN'] = true; 114 $current_column_tags = 0; 115 } 116 117 $letter['TITLE'] = $current_letter; 118 119 $template->append( 120 'letters', 121 $letter 122 ); 123 124 $current_letter = $tag_letter; 125 $letter = array( 126 'tags' => array() 127 ); 128 } 129 130 array_push( 131 $letter['tags'], 132 array( 133 'URL' => make_index_url( 134 array( 135 'tags' => array($tag), 136 ) 137 ), 138 'NAME' => $tag['name'], 139 'COUNTER' => $tag['counter'], 140 ) 141 ); 142 143 $current_column_tags++; 144 } 145 146 // flush last letter 147 if (count($letter['tags']) > 0) 148 { 149 $letter['CHANGE_COLUMN'] = false; 150 $letter['TITLE'] = $current_letter; 151 $template->append( 152 'letters', 153 $letter 154 ); 155 } 156 } 157 61 158 // +-----------------------------------------------------------------------+ 62 159 // | tag cloud construction | 63 160 // +-----------------------------------------------------------------------+ 64 65 // find all tags available for the current user66 $tags = get_available_tags();67 161 68 162 // we want only the first most represented tags, so we sort them by counter -
trunk/template/yoga/default-layout.css
r2352 r2362 269 269 border: none; 270 270 } 271 272 TR.tagLine { 273 border-bottom: 1px solid #ddd; 274 text-align: left; 275 } 276 TR.tagLine:hover { 277 background-color: #fff; 278 } 279 TD.nbEntries { 280 text-align: right; 281 font-style: italic; 282 font-size: 90%; 283 } 284 285 FIELDSET.tagLetter { 286 border: 1px solid #d3d3d3; 287 width: 200px; 288 margin: 0.5em; 289 padding: 10px; 290 } 291 292 LEGEND.tagLetterLegend { 293 border: 1px solid #d3d3d3; 294 font-size:120%; 295 font-weight: bold; 296 padding: 0 5px; 297 color: #555; 298 font-style: normal; 299 } 300 301 TABLE.tagLetterContent { 302 width:100%; 303 font-size:80%; 304 border-collapse : collapse; 305 } -
trunk/template/yoga/tags.tpl
r2352 r2362 4 4 <div class="titrePage"> 5 5 <ul class="categoryActions"> 6 {if $display_mode == 'letters'} 7 <li><a href="{$U_CLOUD}" title="{'show tag cloud'|@translate}"><img src="{$themeconf.icon_dir}/tag_cloud.png" class="button" alt="{'cloud'|@translate}"/></a></li> 8 {/if} 9 10 {if $display_mode == 'cloud'} 11 <li><a href="{$U_LETTERS}" title="{'group by letters'|@translate}"><img src="{$themeconf.icon_dir}/tag_letters.png" class="button" alt="{'letters'|@translate}"/></a></li> 12 {/if} 13 6 14 <li><a href="{$U_HOME}" title="{'return to homepage'|@translate}"><img src="{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li> 7 15 </ul> … … 9 17 </div> 10 18 11 {if isset($tags)} 19 {if isset($tags)} 20 {if $display_mode == 'cloud'} 12 21 <ul id="fullTagCloud"> 13 22 {foreach from=$tags item=tag} … … 17 26 {/if} 18 27 28 {if $display_mode == 'letters'} 29 <table> 30 <tr> 31 <td valign="top"> 32 {foreach from=$letters item=letter} 33 <fieldset class="tagLetter"> 34 <legend class="tagLetterLegend">{$letter.TITLE}</legend> 35 <table class="tagLetterContent"> 36 {foreach from=$letter.tags item=tag} 37 <tr class="tagLine"> 38 <td><a href="{$tag.URL}">{$tag.NAME}</a></td> 39 <td class="nbEntries"><strong>{$tag.COUNTER}</strong> {'photos'|@translate}</td> 40 </tr> 41 {/foreach} 42 </table> 43 </fieldset> 44 {if $letter.CHANGE_COLUMN} 45 </td> 46 <td valign="top"> 47 {/if} 48 {/foreach} 49 </td> 50 </tr> 51 </table> 52 {/if} 53 {/if} 54 19 55 </div> <!-- content -->
Note: See TracChangeset
for help on using the changeset viewer.