2017-09-25 4 views
0

Ajoutez un champ supplémentaire pour fileupload. Mais l'entrée de données dans le modèle est un ensemble de caractères spéciaux. Comment obtenir le chemin d'origine?Comment obtenir le chemin d'image actuel dans le modèle Contao

Mon code:

$GLOBALS['TL_DCA']['tl_news']['fields']['image'] = array 
(
    'label'     => &$GLOBALS['TL_LANG']['tl_news']['quoteperson_image'], 
    'exclude'     => true, 
    'filter'     => true, 
    'inputType'    => 'fileTree', 
    'eval'     => array('tl_class' => 'clr','files' => true,'fieldType' =>'checkbox',), 
    'sql'     => "blob NULL", 
); 

Répondre

2

Les données renvoyées par le widget fileTree est un UUID binaire. Afin d'obtenir le chemin d'origine, vous pouvez faire ce qui suit par exemple:

$objFile = \FilesModel::findByUuid($uuid); 
$strPath = $objFile->path; 
+0

Merci à Fritzmg. Ça marche. Je pense que les opérations PHP effectuées dans le fichier modèle ne sont pas une bonne pratique. Alors où pouvons-nous faire ces manipulations? Avons-nous besoin d'étendre le module de listes de nouvelles également? –

+1

Je pense que c'est bien de le faire dans le modèle. Mais en cas de nouvelles, vous pouvez utiliser le crochet 'parseArticles' pour cela. Cela fournit un moyen propre d'injecter les variables appropriées dans votre modèle de nouvelles. – fritzmg