Détail du message 81873.1

Message numéro 1 dans le sujet Classe FormHelper limite l'usage de champs au sein du module form.

  • 81873.1

    15/11/2013 00:36


    Mathias
    Rang : Expert
    Bonjour,

    au sein du formHelper du module form, la méthode suivante empêche la création de champs dans un module spé :
    /**
    	 * @param form_persistentdocument_field $field
    	 * @param string $value
    	 */
    	public static function fromFieldDocument($field, $value = '')
    	{
    	  
    		if ($field instanceof form_persistentdocument_field)
    		{
    			$type = ucfirst(substr(get_class($field), strlen('form_persistentdocument_')));
    			$methodName = 'from'.$type.'FieldDocument';
    			if (f_util_ClassUtils::methodExists(get_class(), $methodName))
    			{
    				return self::$methodName($field, $value);
    			}
    		}
    		return "Unknown field type: ".get_class($field, $value);
    	}


    En effet, la ligne :
    $type = ucfirst(substr(get_class($field), strlen('form_persistentdocument_')));

    conditionne la poursuite du code au fait que le model du document appartienne au module form. Or si j'ai dans un module spé créé des champs spécifique qui étendent un type de champs particulier du module form sans l'injecter, on est coincé, et obligé d'utiliser l'AOP pour arriver à nos fins...

    c'est dommage ;)

    Développe sous linux Ubuntu 12.04 LTS Desktop
    Projet ecommerce core 3.6.7
 
1429 membres
Aucun membre connecté