четверг, 19 марта 2009 г.

Страница "Оглавление" для блога

Оглавление
специальная отдельная страница, содержащая список заголовков постов блога.


Если Ваш блог — кладезь полезной информации, например является пособием, то ему необходима страница оглавления для быстрого знакомства читателей с содержанием блога. Конечно же, имеется гаджет "Архив блога", но этот гаджет не совсем удобен в качестве оглавления. Гораздо удобнее просматривать отдельную страницу блога со списком всех заголовков постов.




Для создания страницы "Оглавление" необходимо внести небольшие изменения в шаблон блога:

Перед внесением изменений в шаблон целесообразно сохранить его.

  1. Перейдите на Панель управления блогом
  2. Затем перейдите на вкладку Макет
  3. Теперь перейдите на Изменить HTML
  4. Поставьте галочку Расширить шаблоны виджета
  5. Найдите в HTML-коде шаблона следующий код:
    <b:include data='post' name='post'/>

  6. Замените этот код следующим кодом:

    <b:if cond='data:blog.homepageUrl !=
    data:blog.url'>
    <b:if cond='data:blog.pageType != "item"'>
    <b:if cond='data:blog.pageType != "static_page"'>
    <a expr:href='data:post.url'>
    <div style="padding:6px 0 6px 5px;border-right:1px solid #ccc;border-bottom:1px solid #ccc;margin-bottom:2px;background:#EAE9E9;color:#406A0E;">
    <data:post.title/></div></a>
    <b:else/>
    <b:include data='post' name='post'/>
    </b:if>
    <b:else/>
    <b:include data='post' name='post'/>
    </b:if>
    <b:else/>
    <b:include data='post' name='post'/>
    </b:if>

  7. Сохраните шаблон



Теперь необходимо поместить на боковую панель блога (sidebar) ссылку вида:

http://your_blog.blogspot.com/search?max-results=200

Числовой параметр переменной max-results указывает количество заголовков постов на одной странице. Для вставки ссылки можно использовать гаджет "HTML/JavaScript".


34 коммент.:

Злюка-Клюка комментирует...

не хватает картинки самого оглавления

IvanXP комментирует...

Обратите внимания на панель ссылок под рекламным баннером "OZON". Перейдите по ссылке Оглавление и сразу станет понятно, как будет выглядеть оглавление. Картинка не нужна.

a13x4ndr комментирует...

Не сразу въехал, что имеется ввиду. Идея хорошая, одобрям-с!

Larri комментирует...

Отличная вещь, спасибо.
А max-results - это количество ссылок на странице? То есть если на блоге 40 сообщений и задан параметр 10, то разобьет на 4 страницы?

IvanXP комментирует...

Да, Larri, это количество ссылок на странице. Исправил пост с уточнением значения переменной max-results.

web-pilot комментирует...

Очень полезная штука! Давно задумывался над тем, как бы сделать что-то подобное на блоге!Ранее встречал у других блоггеров, но не знал, как сделать... На днях "повешу" у себя. Спасибо!

blogger4you комментирует...

По-моему здорово!!!

Надо будет где-нибудь попробовать! :)))

Спасибо,
Света

Larri комментирует...

Иван, еще вопрос. Нельзя ли сделать так, чтобы при пролистывании страниц (предыдущие/следующие) открывались сами посты, а не часть оглавления? Не то что бы сильно мешает, но все же...

IvanXP комментирует...

Нет, пока это не возможно. Этот трюк полностью изменяет вид страниц с адресом вида http://your_blog.blogspot.com/search?*
Если бы я нашёл документацию по всем параметрам шаблонов Blogger, то было бы намного легче.

Larri комментирует...

Спасибо за ответ.
Ну что же, не так уж сильно осложняет жизнь, пусть будет, как есть, все равно это лучше, чем вручную добавлять каждую ссылку в карту

IvanXP комментирует...

Интересно, что за карта?
Скорей всего - это просто отдельный пост с оглавлением.
Или что-то другое?

DiVolk комментирует...

Не уловил различия между оглавлением и архивом. Просто экономия места. Для оглавления желательна тематическая группировка страниц. Может не совать всё в одно оглавление, а сделать несколько( по разным темам)? Такая возможность существует?

IvanXP комментирует...

Как не странно, но и такая возможность "встроена" в этот трюк. Пройдитесь по ярлыкам (см. правую панель) и всё будет понятно.

Larri комментирует...

Иван, да, просто отдельный пост

ru-money комментирует...

Нормальный трюк

Бродячий Проповедник комментирует...

А по рубрикам (тегам) в карте блога можно выводить список постов?

IvanXP комментирует...

Да, и по ярлыкам тоже будет выводиться список постов. Дополнительно ничего делать не нужно. Всё уже включено.

Бродячий Проповедник комментирует...

А как запретить индексацию поисковиками (Гуглом) страницы карты блога, чтобы не было дублирования контента?

Бродячий Проповедник комментирует...

И не выводить по рубрикам (тегам) в карте блога, хотя Вы говорите, что выводит.

IvanXP комментирует...

Для того, чтобы запретить индексацию страницы оглавления воспользуйтесь материалом статьи http://ibloggerman.blogspot.com/2009/02/blog-post.html, слегка отредактировав код, зная, что data:blog.pageType != "item" означает "Оглавление". Если не понятно, то я напишу, в ближайшее время, дополнительную статью или дополню эту.

IvanXP комментирует...

А вот ссылка на один из тегов это интересно — выводится точно такой же список постов как и в "Оглавлении".

Бродячий Проповедник комментирует...

IvanXP, Архив у меня и так с запретом инлексации. У Димы Наумова подсмотрел способ). А вот эту страничку как запретить - со списком всех постов? А может и не надо? Там же через поиск идет вывод списка. А посик в blogger по умолчани ю закрыт тегом nofollow вроде. Или я не прав?

IvanXP комментирует...

Бродячий Проповедник, Вы правы, страницы search запрещены к индексации через robots.txt.
Обратите внимание на строку:
Disallow: /search
Также в этом можно убедиться просмотрев данные Яндекс.Вебмастер для Вашего блога.
Так что ничего дополнительно делать не нужно, всё уже включено в поставку.

Tim комментирует...

Спасибо

Yuriy комментирует...

что то я не могу найти исходный код на странице...

admin комментирует...

аналогично, нет такого кода b:include data='post' name='post' , а есть такой b:include data='blog' name='all-head-content' - разница небольшая, но как из этого сделать?

G-man комментирует...

Спасибо огромное - то, что надо.
Но если не затруднит, ответьте пожалуйста. Почему могут не отображаться даты? Ни в сообщениях, ни в оглавлении. Хотя в настройке элемента "сообщения блога" соответствующая галочка стоит.

IvanXP комментирует...

Быть может показ даты удалён из самого шаблона.

Levin комментирует...

можно ли сделать что бы оглавление выводилось в хронологическим порядке? Первые сообщений сверху.

IvanXP комментирует...

Я пока не знаю такого способа. Слишком уж много секретов у Blogger, всё приходится опытным путём узнавать.

Levin комментирует...

ясно. жаль. и еще один момент, сколько бы не ставь max-results, у меня выводится только 45 заголовков на одной странице. появились какие то ограничения?

IvanXP комментирует...

Действительно, у меня аналогичная ситуация. Видимо, Blogger ввёл ограничения на количество постов, выводимых на одной странице.

Алиса Светлова комментирует...

Спасибо! Все получилось отлично. Но я хотела задать вам вопрос о разделении на темы.

Здесь его уж задавали:
"Для оглавления желательна тематическая группировка страниц. Может не совать всё в одно оглавление, а сделать несколько( по разным темам)? Такая возможность существует?"

И вы ответили: " Как не странно, но и такая возможность "встроена" в этот трюк. Пройдитесь по ярлыкам (см. правую панель) и всё будет понятно."

Мне, к сожалению, ничего не стало понятно. И у вас оглавление не разбито на темы, просто идут все статьи подряд. А было бы здорово сделать, как на этом сайте, например:
http://vsegenialno.blogspot.com/p/blog-page_9604.html

Там все действительно разбито по темам. Может быть, подскажете, как можно сделать такое содержание?

Турист комментирует...

не уверен на 100%, но кажется недавно попадался плагин автоматизирующий эту функцию... надо поискать

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

Примечание. Отправлять комментарии могут только участники этого блога.

 
item