В Blox CMS запросы специальной выборки единовременно можно делать только к одному блоку страницы, то есть, в URL указывается только один конкретный блок:
href='?page=$page&block=$block&ЗапросСпецВыборки'
Но параллельные запросы к другим блокам можно создать искусственно. Нужно просто взять необходимые данные с помощью метода Request::get(), и сформировать запрос к другому блоку с помощью Request::add(). Пример: шаблон для комментариев блога. См. также статью Как сделать запросы к нескольким блокам в одном URL?
Шаблоны, предназначенные для pick-навигации, должны быть только многозаписными. Но как быть, когда нужен однозаписный шаблон (когда в блоке нужно отображать только одну запись)?
Для этого ничего особого делать не нужно. Во-первых, шаблон для pick-навигации, естественно, объявляется многозаписным, то есть, в дескрипторе шаблона должен присутствовать параметр multi-record. Однако, код самого шаблона (.tpl) пишется, как однозаписный, то есть, без перебора (с помощью оператора foreach).
К чему это приведет? Когда у пользователя еще нет ни одной записи, он будет видеть кнопку новой записи. После создания новой записи, он будет видеть только эту запись (удовлетворять запросу будет только эта одна запись), а кнопку новой записи больше не увидит, так как перебора записей нет. Естественно, при этом на блок не должно накладываться условие обратного порядка выборки, иначе в режиме редактора будет отображаться только кнопка новой записи.
Для ускорения выборки данных (при большом количестве записей в каталоге) поля pick-навигации можно сделать ключевыми. Например, если у шаблона поля 1 и 2 используются для pick-запросов, то в дескриптор можно добавить такую строку кода:
.tdd<?php
$keys = 'INDEX(dat1, dat2)';
?>
Если всегда выбирается только одна запись и необходимо жесткое выполнение условия уникальности, то можно добавить такой код:
.tdd
<?php
$keys = 'UNIQUE INDEX(dat1, dat2, `rec-id`, `block-id`)';
?>
Так как в одной таблице базы данных могут быть записи из разных блоков, здесь добавлены названия полей для номеров записей и блоков,