English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

24 сент. 2010 г.

Настраиваем свой блог на Blogger.com. Создаем облако тегов.

   Всем привет!!! В этой статье я расскажу как добавить облако тегов в ваш блог на Blogger.com.




Добавляем облако тегов:

  1. Войдите в свой аккаунт на Blogger.com, Перейдите на вкладку  "Дизайн" -> "Элементы страницы". Нажмите "Добавить гаджет" и в списке гаджетов выберите "Ярлыки". Добавьте данный гаджет в свой блог без всяких изменений.
  2. Перейдите на вкладку "Изменить HTML"Выберете "загрузить весь шаблон", чтобы сохранить текущую версию шаблона. Это нужно для того чтобы если что-то пойдет не так,  вы всегда могли восстановить старую версию шаблона.
  3. Найдите в шаблоне следующий тег "]]>" и прямо перед ним вставьте следующий код:
  4. #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}
    
  5. Следующий код настраивает параметры облака тегов, его необходимо вставить после тегов "]]>" "</b:skin>":
  6. <script type='text/javascript'>
    // Пользовательские настройки облака тегов
    var cloudMin = 1;
    var maxFontSize = 21;
    var maxColor = [79,148,205];
    var minFontSize = 11;
    var minColor = [180,205,205];
    var lcShowCount = false;
    </script>
    
  7. Теперь нужно изменить гаджет "Ярлыки". Для этого найдите в коде объявление данного гаджета, это  строка примерно такого вида:
  8. <b:widget id='Label2' locked='false' title='Ярлыки' 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>
    
  9. Теперь сохраните изменения и просмотрите полученный результат. Если облако тегов не появилось, то скорее всего вы где-то допустили ошибку, попробуйте проделать данные шаги ещё раз.

Описание параметров облака тегов:

  • cloudMin = 1; - количество повторений ярлыка в статьях, требуемых чтобы включить данный ярлык в облако тегов. В данном случае в облако включаются все ярлыки которые использовались хотя бы в одной статье.
  • maxFontSize и maxColor - задают цвет и размер соответственно, для ярлыков которые повторяются чаще всего.
  • minFontSize и minColor - задают цвет и размер соответственно, для ярлыков которые повторяются реже всего. Все остальные ярлыки принимают промежуточное значение между этими цветами и размерами, в зависимости от количества их повторений.
  • lcShowCount = false; - если значение = "false" - то количество повторений каждого ярлыка не отображается в облаке тегов, если = "true", то отображается.
На этом всё, и до встречи в следующих постах:)

Комментариев нет:

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