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...