Flex
compter().
count() : int Compte le nombre de répertoires enregistrés dans Flex.
Retour:
intNombre de Répertoires.
Twig
{% set flex = grav.get('flex') %}
Flex has {{ flex.count() }} enabled directories.
PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexInterface;
/** @var FlexInterface $flex */
$flex = Grav::instance()->get('flex');
/** @var int $count */
$count = $flex->count();
getDirectories().
getDirectories( [names] ): array Récupère la liste des répertoires.
Paramètres:
- names Facultatif : Liste des noms de répertoires (
array).
Retour:
arrayliste des Répertoires.
ASTUCE : Si aucune liste de noms n'a été fournie, la méthode renvoie tous les répertoires enregistrés dans Flex.
Twig
{% set flex = grav.get('flex') %}
{# Get all directories #}
{% set directories = flex.directories() %}
{# Get listed directories #}
{% set listed_directories = flex.directories(['contacts', 'phonebook']) %}
{# Do something with the directories #}
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 $directories */
$listedDirectoriesWithMissing = $flex->getDirectories(['contacts', 'phonebook'], true);
// = ['contacts' => FlexDirectory, 'phonebook' => null]
ASTUCE : Vous voudrez peut-être vous assurer de ne renvoyer que les répertoires souhaités.
hasDirectory().
hasDirectory( name ): bool : Vérifie si le répertoire existe.
Paramètres:
- name Nom du répertoire (
string)
Retour:
boolVrai si trouvé, faux sinon
Twig
{% set flex = grav.get('flex') %}
Flex has {{ not flex.hasDirectory('contacts') ? 'not' }} contacts directory.
PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexInterface;
/** @var FlexInterface $flex */
$flex = Grav::instance()->get('flex');
/** @var bool $exists */
$exists = $flex->hasDirectory('contacts');
getDirectory().
getDirectory( name ): Directory | null obtient un répertoire, renvoie null s'il n'a pas été trouvé.
Paramètres:
- name Nom du répertoire (
string)
Retour:
- Répertoires (
objet) nullRépertoire introuvable
Twig
{% set flex = grav.get('flex') %}
{# Get contacts directory (null if not found) #}
{% set directory = flex.directory('contacts') %}
{# Do something with the contacts directory #}
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...
}
Vérifiez ce que vous pouvez faire avec [Flex Directory](avance-flex-repertoire.md).
getObjet().
getObject( id, répertoire ): Objet | null Obtient un objet, renvoie null s'il n'a pas été trouvé.
Paramètres:
- id ID de l'objet (
string) - directory Nom du répertoire (
string)
Retour:
- Object (
Object) nullObjet introuvable
Twig
{% 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...
}
Vérifiez ce que vous pouvez faire avecFlex Object.
getCollection().
getCollection( répertoire ): Collection | null Obtient la collection, renvoie null si elle n'a pas été trouvée.
Paramètres:
directoryNom du répertoire (string)
Retour:
- Collection (
object) nullRépertoire introuvable
Twig
{% set flex = grav.get('flex') %}
{% set contacts = flex.collection('contacts') %}
{# Do something #}
<h2>Ten random contacts:</h2>
<ul>
{% for contact in contacts.filterBy({published: true}).shuffle().limit(0, 10) %}
<li>{{ contact.first_name|e }} {{ contact.last_name|e }}</li>
{% endfor %}
</ul>
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...
}
Vérifiez ce que vous pouvez faire avec Collection Flexible.