1

Тема: Модификация шаблона Feed

Хотелось бы изменить шаблон Feed - Recent Entries, чтобы он не показывал всю запись, как это он делает сейчас, а только отрывок. В шаблоне есть такие строчки:

<content type="html" xml:lang="<$mt:BlogLanguage ietf="1"$>" xml:base="<$mt:BlogURL encode_xml="1"$>">
     <$mt:EntryBody encode_xml="1"$>
     <$mt:EntryMore encode_xml="1"$>
</content>

Я понимаю, что надо его изменить на

<content type="html" xml:lang="<$mt:BlogLanguage ietf="1"$>" xml:base="<$mt:BlogURL encode_xml="1"$>">
    <$mt:EntryExcerpt$ words="20">
</content>

Проблема в том, что в тэге EntryExcerpt нет ключика encode_xml(или все же есть?). Критично ли это?

Отредактировано Arelav (15:12:2009 12:32:40)



2

Re: Модификация шаблона Feed

encode_xml — это глобальный модификатор, который может быть применён к любому тегу. И в этом шаблоне (по крайней мере в том виде, в котором представлен тег EntryExcerpt, этот модификатор необходим.

Что касается пример, то всё правильно, за исключением того, что атрибут должен стоять перед знаком «$» :)
А вообще, лучше использовать XML-стиль:

  • Для одиночных тегов:
    <mt:SomeTag /> (с атрибутами: <mt:SomeTag attr="1" />)

  • Для блоковых:
    <mt:SomeBlockTag>

    </mt:SomeBlockTag>



3

Re: Модификация шаблона Feed

Посмотрел внимательнее, что там творится внутри тэга entry (версия 4.32-en)

<entry>
    <title><$mt:EntryTitle remove_html="1" encode_xml="1"$></title>
....
    <summary><$mt:EntryExcerpt remove_html="1" encode_xml="1"$></summary>
....    
    <content type="html" xml:lang="<$mt:BlogLanguage ietf="1"$>" xml:base="<$mt:BlogURL encode_xml="1"$>">
       <$mt:EntryBody encode_xml="1"$>
       <$mt:EntryMore encode_xml="1"$>
    </content>

</entry>

Сперва упустил из виду содержимое summary - там уже есть искомый тэг.
Решил тогда просто заигнорить строчки c EntryBody и EntryMore.
Подписался в гугле на свой блог. Он начал мне теперь вместо полного текста выдавать по 40(значение по умолчанию, если не врет документация) слов EntryExcerpt. Если я добавлю туда ключевые слова words и no_generate, то они сделают именно то, что я хочу, верно?



4

Re: Модификация шаблона Feed

Да, верно. Только с no_generate нужно осторожнее, ведь может вообще ничего не быть в тексте, если ничего не указать в выдержке записи.