info:concrete5:58:express

Ceci est une ancienne révision du document !


express

Le nouveau module génial de concrete5, qui vous permet de gérer des bases de données relationnelles en deux coup de cuillère à pot!

Pour être tout à fait honnête, je préfère quand je peux utiliser de bonnes vieilles techniques robustes (p. ex. les attributs et les types de page, ou des tables SQL ad hoc), notamment par que j'ai des doutes sur la fiabilité d'Express sur des gros sets de données; par contre, c'est super p. ex. pour un petit intranet pour un·e client·e qui n'a aucune connaissance en base de données, et il est vraiment très aisé de faire du relationnel.

Une bibliographie toute simple aka personnaliser l'affichage des données: https://gitlab.com/zpartakov/c5expresspublications

Extraire des valeurs express

$c = Page::getCurrentPage();
// Concrete\Core\Entity\Attribute\Value\Value\ExpressValue
$testExpressValue = $c->getAttribute('test_express');
if ($testExpressValue) {
    // array of Concrete\Core\Entity\Express\Entry
    $testExpressEntryArray = $testExpressValue->getSelectedEntries();
    // Concrete\Core\Entity\Express\Entry
    $testExpressEntry = $testExpressEntryArray[0];
    // array of Concrete\Core\Entity\Attribute\Value\ExpressValue
    $attributes = $testExpressEntry->getAttributes();
    foreach ($attributes as $attribute) {
        // Concrete\Core\Entity\Attribute\Value\ExpressValue
        echo '<p>' . $attribute->getAttributeKey()->getAttributeKeyName() . ': ' . $attribute->getDisplayValue() . '</p>';
    }
}

For anyone trying to work with images in Express objects:

$photoFileObject = $entry->getImageAttributeHandle();
if (is_object($photoFileObject)) {
    $photoFileObjectVersion = $photoFileObject->getVersion();
    $photoRelativePath = $photoFileObjectVersion->getRelativePath();
}

source: https://www.concrete5.org/community/forums/customizing_c5/get-express-values-from-page-attribute/

  • info/concrete5/58/express.1581662670.txt.gz
  • Dernière modification : 2020/02/14 07:44
  • de radeff