class Section extends DynamicFieldsObjectPredefined implements SiteItem

Раздел сайта

Traits

Используется в классах, которым необходимо работать с БД.

Constants

TYPE

ID типа материалов для разделов

TABLE

Таблица, в которой хранится информация о разделах

INHERIT

LINKED

AUTOALIAS

AUTOALIAS_TRANSLIT

AUTOALIAS_ID

Properties

static $plugins Плагины from Base
int $id идентификатор объекта from Base
array $fields Значения полей объекта from DynamicFieldsObject
array $raw_fields Значения полей объекта? считанные из БД from DynamicFieldsObject
array $_objectDefinition Описание объекта from DynamicFieldsObject
static array $predefinedObjectDefinition Описание объекта from DynamicFieldsObjectPredefined
static $extension from Extendable
string $name название раздела
string $alias псевдоним раздела
string $url абсолютный url раздела
Children $children дочерние разделы

Methods

__toString()

No description

array
asArray()

Возвращает объект в виде массива с указанными полями

from Base
mixed
__get(string $name)

Перегрузка чтения свойств класса.

void
__set(string $name, mixed $value)

Перегрузка записи свойств класса.

static void
addPlugin(ObjectPlugin $class)

Расширяет функциональность класса с помощью методов другого класса.

from Base
__call($name, $arguments)

No description

from Base
decodeLocaleString($str)

No description

from Base
static Connection
getDbConnection()

Возвращает активное соединение с БД в рамках приложения

static void
configSet(string $key, miced $value)

Сохраняет пару ключ/значение в БД

static mixed
configGet(string $key)

Возвращает значение связанное с ключем из БД

static mixed
configGetAll()

Возвращает все ключи/значения из БД

static void
configUnset(string $key)

Удаляет пару ключ/значение из БД

factory($type, $table = null, $fields = null)

No description

fetch(array $data, $i_am_server = false, $b = null)

No description

setFields(array $fields)

Устанавливает поля раздела

getByIdType($id, $type)

Возвращает объект по ID и "Типу материалов".

__isset($name)

No description

static 
clearLocks()

No description

lock($uid)

No description

unlock()

No description

int
getType()

Возвращает "Тип материалов" объекта

string
getTable()

Возвращает таблицу БД, в которой хранятся поля объекта

array
getFieldsDef()

Возвращает описание полей объекта

mixed
getDynamicField(string $name)

No description

offsetExists($offset)

No description

offsetGet($offset)

No description

offsetSet($offset, $value)

No description

offsetUnset($offset)

No description

Object
getLinkedObjects($od, $fieldName)

Чтение из БД объектов, которые связаны полем $field с данным объектом.

Object
selectLinks(string $fieldname, string $fields = 'A.*', string $where = '', string $order = 'B.tag', string $group = '', string $limit = '') deprecated

DEPRECATED

Object
selectLinksIn(int|string $from, string $field, string $fields = '*', string $where = '', string $order = '', string $group = '', string $limit = '')

DEPRECATED Чтение из БД объектов, которые связаны полем $field с объектом.

void
delete()

Удаляет раздел

void
save()

Сохранить раздел

setObjectDefinition($od)

No description

static 
getObjectDefinition()

No description

static User
getById(int $id)

Возвращает раздел по его идентификатору.

static 
extend($class)

No description

static 
create()

No description

static 
callStatic($method)

No description

setNodeId($id)

No description

static Section
getRoot()

Возвращает корневой раздел

getName()

No description

boolean
isLink()

Является ли раздел ссылкой на другой раздел

boolean
isServer()

Является ли раздел сервером

boolean
isHidden()

Является ли раздел скрытым

boolean
isRoot()

Является ли раздел корневым

boolean
isInheritsPermissions()

Наследует ли раздел разрешения, заданные для родительского раздела

getPath()

Возвращает путь от корня до раздела

string
getPreviewUrl()

Возвращает URL предварительного просмотра материалов раздела

string
getUrl()

Возвращает абсолютный URL раздела

string
getFullUrl(boolean $prefix = TRUE)

Возвращает полный URL раздела (http://сервер/раздел1/.

getBoUrl()

No description

string
getTreePath()

Возвращает полный путь до раздела для Ext.tree

Catalog
getChildren()

Возвращает дочерние разделы

array
getSubs()

Возвращает массив из идентификаторов раздела и дочерних разделов

getParentServer()

Возвращает родительский сервер

getParent()

Возвращает родительский раздел

string
getMaterialsTable()

Возвращает таблицу БД, в которой хранятся материалы раздела

string
getMaterialsObjectDefinition()

Возвращает таблицу БД, в которой хранятся материалы раздела

Catalog|FALSE
findChildByAlias(string $alias)

Ищет среди дочерних разделов раздел с заданным алиасом

getChildByAlias(string $alias)

Возвращает дочерний раздел с заданным алиасом

getChildByPath(string|array $path)

Возвращает дочерний раздел по заданному пути

getLastMaterial($fields = null, $subs = false)

Возвращает последний опубликованный материал раздела.

getMaterialByAlias(string $alias, string $fields = null, boolean $unpublished = false)

Ищет материал c заданным алиасом

getMaterialByID(string $id)

Ищет материал c заданным ID

getMaterials()

Возвращает материалы раздела

string
getDefaultTemplate()

Возвращает php шаблон, исполняемый "по умолчанию" для раздела

integer
createChild(array $fields)

Создает дочерний раздел

void
fixMaterialTags()

Приводит в порядок порядковые номера материалов раздела: удаляет дубликаты, дыры в нумерации.

bool
allowAccess(int $permission, int|array|User $groups)

Проверяет имеет ли пользователь или группа разрешение для данного раздела

int
copy(int $dest, bool $subs = false, bool $materials = false)

Копирует раздел

void
move(int $dest)

Перемещает раздел

void
updateCache()

Очистить все кэши связанные с этим разделом

void
updatePermissions(array $permissions)

Измененить права доступа к разделу

fixTags()

No description

void
shift(bool $up)

Подвинуть раздел вверх или вниз на позицию

bool
inAppPath()

Проверяет, является ли раздел частью пути к текущему разделу в FO

void
update(array $props)

Изменение свойств раздела и сохранение

createMaterial()

Создать новый материал в разделе

int
getMaterialsCount() deprecated

Возвращает количество опубликованных материалов в разделе

getPermissions()

No description

boArray()

No description

Details

in DynamicFieldsObject at line 192
__toString()

in Base at line 73
array asArray()

Возвращает объект в виде массива с указанными полями

Return Value

array

in DynamicFieldsObject at line 211
mixed __get(string $name)

Перегрузка чтения свойств класса.

Организуется доступ к полям объекта, созданным в конструкторе "Типы материалов" FastsiteCMS, как к свойствам объекта

Parameters

string $name свойство класса

Return Value

mixed

Exceptions

LogicException

in DynamicFieldsObject at line 245
void __set(string $name, mixed $value)

Перегрузка записи свойств класса.

Организуется доступ к полям объекта, созданным в конструкторе "Типы материалов" FastsiteCMS, как к свойствам объекта

Parameters

string $name свойство класса
mixed $value значение свойства

Return Value

void

Exceptions

LogicException

in Base at line 180
static void addPlugin(ObjectPlugin $class)

Расширяет функциональность класса с помощью методов другого класса.

Например, необходимо добавить в клас \Cetera\User метод, возвращающий кол-во дней, которые прошли с момента регистрации пользователя. Создадим класс-плагин:

class MyUser extends \Cetera\ObjectPlugin {
    public function getRegisteredDays() {
        // экземпляр класса, к каторому будет добавлен плагин находится в свойстве object
        $date_reg = new DateTime($this->object->date_reg);
        $date_now = new DateTime('now');
        $diff = $date_now->getTimestamp() - $date_reg->getTimestamp();
        return ceil($diff / (60*60*24));
    }
}

Добавим плагин к классу \Cetera\User:

\Cetera\User::addPlugin( 'MyUser' );

Теперь можем использовать метод \Cetera\User::getRegisteredDays():

$user = \Cetera\Application::getInstance()->getUser();
echo 'Я с вами '.$user->getRegisteredDays().' дней!';

Parameters

ObjectPlugin $class класс, методы которого добавить к данному

Return Value

void

in Base at line 192
__call($name, $arguments)

Parameters

$name
$arguments

in Base at line 216
decodeLocaleString($str)

Parameters

$str

in DbConnection at line 22
final static Connection getDbConnection()

Возвращает активное соединение с БД в рамках приложения

Return Value

Connection

in DbConnection at line 35
static void configSet(string $key, miced $value)

Сохраняет пару ключ/значение в БД

Parameters

string $key ключ
miced $value значение

Return Value

void

in DbConnection at line 47
static mixed configGet(string $key)

Возвращает значение связанное с ключем из БД

Parameters

string $key ключ

Return Value

mixed

in DbConnection at line 60
static mixed configGetAll()

Возвращает все ключи/значения из БД

Return Value

mixed

in DbConnection at line 78
static void configUnset(string $key)

Удаляет пару ключ/значение из БД

Parameters

string $key ключ

Return Value

void

static DynamicFieldsObject factory($type, $table = null, $fields = null)

Parameters

$type
$table
$fields

Return Value

DynamicFieldsObject

at line 282
static DynamicFieldsObject fetch(array $data, $i_am_server = false, $b = null)

Parameters

array $data поля объекта
$i_am_server
$b

Return Value

DynamicFieldsObject

at line 207
setFields(array $fields)

Устанавливает поля раздела

Parameters

array $fields поля объекта

in DynamicFieldsObject at line 182
static DynamicFieldsObject getByIdType($id, $type)

Возвращает объект по ID и "Типу материалов".

Parameters

$id
$type

Return Value

DynamicFieldsObject

in DynamicFieldsObject at line 226
__isset($name)

Parameters

$name

in DynamicFieldsObject at line 268
static clearLocks()

in DynamicFieldsObject at line 276
lock($uid)

Parameters

$uid

in DynamicFieldsObject at line 285
unlock()

in DynamicFieldsObject at line 295
int getType()

Возвращает "Тип материалов" объекта

Return Value

int

in DynamicFieldsObject at line 305
string getTable()

Возвращает таблицу БД, в которой хранятся поля объекта

Return Value

string

in DynamicFieldsObject at line 315
array getFieldsDef()

Возвращает описание полей объекта

Return Value

array

at line 1203
mixed getDynamicField(string $name)

Parameters

string $name имя поля

Return Value

mixed

in DynamicFieldsObject at line 366
offsetExists($offset)

Parameters

$offset

in DynamicFieldsObject at line 374
offsetGet($offset)

Parameters

$offset

in DynamicFieldsObject at line 382
offsetSet($offset, $value)

Parameters

$offset
$value

in DynamicFieldsObject at line 385
offsetUnset($offset)

Parameters

$offset

in DynamicFieldsObject at line 557
Object getLinkedObjects($od, $fieldName)

Чтение из БД объектов, которые связаны полем $field с данным объектом.

Parameters

$od
$fieldName

Return Value

Object

deprecated

DEPRECATED

Чтение из БД объектов, на которые ссылается поле

При построении SQL запроса к базе данных, таблице, из которой производится чтение полей объектов присваивается псевдоним "A", а таблице, в которой хранятся связи между объектами - "B". Рекомендуется использовать эти псевдонимы, если вы используете параметры $fields, $where, $order, $group, $limit

Parameters

string $fieldname имя поля
string $fields поля, которые запрашивать из таблицы БД при выборке
string $where параметр WHERE запроса
string $order параметр ORDER BY запроса
string $group параметр GROUP BY запроса
string $limit параметр LIMIT запроса

Return Value

Object

in DynamicFieldsObject at line 663
Object selectLinksIn(int|string $from, string $field, string $fields = '*', string $where = '', string $order = '', string $group = '', string $limit = '')

DEPRECATED Чтение из БД объектов, которые связаны полем $field с объектом.

При построении SQL запроса к базе данных, таблице, из которой производится чтение полей объектов присваивается псевдоним "A", а таблице, в которой хранятся связи между объектами - "B". Рекомендуется использовать эти псевдонимы, если вы используете параметры $fields, $where, $order, $group, $limit

Parameters

int|string $from ID "Типа материалов" или имя таблицы БД, в которой хранятся объекты
string $field имя поля по которому объекты связаны с текущим
string $fields поля, которые запрашивать из таблицы БД при выборке
string $where параметр WHERE запроса
string $order параметр ORDER BY запроса
string $group параметр GROUP BY запроса
string $limit параметр LIMIT запроса

Return Value

Object

at line 855
void delete()

Удаляет раздел

Return Value

void

Exceptions

CMS

at line 1229
void save()

Сохранить раздел

Return Value

void

in DynamicFieldsObject at line 1106
setObjectDefinition($od)

Parameters

$od

static getObjectDefinition()

at line 248
static User getById(int $id)

Возвращает раздел по его идентификатору.

Parameters

int $id ID объекта

Return Value

User

Exceptions

CMS

in Extendable at line 8
final static extend($class)

Parameters

$class

in Extendable at line 13
static create()

in Extendable at line 21
final static callStatic($method)

Parameters

$method

at line 236
setNodeId($id)

Parameters

$id

at line 259
static Section getRoot()

Возвращает корневой раздел

Return Value

Section

at line 305
getName()

Является ли раздел ссылкой на другой раздел

Return Value

boolean

at line 327
boolean isServer()

Является ли раздел сервером

Return Value

boolean

at line 338
boolean isHidden()

Является ли раздел скрытым

Return Value

boolean

at line 349
boolean isRoot()

Является ли раздел корневым

Return Value

boolean

at line 360
boolean isInheritsPermissions()

Наследует ли раздел разрешения, заданные для родительского раздела

Return Value

boolean

at line 372
Path getPath()

Возвращает путь от корня до раздела

Return Value

Path

at line 385
string getPreviewUrl()

Возвращает URL предварительного просмотра материалов раздела

Return Value

string

at line 427
string getUrl()

Возвращает абсолютный URL раздела

Return Value

string

at line 440
string getFullUrl(boolean $prefix = TRUE)

Возвращает полный URL раздела (http://сервер/раздел1/.

../разделN/)

Parameters

boolean $prefix добавлять http:// вначале

Return Value

string

at line 459
getBoUrl()

at line 473
string getTreePath()

Возвращает полный путь до раздела для Ext.tree

Return Value

string

at line 485
Catalog getChildren()

Возвращает дочерние разделы

Return Value

Catalog

at line 501
array getSubs()

Возвращает массив из идентификаторов раздела и дочерних разделов

Return Value

array

at line 525
Server getParentServer()

Возвращает родительский сервер

Return Value

Server

at line 550
Catalog getParent()

Возвращает родительский раздел

Return Value

Catalog

at line 577
string getMaterialsTable()

Возвращает таблицу БД, в которой хранятся материалы раздела

Return Value

string

at line 587
string getMaterialsObjectDefinition()

Возвращает таблицу БД, в которой хранятся материалы раздела

Return Value

string

at line 603
Catalog|FALSE findChildByAlias(string $alias)

Ищет среди дочерних разделов раздел с заданным алиасом

Parameters

string $alias @alias алиас раздела

Return Value

Catalog|FALSE

at line 618
Catalog getChildByAlias(string $alias)

Возвращает дочерний раздел с заданным алиасом

Parameters

string $alias алиас раздела

Return Value

Catalog

at line 635
Catalog getChildByPath(string|array $path)

Возвращает дочерний раздел по заданному пути

Parameters

string|array $path путь, строка 'alias1/alias2/.../aliasN' или массив из алиасов

Return Value

Catalog

Exceptions

Exception

at line 666
Material getLastMaterial($fields = null, $subs = false)

Возвращает последний опубликованный материал раздела.

Parameters

$fields
$subs

Return Value

Material

at line 684
Material getMaterialByAlias(string $alias, string $fields = null, boolean $unpublished = false)

Ищет материал c заданным алиасом

Parameters

string $alias алиас материала
string $fields список простых полей материала, которые выбирать из БД в конструктор материала
boolean $unpublished искать также среди неопубликованных материалов

Return Value

Material

Exceptions

CMS

at line 700
Material getMaterialByID(string $id)

Ищет материал c заданным ID

Parameters

string $id ID материала

Return Value

Material

Exceptions

CMS

at line 711
Material getMaterials()

Возвращает материалы раздела

Return Value

Material

at line 726
string getDefaultTemplate()

Возвращает php шаблон, исполняемый "по умолчанию" для раздела

Return Value

string

at line 762
integer createChild(array $fields)

Создает дочерний раздел

Parameters

array $fields свойства нового раздела

Return Value

integer ID созданного раздела

Exceptions

CMS

at line 931
void fixMaterialTags()

Приводит в порядок порядковые номера материалов раздела: удаляет дубликаты, дыры в нумерации.

Return Value

void

at line 950
bool allowAccess(int $permission, int|array|User $groups)

Проверяет имеет ли пользователь или группа разрешение для данного раздела

Parameters

int $permission код разрешения
int|array|User $groups id группы, массив id групп или пользователь

Return Value

bool

See also

PERM_CAT_OWN_MAT, PERM_CAT_ALL_MAT, PERM_CAT_ADMIN, PERM_CAT_VIEW, PERM_CAT_MAT_PUB

at line 976
int copy(int $dest, bool $subs = false, bool $materials = false)

Копирует раздел

Parameters

int $dest ID раздела, куда копировать
bool $subs копировать подразделы
bool $materials копировать материалы

Return Value

int ID копии

Exceptions

Exception

at line 1054
void move(int $dest)

Перемещает раздел

Parameters

int $dest ID раздела, куда перемещать

Return Value

void

at line 1074
void updateCache()

Очистить все кэши связанные с этим разделом

Return Value

void

at line 1092
void updatePermissions(array $permissions)

Измененить права доступа к разделу

Parameters

array $permissions новые права доступа

Return Value

void

at line 1126
fixTags()

at line 1140
void shift(bool $up)

Подвинуть раздел вверх или вниз на позицию

Parameters

bool $up двигать вверх, иначе вниз

Return Value

void

at line 1168
bool inAppPath()

Проверяет, является ли раздел частью пути к текущему разделу в FO

Return Value

bool

at line 1183
void update(array $props)

Изменение свойств раздела и сохранение

Parameters

array $props новые свойства

Return Value

void

Exceptions

Exception

at line 1216
Material createMaterial()

Создать новый материал в разделе

Return Value

Material

at line 1306
int getMaterialsCount() deprecated

deprecated используйте getMaterials()->getCountAll()

Возвращает количество опубликованных материалов в разделе

Return Value

int

at line 1312
getPermissions()

at line 1319
boArray()