Приведем пример простейшего сайта, в котором неограниченное число пользователей может вести свои блоги. Основное содержимое блога — это регулярно добавляемые не длинные записи временной значимости (содержащие текст и изображение), отсортированные в обратном хронологическом порядке.
Наш сайт будет состоять всего из одной страницы. Слева идет меню со списком авторов статей (блоггеров), справа - соответствующий блог, состоящий из ленты статей, идущих в обратном порядке (последняя статья - сверху).
Корневому блоку назначьте шаблон blogs_. Двум остальным блокам нужно назначить шаблоны по умолчанию. Блоку слева будет предложен шаблон blogs_authors, а блоку справа - , справа — blogs_articles.
<?php echo " {$dat['edit']} <table> <tr> <td> <a href='?login'>Вход</a><br> <a href='?user-info&selected-user-id=new'> Регистрация </a><br> $dat[1] <!--Список авторов--> </td> <td>$dat[2]</td> <!--Статьи блога--> </tr> </table> "; ?>
<?php
$types = [
1=>'block template(blogs_authors)',
2=>'block template(blogs_articles)'
]
?>
<?php # Блок, которому назначен шаблоном blogs_articles $articlesBlock = 3; # Извлекаем данные таблицы users $table = Request::getTable(Blox::info('db','prefix').'users', $block); echo $dat['edit']; echo "<ul>"; foreach ($table as $data) { echo "<li>"; echo "<a href='"; echo "?page=1"; echo "&block=$articlesBlock"; # Запрашиваются записи одного пользователя echo "&p[4]={$data['user-id']}"; # Выше приведана короткая форма записи # pick-запроса. Стандартная форма - ниже: # echo "&pick[4][eq]={$data['user-id']}'"; echo "'>"; echo $data['login']; echo "</a>"; echo "</li>"; } echo "</ul>"; ?>
<?php foreach ($tab as $dat) echo " {$dat['edit']} <h1>$dat[1]</h1> $dat[2]<br> <img src='datafiles/$dat[3]'><br> <br><br> "; ?>
<?php
$titles[1] = 'Заголовок статьи';
$titles[2] = 'Текст';
$titles[3] = 'Фото';
$types[1] = 'varchar(255)';
$types[2] = 'text';
$types[3] = 'file';
$types[4] = 'int(4) unsigned';
$params['multi-record'] = true;
$params['backward'] = true;
# Поле для идентификатора пользователя
$params['user-id-field'] = 4;
# ...скрыто
$fields['hidden'] = [4];
# ...и на него должен поступать запрос
$params['pick']['key-fields'] = [4];
?>
Автор должен щелкнуть по своей фамилии в левом блоке — в правом блоке появится первая пустая запись с кнопкой для редактирования. После создания записей, авторы будут видеть также кнопки редактирования созданных записей.