понедельник, 20 декабря 2010 г.
Share/Bookmark

Большие перемены. Часть 2

В предыдущей статье я описал некоторые изменения в дизайне блога, но описал далеко не все изменениях, в этой статье я продолжу.


Облако тегов
Не буду описывать что это такое, для чего оно нужно и так далее, а только напишу как его немного модифицировать. Для начала заходим в блог раздел «Шаблон», выбираем меню «Элементы страницы». И создаем новый элемент типа «Ярлыки». Хотя, в принципе, это можно сделать и после модификации облака тегов. Далее заходим пункт меню «Изменить HTML». Метку в верхнем правом углу «расширить шаблоны виджета» отставляем неизменной – это несколько упростит работу:) Итак, теперь приступим непосредственно к правке кода, которая состоит из трех частей.

Первое. Первую часть кода необходимо добавить в секцию стилей, которая отмечена тегами . Чтобы особо не вникать в структуру шаблона, другими словами – находим место в шаблоне ]]> и размещаем код до него:



/* 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}

Второе. Следующая часть кода – есть настройка некоторых параметров облака, она также идет в блоке шаблона, но уже вне секции стилей, то есть снова находим в шаблоне ]]>, но вставляем код ПОСЛЕ этого тега, но ПЕРЕД закрывающим тегом .

<script type='text/javascript'>
// Label Cloud User Variables
var cloudMin = 1;
var maxFontSize = 21;
var maxColor = [79,148,205];
var minFontSize = 11;
var minColor = [180,205,205];
var lcShowCount = false;
</script>

Три. Теперь займемся модификаций виджета «Ярлыки». Находим в шаблоне место (или подобное ему – ищите по значениям id, type)

<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>
Теперь опишу некоторые параметры для настройки:
var cloudMin= 1; \\ Позволяет ограничить число тегов в облаке – параметр указывает количество повторений, требуемых для включения тега в облако.
maxFontSize, maxColor \\ задают размер шрифта и цвет для тега, который встречается в облаке наиболее часто.
minFontSize, minColor \\ Аналагично с точностью до наоборот.

Вот пожалуй и всё про теги.


Обновление - "Читать далее"
В blogger есть функция, с помощью которой на главной странице будет отображен не весь текст, а только его часть, та часть которую захотите вы показать, а остальная часть текст будет отображена после нажатия ссылки "читать далее".
Так вот что бы это сделать достаточно:
1. Зайти в Панель инструментов - Дизайн - Изменить Html
2. На всякий случай сделать резервную копию шаблона.
3. Ставите галочку на "Расширить шаблоны виджета"
4. Находим строчку <data:post.body/> и меняем её на код
<script type='text/javascript'>
summary_noimg = 430;
summary_img = 340;
img_thumb_height = 100;
img_thumb_width = 120;
</script>
<script src='http://blogger4you.narod.ru/JavaScript/summary-post.js' type='text/javascript'/>
<b:if cond='data:blog.pageType != &quot;item&quot;'>
<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
<div expr:id='&quot;summary&quot; + data:post.id'><data:post.body/></div>
<script type='text/javascript'>createSummaryAndThumb(&quot;summary<data:post.id/>&quot;);</script>
<span class='rmlink' style='float:right'><a expr:href='data:post.url'>Читать далее</a></span>
</b:if></b:if>
<b:if cond='data:blog.pageType == &quot;static_page&quot;'><data:post.body/></b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'><data:post.body/></b:if>
5. Всё готово, нажимаете - просмотр, если всё в порядке сохраняете, если нет, еще те ошибку.
6. Некоторые параметры:
summary_noimg = 430; - количество знаков summary если нет картинки.
summary_img = 340; - количество знаков summary если картинка есть.
img_thumb_height = 100; высота thumbnail (миниатюрной картинки)
img_thumb_width = 120; и ширина thumbnail (миниатюрной картинки)

7. Слова "Читать далее" можна заменить, либо заменить на картинку:
Вместо Слова вставляем : <img src="http://адрес вашей картинки" alt="Читать далее"/>
Вот наверное и всё, на этом я закончу, далее пойдут действительно интересные статьи.

0 комментариев:

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