7
votes

Fonction de recherche Administrateur de sonata

J'ai récemment mis à jour mes vendeurs de projet Symfony2. Ainsi, j'ai reçu la dernière version de l'ensemble de Sonata Admin (mise à jour de 2,2,5 à 2.2.6).

J'ai vu qu'il y a une nouvelle fonctionnalité de recherche dans cette version mais je ne peux pas le faire fonctionner. Je ne peux pas comprendre ce que je fais mal. Me conduit fou.

voici mon compositeur.json nécessite: xxx

juste après la mise à jour que j'ai eu la fonction de recherche se plaignant d'un bloc non existant:

Une exception a été lancée lors du rendu d'un modèle ("le type de bloc Sonata.admin.block.search_Result n'existe pas ") dans SonataadminBundle: noyau: search.html.twig à la ligne 48

J'ai corrigé celui-ci en déclarant le bloc dans mon config.yml : xxx

mais maintenant, il se plaint maintenant Demande non définie:

Une exception a été lancée lors du rendu d'un modèle ("le L'objet de demande n'a pas été défini ") dans SonataadminBundle: noyau: search.html.twig à la ligne 48

Je ne comprends vraiment pas ce qui me manque ici. Toute aide serait très appréciée.


2 commentaires

Effacez votre cache ... Peut être cela aidera ...


J'ai essayé de nettoyer mon cache, n'a pas aidé


3 Réponses :


1
votes

Recherche ci-dessous la configuration complète:

compositeur.json xxx

Je viens de forcer un commit spécifique pour le paquet Admin Sonata Admin , juste pour être sûr que nous utilisons la même version. Je vous suggère de supprimer le # da071a913b86619fdd3ffd4cde1f61 String de la configuration après la réalisation d'une version de travail.

config.yml < Pré> xxx

ici la documentation officielle: http://sonata-project.org/bundles/admin/master/doc/reeference/search.html


3 commentaires

J'ai déjà ajouté ces lignes à ma configuration. Donc ce n'est pas le problème.


Je suis désolé mais dans votre question initiale ne sont pas présents, alors je pensais que vous les avez manqués :-)


Je viens de mettre à jour ma réponse avec la configuration complète. J'espère que cela t'aides.



20
votes

Ajoutez le bloc dans votre Sonata Block config:

sonata_block:
    default_contexts: [cms]
    blocks:
        sonata.admin.block.admin_list: #default sonata admin block
            contexts: [admin]
        sonata.admin.block.search_result:
            contexts: [admin]


0 commentaires

7
votes

J'ai la même erreur. C'est probablement parce que vous utilisez la demande dans un administrateur.

public function getRequestParameterOrNull( $key, $default = null ){
    try{
        return $this->getRequest()->get($key, $default);
    }catch(\Exception $e){
        return null;
    }
}


2 commentaires

Oh Nice Catch, j'ai été coincé avec ça depuis un moment maintenant.


Vous pouvez utiliser $ conteneur = ceci-> getconfigurationpool () -> getcontainer (); Si ($ conteneur-> isscopeactive ('demande')) renvoie $ conteneur-> obtenir ('demande'); à l'intérieur de votre attrape . De cette façon, vous avez une fuite parce que la plupart du temps (sinon tout le temps), il y a une demande (votre recherche).