Comment sélectionner un fichier vidéo (mp4, ogv, webm ...) dans un plugin en tant que paramètre?
J'ai l'intention de sélectionner un fichier vidéo dans les paramètres d'un plugin, essayez le type de champ media
mais les fichiers vidéos ne sont pas répertoriés. En utilisant le type de champ filelist
ils sont listés.
Le seul moyen est d’utiliser filelist
type de champ?
Le meilleur moyen d'autoriser la sélection vidéo dans un champ d'extension consiste à utiliser un champ personnalisé. Pour une introduction aux champs personnalisés, jetez un œil à cet article de la documentation Joomla! .
Dans sa forme la plus simple, vous pouvez simplement étendre le type de champ filelist
et lui donner la liste des fichiers vidéo en utilisant les formats de votre choix. Voici un exemple (basé sur le type de champ imagelist
):
Fichier: /modules/mod_YOURMODULE/models/fields/videos.php
<?php
defined('JPATH_PLATFORM') or die;
JFormHelper::loadFieldClass('filelist');
class JFormFieldVideos extends JFormFieldFileList
{
protected $type = 'ImageList';
protected function getOptions()
{
// Define the vide file type filter. Edit as needed.
$this->filter = '\.mov$|\.mpg$|\.mp4$|\.ogv$|\.webm$|\.mts$|\.avi$|\.wmv$';
return parent::getOptions();
}
}
Fichier: /modules/mod_YOURMODULE/mod_YOURMODULE.xml
<fieldset name="videos" addfieldpath="/modules/mod_YOURMODULE/models/fields">
<field name="videos" type="Videos" label="Select a video" description="" directory="images" />
</fieldset>
Ce n'est pas aussi élégant que le menu contextuel du gestionnaire de média, mais la même méthode peut être utilisée pour créer un formulaire plus complexe si vous savez comment faire.
La même chose peut être obtenue en ajoutant des filtres au champ de formulaire filelist
directement:
<field type="filelist" name="test" label="Video filter" directory="images" filter="\.mov$|\.mpg$|\.mp4$|\.ogv$|\.webm$|\.mts$|\.avi$|\.wmv$" />
(Une question connexe avec quelques réponses peut être trouvée ici .)
Essayez d’ajouter des extensions et des types MIME appropriés dans les paramètres com_media. Si cela ne vous aide pas, il est possible que vous deviez créer votre propre type de champ pour cela.
Vous pouvez utiliser l'éditeur JCE avec l'addon du gestionnaire de média du plugin.
https://www.joomlacontenteditor.net/downloads/plugins/media-manager