Трюки с шаблонами #1

Как известно, с помощью языка шаблонов Movable Type можно реализовывать потрясающие вещи. Часто мне попадаются примеры, о которых нужно обязательно рассказать. Обычно, примеры маленькие, что создавать для них отдельное сообщение было бы бессмысленно. Поэтому они будут публиковаться по несколько штук.

Похожие записи

<mt:entryiftagged>
   <mt:setvarblock name="curentry"><mt:entryid /></mt:setvarblock>
   <mt:setvarblock name="relatedtags"><mt:entrytags glue=" OR "><mt:tagname /></mt:entrytags></mt:setvarblock>
   <mt:setvarblock name="listitems">
      <mt:entries tags="$relatedtags" unique="1" lastn="10">
         <mt:setvarblock name="listentry"><mt:entryid /></mt:setvarblock>
         <mt:unless name="listentry" eq="$curentry"><li><a href="<mt:entrypermalink />"><mt:entrytitle /></a></li></mt:unless>
      </mt:entries>
   </mt:setvarblock>
   <mt:if name="listitems">
	<div id="recentpost">
	<p id="recent-post">Похожие записи</p>
	<ul>
         <mt:var name="listitems">
	</ul>
	</div>
   </mt:if>
</mt:entryiftagged>

Подробная информация об этом примере. Там же есть пример для составления списка похожих страниц. (Спасибо Евгений Носову за ссылку на более правильный пример.)

Получение списка email адресов всех авторов:

<mt:Authors include_blogs="all">
	    <mt:IfNonEmpty tag="AuthorEmail">
		        <mt:IfNonEmpty tag="AuthorDisplayName">"<mt:AuthorDisplayName />" </mt:IfNonEmpty>
		        &lt;<mt:AuthorEmail />&gt;,
	    </mt:IfNonEmpty>
</mt:Authors>

Автор: Jesse Gardner.

Ещё несколько примеров для работы с изображениями в сообщениях на сайте LMT.

Комментариев: 12

Такой код не работает. Вот так нужно: http://wiki.movabletype.org/Related_Entries

Код рабочий, но, как объясняется в Wiki, он будет отображать записи, остортированные по дате, а не по релевантности. К тому же, записи могут дублироваться.

Но там же приведён гораздо более продуманный код. Спасибо за ссылку.

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

Да, точно. Ещё раз спасибо, уже заменил на код с той странице :)

Нет проблем :) Я уже давно хочу вам как-то помочь

О, это очень хорошо :)
Сейчас , правда, есть только возможность писать в этот блог. Если есть что рассказать, с радостью сделаю автором.

А пример готовый есть где глянуть?
Меня терзают смутные сомнения, что выведет такой код возде каждой новости список ака Recent Entries, только не урезанный..
(хочу вывести под каждым постом штук по 5 Related Articles ну и 5 Recent Articles)

Ыыы, этот код точно не работал :(
Всё потому, что в setvarblock данные должны располагаться в одну строку, иначе вообще ничего выведено не будет.

Поправил этот код, а также добавил к нему параметр, чтобы выводились только последние 10 похожих записей. Пример работы можно посмотреть в ProBlog'e. Лучше всего работает, когда мало тегов у записи.

А 5 последних записей вывести вообще легко.
Вот так примерно:
<mt:entries lastn="10">
<mt:EntriesHeader><ul></mt:EntriesHeader>
<li><a href="<mt:entrypermalink />"><mt:entrytitle /></a></li>
<mt:EntriesFooter></ul></mt:EntriesFooter>
</mt:entries>

Для "последних записей" готовый код уже есть в widgets..
Пример на ProBlog'e посмотрел, из поста в пост одинаковые "Похожие записи", может не 1-в-1, но 3 из 5-ти точно :(

Вот это как раз и есть те особенности, когда лучше, чтобы было меньше тегов у записи. Да и к тому же, здесь ещё важен параметр lastn, из-за которого выводятся последние посты. Т.е. происходит следующее:

— Movable Type создаёт массив из тегов конкретной записи.
— Затем создаёт массив всех записей, которые связаны с этими тегами.
— А уже после всего этого берёт последние N записей из массива записей.

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

Хм... А я сразу интуитивно в одну строку сделал :) и сразу всё заработало. http://greenword.ru/2008/04/earthday.html (в правой колонке, блок "Похожие записи"). Релевантность довольно-таки вменяемая.
To Андрей Серебряков: в общем-то, думаю, найду, что поведать. Мы уже переписывались на эту тему. Я ещё предлагал написать о моем блоге greenword.ru в рубрике "хорошие блоги на movable type" :)

Статистика

Яндекс.Метрика

Последние записи

  • Обновился сайт с плагинами

    Сайт plugins.movabletype.org, долгое время находившийся в полурабочем состоянии, вновь стал рабочим. У каждого плагина появились обнозначения о совместимости со старыми и новыми версиями. Также многие...

  • Где искать плагины для Movable Type

    Давным давно разработчики Movable Type перенесли совместную работу с кодом на Гитхаб. Благодаря этому, а также стандарту именования плагинов, поиск на Гитхабе находит уже 701...

  • Movable Type 5.2.10

    Изменения в новой версии незначительны, только исправления небольшой угрозы безопасности. Скачать новую версию: 5.2.10 в zip-архиве 5.2.10 в tar.gz-архиве Только изменённые файлы (в сравнении с...

  • Основные нововведения в Movable Type 6

    В шестой версии появилось несколько новшеств, которых нет ни в одной другой системе управления контентом, и благодаря которым Movable Type стал ещё лучше. Data API...

  • Movable Type 5.2.9

    В новой версии нет значительных изменения, обновление касается только безопасности системы — была устранена ошибка, благодаря которой была возможна XSS-атака через визуальный редактор. Скачать новую...

Закрыть