web-dev-qa-db-fra.com

Joomla constante au chemin du modèle actuel

Je développe un module personnalisé, et j’ai besoin de ce module pour afficher certaines images sélectionnées dans le backend. Je déclare donc un paramètre de type "imagelist" dans mon fichier XML de module.

    <fields name="params">
        <fieldset name="advanced">
            <field
                name="project1-image"
                type="imagelist"
                directory="???\images"
                label="..."
                description="..." />
        </fieldset>
    </fields>

Le problème est que le répertoire "images" se trouve dans certains modèles Joomla. Existe-t-il une constante telle que "JPATH_COMPONENT" ou "JPATH_BASE" pointant vers le modèle actuellement appliqué au site? Ou dois-je forcer l'administrateur du site à écrire le nom du fichier et à le trouver dans le fichier php de mon module (ce qui semble être une mauvaise solution).

Si vous entrez une valeur de répertoire, celle-ci sera relative à la racine de votre installation Joomla. Ainsi, si vous souhaitez obtenir des images de votre modèle, utilisez simplement les éléments suivants:

directory="templates/TEMPLATE_NAME/images"

Ceci ne peut être utilisé que pour un modèle prédéfini et ne peut pas être utilisé pour le modèle actuel .

Pour cela, vous devrez créer un champ de formulaire personnalisé. Je suggérerais de copier le champ de formulaire imagelist et de changer les chemins

1
Lodder

Regardez https://Gist.github.com/leFlea-snippets/4602845

PHP: Joomla - Obtenir le chemin du modèle actif

// Get active template path from anywhere on Joomla: 
$app    = JFactory::getApplication();
$path   = JURI::base(true).'/templates/'.$app->getTemplate().'/';
5
Cravener