web-dev-qa-db-fra.com

Remplacer renderfield.php dans le formulaire de contact

J'ai des problèmes avec mon formulaire de contact. Il semble que com_contact utilise son propre renderfield.php qu'on peut trouver dans components/com_contact/layouts/joomla/form.

  1. Pourquoi sa propre renderfield.php et pas le sien renderlabel.php?
  2. Comment puis-je remplacer renderfield.php?
3
Yaumes

Je crois que la fonction getRenderer dans libraries/joomla/form/field.php est celui qui retourne le chemin du rendu, et le bogue est là. Je n'ai pas testé cela, mais une recherche rapide dans le système de fichiers m'indique cette fonction.

Dans tous les cas, vous n'avez pas besoin, à mon avis, de passer à travers les tracas et de remplacer le renderfield.php. Vous pouvez simplement remplacer le default_form.php (com_contact/views/contact/tmpl/defaut_form.php) et remplacez la ligne suivante:

<?php echo $field->renderField(); ?>

avec un appel à votre fonction

<?php echo myRenderField($field); ?>

myRenderField rendra $field comme tu veux.

1
itoctopus