Как создавать расширяемые краткие описания сообщений?

Как создавать расширяемые краткие описания сообщений?

Эта функция позволяет отображать любое количество текста от начала каждого сообщения, чтобы заманить посетителя прочитать его целиком. Если тот заинтересуется, он может нажать на ссылку, чтобы увидеть полный текст. Это удобно, если у вас на одной странице много длинных статей. Обратите внимание: чтобы эта функция работала, у вас должны быть включены страницы сообщений.

Чтобы воспользоваться этой функцией, вам нужно три вещи: условные CSS, ссылка "Дальше..." для каждого сообщения и изменения, которые должны быть внесены в соответствующие сообщения. Итак, рассмотрим все подробнее.

Условные CSS

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

(для классических шаблонов)

<MainOrArchivePage> 
span.fullpost {display:none;}
</MainOrArchivePage>

<ItemPage>
span.fullpost {display:inline;}
</ItemPage>

(для макетов)

<b:if cond='data:blog.pageType == "item"'> 
span.fullpost {display:inline;}
<b:else/>
span.fullpost {display:none;}
</b:if>

Таблица стилей обычно располагается в начале шаблона между тегами <style> и </style>. Если у вас она хранится в отдельном файле, эти строки все равно надо будет добавить в шаблон, иначе условные теги не будут работать. До и после них обязательно должны быть теги <style>.

Здесь мы определили класс под названием "fullpost", который будет отображаться только на страницах сообщений (с постоянными ссылками). Как мы увидим дальше, часть каждого сообщения будет использовать этот класс.

Ссылки "Дальше..."

Добавьте в шаблон где-нибудь после тега <$BlogItemBody$> или тега <data:post.body/> следующий код:

(для классических шаблонов)

<MainOrArchivePage><br />
<a href="<$BlogItemPermalinkURL$>">Дальше!</a>
</MainOrArchivePage>

(для макетов)

<b:if cond='data:blog.pageType != "item"'><br />
<a expr:href='data:post.url'>Read more!</a>
</b:if>

Эта ссылка будет отображаться только на главной странице и на страницах архива. Она будет переадресовывать читателя на страницу сообщения, содержащую его полный текст. Естественно, слово "Дальше" можно заменить любым другим текстом.

Изменение сообщений

Наконец, небольшой фрагмент кода надо добавить в само сообщение. Введите этот код в каждое сообщение, на которое должна распространяться эта функция:

<span class="fullpost"></span>

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

Это начало сообщения. <span class="fullpost">А это - все остальное.</span>

Теперь посетители блога будут видеть следующее:

Это начало сообщения.
"Дальше..."
Если нажать на эту ссылку, загрузится страница сообщения с его полным текстом:
Это начало сообщения. А это - все остальное.

Примечания.

  • Как и при любых других изменениях шаблона, не забудьте сохранить его первоначальную копию, прежде чем приступить к работе. Для этого достаточно скопировать код и сохранить его в текстовом файле на жестком диске, чтобы в случае ошибки можно было восстановить первоначальную версию шаблона.
  • Другой способ отображения отрывков сообщений заключается в том, чтобы показывать или скрывать сообщения целиком. У каждого варианта есть свои преимущества и недостатки.
  • Преимущество первого метода: настраиваемые краткие описания, а не только заголовки. Эта функция может распространяться на одни сообщения и не распространяться на другие. (Например, можно использовать отрывки, только если сообщение длинное).
  • Недостатки: вносить изменения приходится в сами сообщения, а не в шаблон. Зато ссылка "Дальше..." дана в шаблоне, а потому отображается независимо от того, усечено сообщение или нет. (Над тем, как изменить эту функцию, можете поразмыслить сами).
Blogged with the Flock Browser

Мой список блогов