web-dev-qa-db-fra.com

Joomla media extra field sans balise Alt

J'ai créé un champ multimédia supplémentaire à inclure dans certains articles et j'ai remarqué que les attributs ALT et Titre du champ multimédia ne peuvent pas être définis sur l'image. J'ai besoin de suggestions pour un remplacement ou comment implémenter ces balises.

1
Joso

Tout d'abord, vous devrez créer un champ séparé pour la balise alt. Prenez note de cela et de l'ID du champ d'image.

Vous devez ensuite remplacer la mise en page de l'article. Pour ce faire, copiez components\com_content\views\article\tmpl\default.php à templates\yourtemplate\html\com_content\article\default.php (où "votre-modèle" est le nom du modèle que vous utilisez).

Où vous voulez que l'image apparaisse, vous devriez alors ajouter du code comme suit:

echo JHTML::_('image', $this->item->jcfields[1]->rawvalue,$this->item->jcfields[2]->rawvalue, ["title"=>$this->item->jcfields[2]->rawvalue]);

Ce code suppose que votre champ image a un identifiant de 1 et que vos champs alt et titre ont un identifiant de 2. Échangez simplement ces numéros sinon.

Si cela ne fonctionne pas, essayez d'ajouter

JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php'); 

au-dessus du code, bien que je pense que cet assistant devrait déjà être appelé dans la vue de l'article.

Un code de validation supplémentaire peut être requis s'il ne s'agit pas d'un champ obligatoire, mais les éléments ci-dessus devraient constituer l'essentiel.

1
Richard B