Content Management Framework. Easy. Convenient. Free.
Навигация
Новости
DLTFM!
Отныне документация доступна и в формате для скачивания.
1 февраля 2010 | Подробнее...
Новая документация
Первые разделы Руководства уже на сайте.
20 января 2010 | Подробнее...
Онлайн-поддержка
Теперь вы можете задать свои вопросы через ICQ.
11 января 2010 | Подробнее...
Новая версия ACMS!
Итак, спустя два с лишним года, вышла новая версия движка.
5 января 2010 | Подробнее...
Больше плагинов!
Два новых плагина появились за прошедшие пару дней.
16 марта 2008 | Подробнее...
Сравнение версий
Еще один плагин, полезный для разработчиков.
9 декабря 2007 | Подробнее...
Долгожданный плагин
Появился плагин поддержки пользователей и прав.
23 ноября 2007 | Подробнее...

Простые примеры

Эти примеры показывают, как в ACMS можно вставлять шаблоны друг в друга при помощи тега <insert:>, как при этом передавать параметры и использовать такую удобную возможность, как обертывание шаблонов (wrapping).

Пример 1

Нужно разместить на странице две одинаковые формы авторизации − слева вверху и справа внизу.

Шаблон htmlLoginForm:

<form action="/actionUsers" method="post">
<input type="hidden" name="action" value="login">
Ваш ник: <input type="text" name="username"><br>
Пароль: <input type="password" name="password"><br>
<input type="submit">
</form>

Шаблон страницы:

<!-- Верхняя левая часть страницы -->
<insert:htmlLoginForm/>

...

<!-- Нижняя правая часть страницы -->
<insert:htmlLoginForm/>

Обратите внимание на косую черту в конце специального тега − она является обязательной в данном случае. Без нее ACMS будет считать, что вы указали только открывающий тег insert, но забыли про закрывающий, и выдаст сообщение об ошибке.

Пример 2

Нужно разместить декорированный блок с внутренним содержимым, чтобы его оформление не смешивалось с содержанием.

Шаблон htmlBlock:

<table border="1">
  <tr>
    <td>Заголовок блока</td>
  </tr>
  <tr>
    <td><var:content></td>
  </tr>
</table>

Шаблон страницы:

<insert:htmlBlock>

<!-- Между открывающим и закрывающим тегами insert пишем содержимое блока -->
<!-- Оно будет подставлено на место тега var:content в шаблоне htmlBlock -->

Наша пища должна быть:
<ul>
  <li>Вкусной</li>
  <li>Здоровой</li>
</ul>

</insert:htmlBlock>

Пример 3

Нужно разместить друг под другом два или более декорированных блока, с разными заголовками и с разным содержимым.

Измененный шаблон htmlBlock:

<!-- Этому шаблону можно передать параметр title (заголовок) -->
<table border="1">
  <tr>
    <td><var:title></td>
  </tr>
  <tr>
    <td><var:content></td>
  </tr>
</table>

Шаблон страницы:

<!-- Вставляем первый блок -->
<insert:htmlBlock title="Первый блок">

Содержимое <b>первого</b> блока.

</insert:htmlBlock>

<!-- Вставляем второй блок -->
<insert:htmlBlock title="Второй блок">

Содержимое <i>второго</i> блока.

</insert:htmlBlock>

Пример 4

Нужно разместить все тот же декорированный блок, с формой авторизации внутри него.

Шаблон страницы:

<insert:htmlBlock title="Войти">
  <insert:htmlLoginForm/>
</insert:htmlBlock>

Здесь один шаблон вставляется внутрь другого. ACMS поддерживает произвольную вложенность вставки шаблонов друг в друга, просто не забывайте про парность тегов и про теги <var:content> в текстах этих шаблонов. Допускаются даже такие экзотические конструкции:

<insert:htmlBlock title="Первый уровень">
  <insert:htmlBlock title="Второй уровень">
    <insert:htmlBlock title="Третий уровень">
    ...
    </insert:htmlBlock>
  </insert:htmlBlock>
</insert:htmlBlock>

Хотя на практике такое встречается редко.

Пример 5

Нужно быстро собрать красиво оформленное пользовательское меню.

Шаблон страницы:

<insert:htmlMenuGroup title="Навигация">
  <insert:htmlMenuItem link="/" title="На главную"/>
  <insert:htmlMenuItem link="/chat" title="Чат"/>
  <insert:htmlMenuItem link="/forum" title="Форум"/>
  <insert:htmlMenuItem link="/gallery" title="Галерея"/>
  <insert:htmlMenuItem link="/library" title="Библиотека"/>
</insert:htmlMenuGroup>

<insert:htmlMenuGroup title="Программы">
  <insert:htmlMenuItem link="/opensource" title="Открытые"/>
  <insert:htmlMenuItem link="/freeware" title="Бесплатные"/>
  <insert:htmlMenuItem link="/software" title="Условно-бесплатные"/>
</insert:htmlMenuGroup>

Вспомогательные шаблоны оформляйте по своему вкусу. :)

Шаблон htmlMenuGroup:

<b><var:title></b>
<hr>
<ul>
<var:content>
</ul>

Шаблон htmlMenuItem:

<li><a href="<var:link>"><var:title></a></li>
Документация
Лучшие сайты на ACMS
Наши друзья
Другие интересные CMF
Помогите проекту!
WMZ: Z111111111111
WMR: R111111111111
Онлайн-поддержка
Техподдержка сайтов,
Разработка модулей
ICQ: 555555555