Создание расширяемых кратких сообщений в блоге Blogger
Tuesday, 18 Sep 07 в 17:22
Поскольку я любитель постить далеко не миниатюрные сообщения в блог, то за последние пару дней на одной странице собралось достаточно большое количество информации с фотографиями и видео. Страница грузится достаточно долго, а это еще не все сообщения. Вроде бы, Blogger позволяет установить количество выводимых на страницу постов, но я решил прибегнуть к другому решению. А именно – создается краткое описание нужного вам длинного сообщения, в конце которого ставится ссылка что-то на подобии «Читать далее». Кликая на нее, пользователю будет доступна полная версия той или иной записи в блоге.
Информацию о данном «преобразовании» я нашел в информационном центре Blogger`а.
Как я понял, существует 2 метода решения данной проблемы, имеющие свои преимущества и недостатки. Первый метод позволяет отображать краткое описание со ссылкой «Читать далее», о чем уже говорилось выше. Во втором же отображаются только заголовки, кликая по которым пользователь может открывать то или иное сообщение (а также скрывать его еще одним кликом). К недостаткам первого метода можно отнести то, что изменения приходится делать отдельно в каждом сообщении, а также то, что ссылка «Читать далее» зашита в шаблоне и отображается в любом случае, даже если вы не хотите ее добавлять в сообщение. Ребята из Blogger`а предлагают на решением второго недостатка самостоятельно:) Ну что же, будет время – обязательно! Недостатком способа отображения №2 является отсутствие краткого описания и возможности выбирать в какое сообщение добавлять «расширения поста».
Учтя все эти нюансы, я выбрал первый метод. Теперь разберемся с установкой. Предварительно рекомендуется сохранить текст шаблона в какой-то текстовый файл на локальном компьютере, чтобы была возможность его восстановить.
Кроме того, требуется в пункте настроек «Архивирование» поставить значение «Да» в поле «Включить страницы сообщений». Далее выполняем три шага:
Шаг1. Условные CSS
Я рассматриваю вариант решения только «для макетов», по поводу классических шаблонов можно посмотреть в том же руководстве от Blogger`а. Требуется добавить в таблицу стилей немного кода.
Для этого находим в шаблоне место, где заканчивается блок заголовка – и добавляем перед этим тэгом следующие строки:
<style>
<b:if cond='data:blog.pageType == "item"'>
span.fullpost {display:inline;}
<b:else/>
span.fullpost {display:none;}
</b:if>
</style>В данном куске кода мы определили класс “fullpost” для корректной работы.
Шаг2. Ссылки «Читать далее»
Сначала поставил галочку «Расширить шаблоны виджета» над блоком с кодом шаблона слева. После этого находим строку и после нее добавляем следующий код:
<b:if cond='data:blog.pageType != "item"'> <a expr:href='data:post.url'>Читать далее</a> </b:if>
(опять же решение для классических шаблонов ищите в руководстве).
Данная настройка сделает так, что ссылка «Читать далее» будет отображаться только на главной странице и на страницах архива и будет переадресовывать читателя на страницу сообщения, содержащую его полный текст.
Шаг3. Изменение сообщений
Теперь в каждое сообщение, которое вы хотите изменить, нужно добавить небольшой фрагмент кода:
<span class="fullpost"></span>
Чтобы не добавлять это каждый раз можно добавить этот код в шаблон сообщения (меню «Настройки» – «Форматирование» в самом низу страницы). Итак, чтобы данная функция работала мы должны создавать сообщения по типу:
Это начало сообщения. <span class="fullpost">А это - все остальное.</span>
Краткое описание должно быть за пределами тегов span, а остальной текст – между этими тегами.
Кстати, реализацию второго метода расширяемых сообщений для Blogger`а можно посмотреть здесь.
Подписаться на RSS блога можно здесь.

Не сочтите за пиар, но очень в тему мой пост, который показывает еще один метод организации ссылки “Читать далее”.
Не сочту:)
Жаль только, что исходный текст метода на англ. – не всем может быть понятно.
У меня вопрос – этот новый метод у вас на сайте применен? или разворачивание/сворачивание комментариев требует дополнительных “модификаций”?
Описанный в указанном посте метод как раз и применен у меня в блоге. Именно так он и работает. А перевод сделать можно – не проблема. Могу сделать примерно как в посте “Облако тегов на Blogger”. Считаете, было бы полезно?
я думаю, это было бы хорошо)
Готово. Можно поругать. Если что-то не будет получаться – пишите.P.S. Можно ли убрать картинку от роботов при постинге комментов?
Спасибо, я обновил пост, добавив ссылку на ваш вариант решения. Думаю, будет полезно.
зы. Не совсем понял – “можно убрать вообще или у меня?”:) Если вообще, то это делается в разделе “Настройки”, пункт “Комментарии”, срока “Показывать проверку на основе графического кода для комментариев?”.
Спасибо за доверие.По поводу проверки на основе графического кода – я имел в виду этот блог, конечно. У меня, видать, какие-то нарушения двигательно-распознавательного аппарата :-), но меня необходимость распознавать эту штуку сильно анноит. Вот сейчас пишу эти строки и с ужасом думаю, что за буковка в этом коде в конце приведена…IMHO, пока нападения роботов в блоге не предвидится, этот код бесполезен, а людям он доставляет дополнительные неудобства…
Я подумаю:)
Хотя часто бывает желаение перед работой с каким-то клиентом дать ему простенький IQ-тест дабы обезопасить себя от возможных негативных последствий)))
Так и код, в принципе. Кому надо – тот напишет. Тем более что картинка проще не бывает)
Странно, сколько не бился, но у меня это не проходит ;( то шаблон не сохраняется, то read more просто не работает… Даже не знаю что еще и делать… Кстати, если ставить галочку “Расширить шаблоны виджета” после “первого шага”, как у вас написано, то все изменения теряются… очевидно, галочку надо ставить с самого начала ;)
Если ставить код (первый шаг) непосредственно перед то шаблон не сохраняется и выдает ошибку.. я сделал это перед ]]> Получается, но тогла возникает проблема со “вторым шагом”… Короче я сломал голову, но не нашел решения ;( Можете дать совет кроме теста на IQ? :)
oleg, я смотрел, вроде у вас все получилось?
Если нет, пишите в ICQ – помогу :)
Галочку “Расширить шаблоны виджета” надо ставить с самого начала. Далее ставить и делать все нада именно так как описано в этом посте, все другие варианты не будут корректно работать :)
Спасибо. Помогло с макетом.
Я понял как это сделать, спасибо
Спасибо огромное! Все работает! Вы первый смогли объяснить такому новичку в Blogger’е, как это работает.
Сделал как написано – все шикарно работает, но захотел убрать эту примочку и убрал все из кода – слово Читать далее – просто переместилось в конец поста и остается на странице.
Или надо подождать, чтобы кэш на сервере обновился?
Grand, значит не все убрал, если слово осталось.
Здесь представлено альтернативное решение. Устраняет проблему с ссылкой “Читать далее”, которая появляется для каждого поста. Благодаря данному решению ссылка появляется только у тех постов, где используются теги “fullpost”.
Благодарю за отличное описание -в своем блоге разместил обратную ссылку.
Всё сделал по описанию, но блог в разделе макет->Элементы страницы
выдает после этого.
Ошибка при интерпретации шаблона блога
Invalid data reference post.url: com.google.layouts.framework.widgetview.GoogleMarkupException: No dictionary named: ‘post’ in: ['blog']
как будто отучился от слова post
У меня получилось :) Спасибо