Метапеременные в языке разметки Movable Type

| Комментариев: 13

Язык разметки Movable Type (MTML) позволяет использовать в циклах несколько метапеременных:

  • __even__ — возвращает значение «истина», если текущий элемент списка является четным;
  • __odd__ — возвращает значение «истина», если текущий элемент списка является нечетным;
  • __first__ — возвращает значение «истина», если текущий элемент списка является первым в списке;
  • __last__ — возвращает значение «истина», если текущий элемент списка является первым в списке;
  • __counter__ — возвращает порядковый номер текущего элемента в списке.

Наиболее очевидным вариантом использования этих переменных является создание красивых таблиц или списков с чередующимся цветом строк/элементов. У меня, например, таким образом разукрашиваются комментарии:

<mt:if name="__odd__">
<div class="comment">
<mt:else>
<div style="background:#f0f0f0;" class="comment">
</mt:if>

Пример комментариев можно посмотреть в личном блоге.

Еще сегодня довелось столкнуться с одной задачей, где пришлись ко двору метапеременные. Человек в форуме спросил, как вывести количество категорий в блоге, в которых есть хотя бы одна запись. (Вообще, для вывода количества категорий имеется специальный тег <$mt:BlogCategoryCount$>. Но он считает все категории, включая пустые.) Немного пошевелив мозгами, родил следующее решение:


<mt:Categories show_empty="0">
<mt:if name="__last__">Всего категорий: <mt:var name="__counter__"></mt:if>
</mt:Categories>

Правда, в документации говорится, что тег <$mt:BlogCategoryCount$> тоже поддерживает атрибут show_empty, присвоив которому значение 0, можно показать только количество категорий, содержащих записи. Однако, как это часто случается, теория несколько расходится с практикой, и по крайней мере в версии Movable Type 5.04 мне не удалось заставить этот атрибут работать.

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

Ещё один пример для __counter__, который может многим пригодиться.
Как добавить в каждому комментарию его номер (не ID, а именно номер относительно записи):
<mt:Comments>
    [Код для внешнего вида комментария]
    <a href="#<mt:CommentID />">#<mt:Var name="__counter__" /></a>
</mt:Comments>

В категориях у меня работал, выводя категории, в которых нет записей. Работало это в 4-й версии, в 5-й не пробовал.

На ру форуме по MT регистрация видимо барахлит, так и не пришло письмо для завершения регистрации.

Поставил недавно MT, может вы мне сможете помочь ?

Каким образом настраивать главные страницы - на сайте\блоге ?

Проблема - при создании сайта - главная страница по умолчанию - пустая.

Естественно, мне нужно разместить там статический текст. (здесь и далее - сайт и блог - статика, html)

Хочется узнать про такие варианты для главной страницы:
1) Стат текст (сайт)
2) Кусок текста + посты (блог)
3) Стат. текст (блог)

пробовал создавать доп. страницу - index.html она создается, но на сайте - отображается как пустая. Залазил в код шаблона индексной страницы, но фантазии (и знаний) не хватает. Мануалы на англ смотрел, не нашел упоминаний.

Как изменить способ формирования урл записей\постов в блог вместо гггг/мм/имя-записи.html сделать имя-записи.html ?

(урл для архивов оставить прежний)
Понимаю что, скорей всего, нужно залезть в шаблон Entry, но не нашел там ничего нужного.

Что за настройки вот эти ?
(взял из англ варианта, хотя установил русскую версию)

Module Settings
Movable Type supports the following types of SSI(Server Side Include) to include template modules.

* PHP Include
* Apache SSI (SHTML)
* Active Server Pages (ASP)
* Java Server Pages (JSP)


Choose a SSI that will work on your server.

* Module Caching: Activate module caching

попробую прямо с примерами попозже
шаблон самый дефолтовый.

кстати, в MV нет плагинов - подписка на емейл на комментарии ?
или у вас тут не стоит просто
удобно было бы

спасибо, с УРЛ разобрался
не заметил что "опции шаблона" раскрываются

шаблон "Запись" в моей русской версии называются либо page либо entry (блог) т.е. не переведены в дистрибутиве

спасибо, всё получилось !

а вот интересно со статикой ситуация - если каждый раз генерируется менюшка (+ рсс + другие блоки) при добавлении новой страницы\записи, то и все страницы тоже перегенерируются получаются, верно ?

и что будет когда их будет 100, 200 - ? это ж наверно нагрузка на хостинг приличная ?

как с этим быть ?

Комментировать


Введите изображённые на картинке символы.

  • Подписаться на обновленияЧитать Twitter

Об этой записи

Сообщение опубликовано 12.12.2010 03:06. Автор — Антон Пищур.

Предыдущая запись — Сила WordPress — в слабости Movable Type

Следующая запись — Включение режима отладки в WordPress

Смотрите новые записи на главной странице или загляните в архив, где есть ссылки на все сообщения.

div class=/div