Détail du message 77581.20

Message numéro 20 dans le sujet Envoi d'un document spécifique par request à un block.

  • 77581.20 en réponse à 77581.19 écrit par Mathias

    24/04/2013 11:56


    mamous
    Rang : Expert
    Bonjour,
    je tiens à vous remercier pour votre réponse bien détaillée.

    Je viens d'ajouter le bout de code dont vous m'avez envoyer, en faisant dans la méthode
    public function checkMyFilterAndMyBoolean($monDoc)
      {
        return true;
      }
    ainsi si j'aurais un document dans le BO le block s'affichera en Front.
    c'est deja pas mal.
    Maintenant, et dans mon cas, l'attribut query que j'ai utiliser pour le filtre, fait appel aux filtres définit dans le module order
    <field name="query" type="objectfilter" allow="order/cart,order/cartdiscount::checkValue" hidehelp="true" />
    du coup, je voulais dans la méthode checkMyFilterAndMyBoolean tester sur le retour de ce dernier.
    En suivant quelques exemples de modules, j'ai ajouter la méthode
    	/**
    	 * @param xxx_persistentdocument_xxx $xxx
    	 * @param order_CartInfo $cart
    	 * @return boolean
    	 */
    	public function validateForCart($xxx, $cart)
    	{
    		$df = f_persistentdocument_DocumentFilterService::getInstance();
    		$errors = array();
    		if ($df->checkValueFromJson($xxx->getQuery(), $cart)
    		{
    			return true;
    		}
    		return false;
    	}
    mais je me trouve avec un message d'erreur m'indiquant que je peux pas invoquer la méthode getQuery sur un non objet ($xxx) sachant que j'ai modifier dans l'entête du service pour qu'il étend order_CartmodifierService.
    Une deuxième question, si je procéde de cette manière là, au niveau de l'action du block dois je faire une chose de ce type
    public function checkMyFilter($monDoc)
    	  {
    			return xxx_xxxService::getinstance()->validateForCart($monDoc, $cart);
    	  }
    et dans mon cas le $cart n'est pas définit donc comment dois je le récupérer...

    Développeur & Intégrateur Web

    RBS Change
    V 3.5.2
    Ecommerce Core
 
1356 membres
Aucun membre connecté