Skip to content
Concrete5 на русском языке

Получение данных о странице в Concrete5

Встроенные свойства

Следующие встроенные свойства всегда присутствуют на странице. Вот как можно их вывести:

Получение названия страницы

print $c->getCollectionName();

Вывести краткое описание страницы

print $c->getCollectionDescription();

Получение даты публикации страницы

print $c->getCollectionDatePublic();

Используется для работы со страницами как с блогом.

Получение ID пользователя, создавшего страницу

print $c->getCollectionUserID();

Переменная $response , в этом случае, будет выводится в стандартном виде для данного типа атрибута. Иногда, это будет просто.

Пользовательские атрибуты

Также легко вывести пользовательские атрибуты, привязанные к странице.

$response = $c->getAttribute('exclude_nav');

Поскольку атрибут "Исключить из навигации" это булев атрибут, то переменная $response будет либо Правда, либо Ложь.

$response = $c->getAttribute('thumbnail');

Тема Elemental, установленная с примерным контентом создаст атрибут "thumbnail" типа Изображение / Файл. Если этот атрибут будет присутствовать на этой странице, $response будет либо null, либо представлять объект класса  Concrete\Core\File\File.

Вывод форматированных данных

Пользовательские типы атрибутом могут выводить свои данные в том виде, которые будут понятны конечному пользователю. В то время, как вызов пользовательского атрибута с помощью getAttribute() выведет данные в виде подходящим для программы ( то есть выведет объекты файла, объекты адреса и так далее.. ) Будет легче выводить данные для конечного пользователя в виде, которые будет удобно быстро распечатать.

$response = $c->getAttribute('thumbnail', 'display');

Это вернет атрибут миниатюры изображения, используя метод getDisplayValue() типа атрибута "Изображение / Файл", который выведет ссылку  HTML.

Пример

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

$response = $c->getAttribute('attribute_handle');
<?php
    $tags = $c->getAttribute('tags');
    if ($tags && count($tags)) { ?>
        <div class="tags">
            <div class="title"><span>Tags</span></div>

            <ul>
                <? foreach($tags as $tag) { ?>
                    <li><a href="<?=URL::page($blog, 'tag', strtolower($tag))?>"><?=$tag?></a></li>
                <? } ?>
            </ul>
        </div>
    <? }
?>

Проверить, находится ли страницыа в режиме редактирования

Чтобы проверить, находится ли страница, которую просматривает пользователь, в режиме редактирования. Например, можно отключать javascript при редактировании, чтобы скрипт не конфликтовал со скриптами самого Конкрита.

if ($c->isEditMode()) {

}

Получение всех объектов блоков на странице

$blocks = $c->getBlocks();

Получение всех объектов блоков с области страницы

$blocks = $c->getBlocks('Area name');
$blockIDs = $c->getBlockIDs('Area name');

Получение объекта области страницы

$area = $c->getArea('Area name');

API Страниц

Также существует много других операций над объектом Страницы. Посмотрите документацию API, там примеры снипетов.

Посмотреть API