IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Liip\ImagineBundle Could not find data loader for "my_thumb" filter type [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Points : 378
    Points
    378
    Par défaut Liip\ImagineBundle Could not find data loader for "my_thumb" filter type
    Bonjour,

    J'essaie de générer un thumbnail dans mon controller mais j'ai un problème avec le loader
    Voici mon code

    config.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    liip_imagine:
        resolvers:
           default:
              web_path: ~
     
        filter_sets:
            cache: ~
            my_thumb:
                data_loader: filesystem
                quality: 100
                cache: default            
                filters:
                    thumbnail: { size: [120, 90], mode: outbound }
    mon controller
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    $container = $this->container;
            $dataManager = $container->get('liip_imagine.data.manager');
            $cacheManager = $container->get('liip_imagine.cache.manager');
            $filterManager = $container->get('liip_imagine.filter.manager');
            $loader = $container->get('liip_imagine.data.loader.prototype.filesystem');
            # The controller service
            $imagemanagerResponse = $container->get('liip_imagine.controller');
     
     
            # non utilise
            #$imagemanagerResponse = $container->get('liip_imagine.controller');
            # The filter configuration service
            $filterConfiguration = $container->get('liip_imagine.filter.configuration');
     
            $filter = 'my_thumb';
            $path = 'uploads/gallery/53396e29a9bb9.png';
     
            # Get the filter settings
            $configuracion = $filterConfiguration->get($filter);
     
            $targetPath = $cacheManager->resolve($path, $filter);
     
            if ($targetPath instanceof Response) {
                return $targetPath;
            }
     
            # Apply the filter
            //plantage ici
            $imagemanagerResponse->filterAction($this->getRequest(), $targetPath, $filter);
     
            // c'est cette fonction qui affiche le message d'erreur
            $image = $dataManager->find($filter, $path);
    Je suis en version 1.0 de liip

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Bonjour,

    Il y a des chances pour que ce soit l'arborescence complète qui soit attendue non ?

    Essaye peut-être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $filter = 'liip_imagine_filter_sets_my_thumb';
    // ou bien
    $filter = 'liip_imagine.filter_sets.my_thumb';

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Points : 378
    Points
    378
    Par défaut
    Non ce n'est pas là le soucis si je fais ça j'ai comme message d'erreur

    Could not find configuration for a filter: liip_imagine_filter_sets.my_thumb
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    public function get($filter)
        {        
            if (false == array_key_exists($filter, $this->filters)) {
                throw new \RuntimeException(sprintf('Could not find configuration for a filter: %s', $filter));
            }
            return $this->filters[$filter];

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Points : 378
    Points
    378
    Par défaut
    Bon voila il y a avait un bug
    https://github.com/liip/LiipImagineBundle/pull/385

    Voici mon code fonctionnel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    liip_imagine:
        resolvers:
           default:
              web_path: ~
        loaders:
            default:
                filesystem: ~          
        filter_sets:
            cache: ~
            my_thumb:            
                quality: 100
                cache: default            
                filters:
                    thumbnail: { size: [120, 90], mode: outbound }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    /*
             * get all service
             */
            $container = $this->container;
            $dataManager = $container->get('liip_imagine.data.manager');
            $cacheManager = $container->get('liip_imagine.cache.manager');
     
            $filter = 'my_thumb';
            $path = 'uploads/gallery/53396e29a9bb9.png';
     
            //thumbail existe ?
            if (!$cacheManager->isStored($path, $filter)) {
                // get Liip\ImagineBundle\Model\Binary
                $image = $dataManager->find($filter, $path);
                //create thumbail
                $cacheManager->store($image, $path, $filter);
            } else {
                //get url http
                $url = $cacheManager->getBrowserPath($path, $filter);
            }

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Points : 378
    Points
    378
    Par défaut
    Oups il manque l'application du filter ;-)

    Voila

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    /*
     * get all service
     */     
    $filterManager = $container->get('liip_imagine.filter.manager');
    //...
    //create thumbail
    $cacheManager->store(
       $filterManager->applyFilter($image, $filter), $path, $filter
    );

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Could not find a getter for in class ?
    Par koukou0687 dans le forum Hibernate
    Réponses: 4
    Dernier message: 18/04/2011, 17h08
  2. Réponses: 2
    Dernier message: 12/04/2010, 17h47
  3. Axis Fault : could not find deserializer for type
    Par hadler dans le forum Services Web
    Réponses: 4
    Dernier message: 05/01/2010, 15h09
  4. PropertyNotFoundException: Could not find a getter for
    Par chady dans le forum Hibernate
    Réponses: 1
    Dernier message: 09/06/2009, 16h19
  5. ADF : Could not find renderer for
    Par eric95 dans le forum JSF
    Réponses: 11
    Dernier message: 22/11/2006, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo