?>

Comment ajouter une image à un modèle?

Comment ajouter une image à un modèle?

SkeekS CMS a un composant de stockage de fichiers. Chaque fichier téléchargé dans ce référentiel est stocké dans une base de données et possède son propre modèle de données.

Imaginez que nous ayons un produit Produit. Et nous voulons télécharger une image sur le stockage de fichiers et la lier au produit.

Le problème est résolu comme suit.

1) Le modèle de produit doit contenir la propriété image_id (int)

2) Le modèle de produit doit avoir un comportement

<?php class Product extends \yii\db\ActiveRecord { /** * @return array */ public function behaviors() { return array_merge(parent::behaviors(), [ \skeeks\cms\models\behaviors\HasStorageFile::className() => [ 'class' => \skeeks\cms\models\behaviors\HasStorageFile::className(), 'fields' => ['image_id'] ] ]); } } 

Et le widget correspondant est effectivement utilisé sous la forme:

<?= $form->field($product, 'image_id')->widget( \skeeks\cms\widgets\formInputs\StorageImage::className() ); ?> 

C'est tout, image_id - peut être appelé n'importe quoi, et il peut y avoir autant de champs que vous le souhaitez. image1_id image2_id ...

Tous les commentaires (0)
Sans commentaires