Bonjour à tous,
J'essaye de créer une galerie d'image avec le plugin Media de Grafikart.
J'ai suivi le model pour créer des articles.
j'ai donc comme fichier GaleriesController.php, Galery.php, index.ctp, show.ctp, admin_index.ctp et admin_edit.ctp
Seulement au lieu d'avoir mes fichiers transférer dans galeries/%y/%m/%f, j'aimerais que ce soit dans galeries/nomdelagalerie.
Le nom de la galerie étant dans ma BDD le champ name, comment faites vous cela ?

Dans mon admin_edit j'ai ajouter <?php echo $this->Uploader->iframe('Galery',ID); ?> et dans mon model Galery.php

public $hasMany = array('Media.Media');

Que faut-il mettre à la place de ID dans l'iframe et comment faites vous pour afficher toutes les images contenu dans le dossier dans show.ctp

Merci de votre aide

3 réponses


zenkiai
Auteur

Bonjour à tous,
j'ai réussi un créé un dossier du nom de la galerie à chaque nouvelle ajout comme ceci :
Dans le model Galery.php j'ai fait un beforesave :

public function beforeSave(){
    if(isset($this->data'Galery']'name'])){
        $dir = IMAGES.'galeries'.DS.$this->data'Galery']'name'];
        if (!file_exists($dir)) {
            mkdir($dir,0777);
        }
    }
    return true;
}

Mais j'aimerais que les medias enregistrés soient dans ce dossier et non dans galeries/%y/%m/%f.
Ensuite si on y arrive, j'aimerais lister toutes les images d'un dossier dans ma vue show.ctp, y-a-t-il
une méthode en cakephp ?

Merci de votre aide

zenkiai
Auteur

J'ai réussi à lister mes photos dans ma vue grace à

<?php foreach (glob('img/galeries/'.$galery'Galery']'name'].DS.'*') as $file): ?>
    <a href="/<?php echo $file; ?>" class="zoombox">
    <img src="/<?php echo $file; ?>">
    </a>
<?php endforeach; ?>

Cependant je n'ai toujours pas réussi à transférer mes photos grâce au plugin Media dans le dossier $galery'Galery']'name']
créé grâce à mon beforeSave. je suis donc obligé de le faire par ftp, et le but serait tout de même de le faire depuis le Backoffice.

Existe-t-il un moyen de mettre le dossier les photos directement dans un dossier nommé : $galery'Galery']'name'] ?

zenkiai
Auteur

Je up ce post pour ma dernière question de ma dernière réponse.
"je n'ai toujours pas réussi à transférer mes photos grâce au plugin Media dans le dossier $galery'Galery']'name']
créé grâce à mon beforeSave. je suis donc obligé de le faire par ftp, et le but serait tout de même de le faire depuis le Backoffice.
Existe-t-il un moyen de mettre le dossier les photos directement dans un dossier nommé : $galery'Galery']'name'] ?"
Merci de votre aide