Embauchez-moi

Je suis freelance ! Besoin d'un professionnel du développement web ? Pourquoi ne pas me passer un coup de fil ?

Plus d'infos sur… http://thibault.jouannic.fr

mots-cles : Ingénieur web freelance Symfony eZ Publish Solr

eZ Publish, fetch, recherche et limitation

Ce que j’aime bien, avec le CMS eZ Publish, c’est son abondante documentation. Quoique parfois, je la trouve un peu lacunaire sur les bords.

Quand par exemple, j’utilise la commande fetch content search, j’aimerais bien avoir un indice sur la signification du paramètre «  limitation  ». La documentation ne m’est pas d’une grande aide dans ce cas :

You’ll have to look in the source code of the kernel for details related to the format of this array

Ok, la doc me dit ce que fait le paramètre. Pas comment l’utiliser. Sympa. Étant donné que j’ai passé une demi-journée sur la question, je vais quand même vous en faire profiter.

Le paramètre «  limitation  » sert donc à définir à la main des limites d’accès, alternativement à celles pré-existantes pour l’utilisateur enregistré. C’est à dire que :

{set search=fetch( content,search
                  hash(text,$search_text,
                      subtree_array,$search_sub_tree,
                      sort_by,array( 'modified',false() ),
                      offset,$offset,
                      limitation, array(),
                      limit,$limit ) ) }

(notez le «  array  » vide en face de «  limitation  »), permet d’effectuer une recherche sur l’ensemble du site, indépendamment des droits de l’utilisateur.

Le paramètre «  limitation  », si j’ai bien compris, sert donc à ajouter des éléments qui sont autorisés pour la recherche. Exemple :

{set search=fetch( content,search
                  hash(text,$search_text,
                      subtree_array,$search_sub_tree,
                      sort_by,array( 'modified',false() ),
                      offset,$offset,
                      limitation, array( hash( 
                          Class, array( 65, 66, 67),
                          Section, array( 1, 2, 3 ),
                          Node, array( 25789, 25790, 25791, ... ),
                          Subtree,array( '/1/2/125', '/1/2/151/'),
                          Owner,,
                      ) ),
                      limit,$limit ) ) }

Il est possible de créer toutes les combinaisons possibles de paramètres. Le paramètre «  Owner  » limite les recherches aux objets possédés par les utilisateurs. Il existe quelques autres paramètres, dont je ne parle pas pour ne pas bien en saisir la portée.

J’espère que ça pourra dépanner. Sur ce, si quelqu’un dispose d’une documentation plus complète et plus officielle, je suis preneur.


Envie de vous exprimer ?

Votre email n'est jamais affiché. Votre commentaire ne sera pas affiché non plus s'il est bourré de fautes ou de liens publicitaires. Vous êtes prévenu.

*
*