Доброго времени суток. В этой статье речь пойдет о том как добавить нумерацию страниц блога, вот такого вида:
Преимущество данного гаджета заключается в том, что вашему читателю можно не просто клацать на “предыдущие” , а нажимать на определенный номер страницы блога.
Перед тем как начать устанавливать этот гаджет сохраните свой шаблон на всякий случай и можно приступать.
1.Зайдите в настройки блога, а именно Изменить Html и в шаблоне найдите следующий тэг:
]]></b:skin>И сразу перед ним вставьте следующий скрипт:
.showpageArea {padding: 0 2px;margin-bottom:10px;margin-top:10px;2. Добавляем Java скрипт. Найдите следующий скрипт:
}
.showpageArea a {border: 1px solid #505050;
color: #000000;font-weight:normal;
padding: 3px 6px !important;
padding: 1px 4px ;margin:0px 4px;
text-decoration: none;
}
.showpageArea a:hover {
font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
.showpageNum a {border: 1px solid #505050;
color: #000000;font-weight:normal;
padding: 3px 6px !important;
padding: 1px 4px ;margin:0px 4px;
text-decoration: none;
}
.showpageNum a:hover {
font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
.showpagePoint {font-size:11px;
padding: 2px 4px 2px 4px;
margin: 2px;
font-weight: bold;
border: 1px solid #333;
color: #fff;
background-color: #000000;
}
.showpage a:hover {font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
.showpageNum a:link,.showpage a:link {
font-size:11px;
padding: 2px 4px 2px 4px;
margin: 2px;
text-decoration: none;
border: 1px solid #0066cc;
color: #0066cc;
background-color: #FFFFFF;}
.showpageNum a:hover {font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
<b:section class=’main’ id=’main’ showaddelement=’yes’>И после тэга </b:section> вставьте следующий скрипт:
<b:widget id=’Blog1′ locked=’true’ title=’Blog Posts’ type=’Blog’/>
</b:section>
<script type='text/javascript'>В этом скрипте вы можете вносить изменения в следующие строки:
var home_page_url = location.href;
var pageCount=10;
var displayPageNum=6;
var upPageWord ='Previous';
var downPageWord ='Next';
function showpageCount(json) {
var thisUrl = home_page_url;
var htmlMap = new Array();
var thisNum = 1;
var postNum=1;
var itemCount = 0;
var fFlag = 0;
var eFlag = 0;
var html= '';
var upPageHtml ='';
var downPageHtml ='';
for(var i=0, post; post = json.feed.entry[i]; i++) {
var timestamp1 = post.published.$t.substring(0,19)+post.published.$t.substring(23,29);
timestamp = encodeURIComponent(timestamp1);
var title = post.title.$t;
if(title!=''){
if(itemCount==0 || (itemCount % pageCount ==(pageCount-1))){
if(thisUrl.indexOf(timestamp)!=-1 ){
thisNum = postNum;
}
if(title!='') postNum++;
htmlMap[htmlMap.length] = '/search?updated-max='+timestamp+'&max-results='+pageCount;
}
}
itemCount++;
}
for(var p =0;p< htmlMap.length;p++){
if(p>=(thisNum-displayPageNum-1) && p<(thisNum+displayPageNum)){
if(fFlag ==0 && p == thisNum-2){
if(thisNum==2){
upPageHtml = '<span class="showpage"><a href="/">'+ upPageWord +'</a></span>';
}else{
upPageHtml = '<span class="showpage"><a href="'+htmlMap[p]+'">'+ upPageWord +'</a></span>';
}
fFlag++;
}
if(p==(thisNum-1)){
html += '<span class="showpagePoint">'+thisNum+'</span>';
}else{
if(p==0){
html += '<span class="showpageNum"><a href="/">1</a></span>';
}else{
html += '<span class="showpageNum"><a href="'+htmlMap[p]+'">'+ (p+1) +'</a></span>';
}
}
if(eFlag ==0 && p == thisNum){
downPageHtml = '<span class="showpage"> <a href="'+htmlMap[p]+'">'+ downPageWord +'</a></span>';
eFlag++;
}
}
}
if(thisNum>1){
html = ''+upPageHtml+' '+html +' ';
}
html = '<div class="showpageArea"><span style="COLOR: #000;" class="showpageOf"> Pages ('+(postNum-1)+')</span>'+html;
if(thisNum<(postNum-1)){
html += downPageHtml;
}
if(postNum==1) postNum++;
html += '</div>';
var pageArea = document.getElementsByName("pageArea");
var blogPager = document.getElementById("blog-pager");
if(postNum <= 2){
html ='';
}
for(var p =0;p< pageArea.length;p++){
pageArea[p].innerHTML = html;
}
if(pageArea&&pageArea.length>0){
html ='';
}
if(blogPager){
blogPager.innerHTML = html;
}
}
function showpageCount2(json) {
var thisUrl = home_page_url;
var htmlMap = new Array();
var isLablePage = thisUrl.indexOf("/search/label/")!=-1;
var thisLable = isLablePage ? thisUrl.substr(thisUrl.indexOf("/search/label/")+14,thisUrl.length) : "";
thisLable = thisLable.indexOf("?")!=-1 ? thisLable.substr(0,thisLable.indexOf("?")) : thisLable;
var thisNum = 1;
var postNum=1;
var itemCount = 0;
var fFlag = 0;
var eFlag = 0;
var html= '';
var upPageHtml ='';
var downPageHtml ='';
var labelHtml = '<span class="showpageNum"><a href="/search/label/'+thisLable+'?&max-results='+pageCount+'">';
var thisUrl = home_page_url;
for(var i=0, post; post = json.feed.entry[i]; i++) {
var timestamp1 = post.published.$t.substring(0,19)+post.published.$t.substring(23,29);
timestamp = encodeURIComponent(timestamp1);
var title = post.title.$t;
if(title!=''){
if(itemCount==0 || (itemCount % pageCount ==(pageCount-1))){
if(thisUrl.indexOf(timestamp)!=-1 ){
thisNum = postNum;
}
if(title!='') postNum++;
htmlMap[htmlMap.length] = '/search/label/'+thisLable+'?updated-max='+timestamp+'&max-results='+pageCount;
}
}
itemCount++;
}
for(var p =0;p< htmlMap.length;p++){
if(p>=(thisNum-displayPageNum-1) && p<(thisNum+displayPageNum)){
if(fFlag ==0 && p == thisNum-2){
if(thisNum==2){
upPageHtml = labelHtml + upPageWord +'</a></span>';
}else{
upPageHtml = '<span class="showpage"><a href="'+htmlMap[p]+'">'+ upPageWord +'</a></span>';
}
fFlag++;
}
if(p==(thisNum-1)){
html += '<span class="showpagePoint">'+thisNum+'</span>';
}else{
if(p==0){
html = labelHtml+'1</a></span>';
}else{
html += '<span class="showpageNum"><a href="'+htmlMap[p]+'">'+ (p+1) +'</a></span>';
}
}
if(eFlag ==0 && p == thisNum){
downPageHtml = '<span class="showpage"> <a href="'+htmlMap[p]+'">'+ downPageWord +'</a></span>';
eFlag++;
}
}
}
if(thisNum>1){
if(!isLablePage){
html = ''+upPageHtml+' '+html +' ';
}else{
html = ''+upPageHtml+' '+html +' ';
}
}
html = '<div class="showpageArea"><span style="COLOR: #000;" class="showpageOf"> Pages ('+(postNum-1)+')</span>'+html;
if(thisNum<(postNum-1)){
html += downPageHtml;
}
if(postNum==1) postNum++;
html += '</div>';
var pageArea = document.getElementsByName("pageArea");
var blogPager = document.getElementById("blog-pager");
if(postNum <= 2){
html ='';
}
for(var p =0;p< pageArea.length;p++){
pageArea[p].innerHTML = html;
}
if(pageArea&&pageArea.length>0){
html ='';
}
if(blogPager){
blogPager.innerHTML = html;
}
}
</script>
<script type='text/javascript'>
var thisUrl = home_page_url;
if (thisUrl.indexOf("/search/label/")!=-1){
if (thisUrl.indexOf("?updated-max")!=-1){
var lblname1 = thisUrl.substring(thisUrl.indexOf("/search/label/")+14,thisUrl.indexOf("?updated-max"));
}else{
var lblname1 = thisUrl.substring(thisUrl.indexOf("/search/label/")+14,thisUrl.indexOf("?&max"));
}
}
var home_page = "/";
if (thisUrl.indexOf("?q=")==-1 && thisUrl.indexOf(".html")==-1){
if (thisUrl.indexOf("/search/label/")==-1){
document.write('<script src="'+home_page+'feeds/posts/summary?alt=json-in-script&callback=showpageCount&max-results=99999" ><\/script>')
}else{document.write('<script src="'+home_page+'feeds/posts/full/-/'+lblname1+'?alt=json-in-script&callback=showpageCount2&max-results=99999" ><\/script>')
}
}
</script>
- var pageCount=10; (Изменяет количество статей на одной странице. Число должно совпадать с числом в настройках блоггера, которые вы можете найти в Настройках/форматирование)
- var displayPageNum=6; (Количество номеров страниц отображаемых на странице)
- var upPageWord ='Previous'; (переименуйте например на “предыдущие” либо другое нравящееся вам слово
- var downPageWord ='Next'; (переименуйте на “новые статьи”, “следующие”…)
3. Для того чтобы гаджет работал корректно необходимо зайти в настройки Дизайн/Элементы страницы и в любом месте добавить гаджет “Ярлыки”.
Затем зайти в настройки HTML и найти следующий код:
<a expr:dir=’data:blog.languageDirection’ expr:href=’data:label.url’><data:label.name/></a>и замените его следующим скриптом:
<script type='text/javascript'>
var lblname = "<data:label.name/>";
lblname2 = encodeURIComponent(lblname);Нажмите сохранить и все готово.
var feedlink = '/search/label/' + lblname2+'?&max-results=10';
document.write('<a href="' + feedlink + '">'+lblname+'</a>');
</script>
26 комментариев:
Хорошая штука. Надо будет попробовать поставить. А то и впрямь неудобно кликать по "предыдущим". И спасибо за статью про ошибки FeedBurner.
Не могу заменить на скрипт, получаю ошибки
или я не тот код нашла, беру, который вначале
А в приведённом в статье скрипте ничего не нужно менять под себя?
В скрипте на свое менять ничего не надо! В теле шаблона, второй (длинный скрипт) необходимо вставить после тэга </b:section> однако таких тэгов в теле шаблона может быть несколько, вам же необходимо его вставить в том месте где перед этим тэгом идет Тэг " Сообщения блога" , он выглядит примерно так: <b:widget id='Blog1' locked='true' title='СообÑ�ениÑ� блога' type='Blog'>
В статье приведен тэг Blog post вместо Сообщения блога, возможно поэтму вы не туда вставляли скрипт!!!
Вместо СообÑ�ениÑ� блога , я хотел там написать " Сообщения блога"
И еще, после того как вставили второй скрипт, сохраняйте шаблон!!!
И очень важно правильно выполнить замену скрипта описанного в конце статьи. Не забудьте добавить гаджет ярлики перед этим. Ищите скрипт для замены по тэгу :
<a expr:dir
Так как приведенный в статье тэг может встречаться немного в другом расположении.
Ну и еще может быть так, что вы скопировали скрипт которым необходимо заменить :
<a expr:dir=�data:blog.languageDirection� expr:href=�data:label.url�><data:label.name/></a>
не полностью, так как в статье выделены кавычками только две строчки по ошибке, а надо брать все ,вот в таком виде:
<script type='text/javascript'>
var lblname = "<data:label.name/>";
lblname2 = encodeURIComponent(lblname);
var feedlink = '/search/label/' + lblname2+'?&max-results=10';
document.write('<a href="' + feedlink + '">'+lblname+'</a>');
</script>
Так же можете скинуть название вашего шаблона, если в очередной раз не получится, и мы попробуем разобраться!=)
Здравствуйте, замену скрипта, который в конце статьи не произвела. код немного другой у меня.
но задуманное работает, возможно далее и будет некорректно, но пока 2 стр отображает.
спасибо за подробности.
шаблон:
Blogger Template Style
Name: Watermark
Designer: Josh Peterson
URL: www.noaesthetic.com
Главное что работает=)
Ничего не понял((вот я добавил скрипт в html...
и у меня есть например страница в ней несколько статей и как мне их разделить чтоб они шли 1 страница 2 3 и т.д..
Делить будет автоматически! в зависимости от того сколько у вас в настройках установлено показывать статей на одной странице.
В этой строчке вы устанавливаете сколько статей должно отображаться на одной странице: var pageCount=10
Оно должно совпадать с количеством установленным в настройках блоггер, а именно в настройках/форматирование.
у меня нету кода
и можно ли зделать номерацыю в ярлыках..
или ходябы штоб показывало меньше статей
а как сделать номерацыю в ярлыках?у меня там все в кучу получается на 1 страницу
Не работает
Основное сделала - шаблон сохранила - далее ...Ярлыки у меня уже есть в блоге - даже в двух местах. Значит новые мне делать не нужно?
Вообщем ищу в шаблоне скрипт
чтоб заменить - НО НЕ НАХОЖУ :( Может его и нету
Опишите подробнее какие процедуры вы делаете и чего хотите добиться и я попробую решить ваши проблемы.
Здравствуйте, возник вопрос по поводу последнего шага - замены скрипта. Не нахожу указанного вами текста. У меня есть вот такой - оно ли это?
http://1.bp.blogspot.com/-3lCxrn1aK-Y/TdxILrvMb8I/AAAAAAAAAiM/bw3T6YgM8sY/s1600/code.jpg
извините, что вставляю картинку - код не принимается в комментах почему-то
Пока не сделала эту часть, но странички работают. Еще хотелось бы цвета подогнать под свой дизайн, но это я, наверное, уже много хочу =)
Дайте ссылку на блог ваш я гляну.
http://jasminolya.blogspot.com/ методом тыка цвета попыталась подогнать )))
у меня тоже самое, в конце ни как не могу найти скрипт.Но в отличии от других у меня ничего не получается.Помагите пожалуйста!
Доброго времени суток Лагунов Сергей. Ваш сайт оказался для меня очень полезным. Вот в который раз попробовал внести изменения в блог, правда у меня нет ещё блога я пока создал пробный чтобы на нём тренироваться и всё понять, с нумерацией страниц, всё вроде получилось кроме одного, у меня на странице должно быть только семь постов, не меньше, если их меньше, то тогда оно ничего не показывает пишет что ничего не найдено, а если семь, то всё нормально. Что мне делать? Вот собственно можете и посмотреть http://sunny-aktualno.blogspot.com/
Хорошо у вас все получилось, создали аккуратный блог и красиво пристроили нумерацию страниц.
Ещё раз доброго времени суток Лагунов Сергей. Вы не поняли. Нумерация страниц не совсем корректно работает. Допустим, что у мне в блоге 15 статей, а на странице должно показывать семь, и соответственно должно быть три страницы. Когда переходишь на первые две страницы статьи показываются, а когда переходишь на третью то последней статьи нет, оно выдаёт что ничего не найдено, хотя на третей странице должна быть ещё одна статья. Что мне делать?
Здравствуйте, Сергей! Огромное спасибо за Ваш труд и помощь, Вы такой молодец!))
Нумерацию я сделала (правда, скрипт, который должен начинаться на <a expr:dir не заменила, т.к. в моем шаблоне он выглядит совсем по-другому, - но нумерация, к моему глубокому изумлению, появилась). Теперь вопросик - как поменять, так скажем, дизайн этой самой нумерации? Я имею в виду, шрифт, цвет, размер и прочее. Очень-очень надеюсь на Вашу помощь, заранее спасибо!
не могу тоже никак найти скрипт((
1352 раза пробовал не получилось
что делать?
Отправить комментарий
Оставляйте ваши комментарии