Content Management Framework. Easy. Convenient. Free.
Навигация
Новости
Новая версия PHPC!
Очередной стабильный релиз с новыми возможностями.
12 декабря 2010 | Подробнее...
Документация!
Солидное пополнение.
28 октября 2010 | Подробнее...
Обновление документации
Онлайн-руководство начинает потихонечку обновляться.
15 октября 2010 | Подробнее...
Новая версия PHPC!
Вышла новая версия, 2.5.1, с набором полезных изменений.
12 октября 2010 | Подробнее...
DLTFM!
Отныне документация доступна и в формате для скачивания.
30 января 2010 | Подробнее...
Новая документация
Первые разделы Руководства уже на сайте.
20 января 2010 | Подробнее...
Онлайн-поддержка
Теперь вы можете задать свои вопросы через ICQ.
11 января 2010 | Подробнее...

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

Эти примеры показывают, как в PHPC можно вставлять шаблоны друг в друга при помощи тега <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/>

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


Пример 2

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

Шаблон htmlBlock:

<table border="1">
  <tr>
    <td>Заголовок блока</td>
  </tr>
  <tr>
    <!-- Содержимое блока -->
    <td><var:content></td>
  </tr>
</table>

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

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

<insert: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>

Здесь один шаблон вставляется внутрь другого. PHPC поддерживает произвольную вложенность вставки шаблонов друг в друга, просто не забывайте про парность тегов и про теги <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>
Документация
Лучшие сайты на PHPC
Наши друзья
Другие интересные CMF
Помогите проекту!
WMZ: Z829076217306
WMR: R735042680488
Онлайн-поддержка
Техподдержка сайтов,
Разработка модулей
ICQ: 564226396