Flex⚓︎
Полный список методов можно найти в разделе Настройка объектов Flex.
count()⚓︎
count(): int
Подсчёт количества каталогов, зарегистрированных во Flex.
Возвращает: - int
Количество Каталогов
getDirectories()⚓︎
getDirectories( [names] ): array
Получить список каталогов.
Параметры: - names Необязательно: список имен каталогов (array
)
Возвращает: - array
список Каталогов
Если список имен не был предоставлен, метод возвращает все каталоги, зарегистрированные во Flex.
<?php
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexInterface;
use Grav\Framework\Flex\Interfaces\FlexDirectoryInterface;
/** @var FlexInterface $flex */
$flex = Grav::instance()->get('flex');
/** @var FlexDirectoryInterface[] $directories */
$directories = $flex->getDirectories();
// = ['contacts' => FlexDirectory, ...]
/** @var FlexDirectoryInterface[] $directories */
$listedDirectories = $flex->getDirectories(['contacts', 'phonebook']);
// = ['contacts' => FlexDirectory]
/** @var array<FlexDirectoryInterface|null> $directories */
$listedDirectoriesWithMissing = $flex->getDirectories(['contacts', 'phonebook'], true);
// = ['contacts' => FlexDirectory, 'phonebook' => null]
Вы можете убедиться, что возвращаете только те каталоги, которые хотите.
hasDirectory()⚓︎
hasDirectory( name ): bool
: Проверить, существует ли каталог.
Параметры: - name Имя каталога (string
)
Возвращает: - bool
true
, если найден, иначе false
getDirectory()⚓︎
getDirectory( name ): Directory | null
Получить каталог, возвращает null
, если он не был найден.
Параметры: - name Имя каталога (string
)
Возвращает: - Каталог (object
) - null
Каталог не найден
<?php
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexInterface;
use Grav\Framework\Flex\Interfaces\FlexDirectoryInterface;
/** @var FlexInterface $flex */
$flex = Grav::instance()->get('flex');
/** @var FlexDirectoryInterface|null $directory */
$directory = $flex->getDirectory('contacts');
if ($directory) {
// Directory exists, do something with it...
}
Проверьте, что вы можете сделать с каталогом Flex
getObject()⚓︎
getObject( id, directory ): Object | null
Получить объект, возвращает null
, если он не был найден.
Параметры: - id ID объекта (string
) - directory Имя каталога (string
)
Возвращает: - Объект (object
) - null
Объект не найден
{% set flex = grav.get('flex') %}
{% set contact = flex.object('ki2ts4cbivggmtlj', 'contacts') %}
{# Do something #}
{% if contact %}
{# Got Bruce Day #}
{{ contact.first_name|e }} {{ contact.last_name|e }} has a website: {{ contact.website|e }}
{% else %}
Oops, contact has been removed!
{% endif %}
<?php
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexInterface $flex */
$flex = Grav::instance()->get('flex');
/** @var FlexObjectInterface|null $object */
$object = $flex->getObject('ki2ts4cbivggmtlj', 'contacts');
if ($object) {
// Object exists, do something with it...
}
Проверьте, что вы можете сделать с объектом Flex
getCollection()⚓︎
getCollection( directory ): Collection | null
Получить коллекцию, возвращает null
, если она не найдена.
Параметры: - directory
Имя каталога (string
)
Возвращает: - Коллекция (object
) - null
Каталог не найден
<?php
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexInterface;
/** @var FlexInterface $flex */
$flex = Grav::instance()->get('flex');
/** @var FlexCollectionInterface|null $collection */
$collection = $flex->getCollection('contacts');
if ($collection) {
// Collection exists, do something with it...
}
Проверьте, что вы можете сделать с коллекцией Flex