Облако тегов на Blogger

Облако тегов на Blogger

Этот хак - удобная вещь для блога.

Посетитель, который приходит на ваш блог сразу видит, на какую тему написано больше постов.

Такая организация тегов экономит место на странице и просто это выгледит красиво.

Чтобы добавить на свой блог виджет "Облако тегов" перейдите по ссылке которая расположены ниже


Установка облака тегов (Инструкция)

Комментарии и вопросы вы можете задать в первоночальном посте(ссылка расположена ниже)
Облако тегов для Blogger

Приступим к раблоте...
Чтобы добавить облако тегов в свой блог нужно выполнить не сколько действий:



Перейдите в Настройки блога > Макет >

Затем перейдите по ссылке: "Добавить гаджет"

Добавьте виджет "Ярлыки"

Теперь перейдите в вкладку Макет> Изменить HTML

Найдите в шаблоне тег
]]></b:skin>

Перед ним вставьте код расположеный ниже:



/* Label Cloud Styles
----------------------------------------------- */
#labelCloud {text-align:center;font-family:arial,sans-serif;}
#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}
#labelCloud ul{list-style-type:none;margin:0 auto;padding:0;}
#labelCloud a img{border:0;display:inline;margin:0 0 0 3px;padding:0}
#labelCloud a{text-decoration:none}
#labelCloud a:hover{text-decoration:underline}
#labelCloud li a{}
#labelCloud .label-cloud {}
#labelCloud .label-count {padding-left:0.2em;font-size:9px;color:#000}
#labelCloud .label-cloud li:before{content:"" !important}




Теперь найдите следующий код

]]></b:skin>

Сразу после него, но перед этим тегом </head> вставьте скрипт расположеный ниже:

<script type='text/javascript'>
// Label Cloud User Variables
var cloudMin = 1;
var maxFontSize = 20;
var maxColor = [0,0,255];
var minFontSize = 10;
var minColor = [0,0,0];
var lcShowCount = false;
</script>



Сейчас вы должны будете выполнить самую ответственную операцию
Проверьте галочку "Расширить шаблоны виджета", она должна быть не нажата
Найдите код примерно похожий на этот:

<b:widget id='Label1' locked='false' title='Labels' type='Label'/>


Замените его на следующий:


<b:widget id='Label1' locked='false' title='Label Cloud' type='Label'>
<b:includable id='main'>
  <b:if cond='data:title'>
    <h2><data:title/></h2>
  </b:if>

  <div class='widget-content'>
  <div id='labelCloud'/>
<script type='text/javascript'>

// Don't change anything past this point -----------------
// Cloud function s() ripped from del.icio.us
function s(a,b,i,x){
      if(a&gt;b){
          var m=(a-b)/Math.log(x),v=a-Math.floor(Math.log(i)*m)
             }
      else{
          var m=(b-a)/Math.log(x),v=Math.floor(Math.log(i)*m+a)
          }
      return v
   }


var c=[];
var labelCount = new Array();
var ts = new Object;
<b:loop values='data:labels' var='label'>
var theName = &quot;<data:label.name/>&quot;;
ts[theName] = <data:label.count/>;
</b:loop>

for (t in ts){
     if (!labelCount[ts[t]]){
           labelCount[ts[t]] = new Array(ts[t])
           }
        }
var ta=cloudMin-1;
tz = labelCount.length - cloudMin;
lc2 = document.getElementById('labelCloud');
ul = document.createElement('ul');
ul.className = 'label-cloud';
for(var t in ts){
    if(ts[t] &lt; cloudMin){
       continue;
       }
    for (var i=0;3 &gt; i;i++) {
             c[i]=s(minColor[i],maxColor[i],ts[t]-ta,tz)
              }    
         var fs = s(minFontSize,maxFontSize,ts[t]-ta,tz);
         li = document.createElement('li');
         li.style.fontSize = fs+'px';
         li.style.lineHeight = '1';
         a = document.createElement('a');
         a.title = ts[t]+' Posts in '+t;
         a.style.color = 'rgb('+c[0]+','+c[1]+','+c[2]+')';
         a.href = '/search/label/'+encodeURIComponent(t);
         if (lcShowCount){
             span = document.createElement('span');
             span.innerHTML = '('+ts[t]+') ';
             span.className = 'label-count';
             a.appendChild(document.createTextNode(t));
             li.appendChild(a);
             li.appendChild(span);
             }
          else {
             a.appendChild(document.createTextNode(t));
             li.appendChild(a);
             }
         ul.appendChild(li);
         abnk = document.createTextNode(' ');
         ul.appendChild(abnk);
    }
  lc2.appendChild(ul);  
</script>

<noscript>
    <ul>
    <b:loop values='data:labels' var='label'>
      <li>
        <b:if cond='data:blog.url == data:label.url'>
          <data:label.name/>
        <b:else/>
          <a expr:href='data:label.url'><data:label.name/></a>
        </b:if>
        (<data:label.count/>)
      </li>
    </b:loop>
    </ul>
</noscript>
    <b:include name='quickedit'/>
  </div>

</b:includable>
</b:widget>


Теперь у вас создан виджет "Облако Тегов"
Но это не всё, его можно приукрасить Это очень просто если вы знакомы с Javascript
var maxFontSize = 20;  - Эта строчка скрипта задаёт размер шрифта самого большого тега
var maxColor = [0,0,255];  - Эта строчка задаёт цвет самому блольшому тегу
var minFontSize = 10;  - Эта строчка скрипта задаёт размер шрифта самого маленького тега
var minColor = [0,0,0];  - Эта строчка задаёт цвет самого маленького тега

Но если вы не можете подобрать цвета для своего облака тегов, готов вам продемонстрировать свою галерею:

Галерея дизайнов Облака Тегов для Blogger

3 коммент:

Русик (младший) комментирует...
Хорошо, такая организация тегов экономит место на странице. Надо бы воспользоваться. А как реализовать, что-бы все теги были одинакового размера, я имею ввиду шрифт. И еще, я где то видел облако, но это уже java скрипт был, где теги как облака плавали. Пример такого скрипта нигде не попадался? Вот его бы поставить.
Вячеслав комментирует...
Русик, то, что ты называешь облако с плавающими тегами называется flash облако тегов. Я стараюсь не использовать всё, что связано с языком flash. Те, кто имеют броузеры IE, блокируют такие приложения. IE расценивает flash приложения расцениваются как ActiveX.
Русик (младший) комментирует...
Я в Firefoxe тоже блокирую, но все равно красиво :-) Можно часами его крутить. Кстати я нашел пример, но ставить не стал потому, что сам java файл надо куда-то ложить, и к нему код прикручивать. В блоггере не нашел куда можно, а на сторону не хочется.

____________________________________________________________________________________________________









____________________________________________________________________________________________________
Похожие по тематике статьи :
*

0 коммент.:

Отправить комментарий

Комментировать...