FriendsOfREDAXO / yform_flexible_content

Flexible Inhalte für YForm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

YForm flexible content

🚧 Das Addon befindet sich noch in der Entwicklung und ist noch nicht für den produktiven Einsatz geeignet.

Das Addon fügt flexible Inhalte für YForm hinzu. Hierfür wird ein neues YForm Value (flexible_content) angeboten, über das beliebig viele Gruppen hinzugefügt werden können, die wiederum beliebig viele Felder verschiedener Typen enthalten können.

Aktuell beschränkt sich das Addon auf die Feldtypen text, textarea, link, linkList, media, mediaList, select, checkbox, radio und sql.

Auf der textarea können bisher folgende WYSIWYG-Editoren verwendet werden: redactor, markitup und ckeditor.

Die erstellten Gruppen können dann in YForm Datensätzen eingebunden werden.

Inhalte werden als JSON gespeichert und können über ein Trait einfacher abgerufen werden. Das Trait entfernt unnötige Daten, die zum Speichern der Inhalte benötigt werden und gibt die Inhalte als Array zurück.

flexible-screen

FlexibleContentTrait

Das Trait kann in eigene YForm Model-Klassen eingebunden werden. Es fügt die Möglichkeit hinzu, die gespeicherten Inhalte einfacher abzurufen.

class custom_yform_model_class extends \rex_yform_manager_dataset
{
    use FlexibleContentTrait;
    
    // ...
}

custom_yform_model_class::get(1)->getFlexibleContent('field_name');

Iterator nutzen

class custom_yform_model_class extends \rex_yform_manager_dataset
{
    use FlexibleContentTrait;
    
    // ...
}

$item = custom_yform_model_class::query()->findId(1);
$groups = $item->getIterableFlexibleContent('field_name');

while ($groups->hasNext()) {
    $group = $groups->current();

    while ($group->hasNext()) {
        $field = $group->current();

        dump($field);

        $group->next();
    }

    $groups->next();
}

About

Flexible Inhalte für YForm

License:MIT License


Languages

Language:PHP 65.4%Language:JavaScript 27.1%Language:Hack 7.2%Language:CSS 0.2%