Forum CMS Made Simple FR
[Résolu] Variable irrécupérable pour afficher une gallery - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : [Résolu] Variable irrécupérable pour afficher une gallery (/thread-2563.html)



[Résolu] Variable irrécupérable pour afficher une gallery - Marouy - 02/02/2013

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.4
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.4
#~ Installed Modules:
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.3
#~ FileManager: 1.4.3
#~ MenuManager: 1.8.4
#~ MicroTiny: 1.2.5
#~ ModuleManager: 1.5.5
#~ News: 2.12.10
#~ Search: 1.7.7
#~ ThemeManager: 1.1.7
#~ FormBuilder: 0.7.3
#~ Gallery: 1.6
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ output_compression:
#~ max_upload_size: 20000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.2.8
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ memory_limit: 128M
#~ max_execution_time: 3000
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 8M
#~ upload_max_filesize: 20M
#~ session_save_path: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp (0777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: apache2handler
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.1.30
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour à tous,

ce soir (enfin cette nuit ^^), je fais face à un problème qui me semblait simplissime, mais que je n'arrive pas à résoudre, voilà le topo :

Dans mon template, j'ai inséré ce code :
Code :
[== Indéfini ==]
{capture name='galerie'}{content oneline='true'}{/capture}

Puis :
Code :
[== Indéfini ==]
{Gallery dir='{$smarty.capture.galerie}'}

L'intérêt ? L'utilisateur a juste à saisir le nom de la galerie dans le champ {content} qui affiche alors la galerie correspondante.
Le problème, c'est que la variable est à l'intérieur de {Gallery} et ça ne fonctionne pas. J'arrive à capturer la variable entré dans {content}, je la vois, mais impossible de la faire fonctionner en corrélation avec Gallery.

Je dois passer à côté d'un détail...

Merci beaucoup pour votre aide,
Bonne soirée (nuit ^^),
Marouy


[Résolu] Variable irrécupérable pour afficher une gallery - Jean le Chauve - 02/02/2013

Pas besoin de capture : {Gallery dir=$content} Cool


[Résolu] Variable irrécupérable pour afficher une gallery - Marouy - 02/02/2013

1. Merci, je vais essayer. Et je peux tout de même passer des paramètres à content (oneline="true) ?

2. Question subsidiaire : est-il possible de ne pas générer de vignettes avec Gallerie ? En effet, j'ai une fonction qui tourbe dans une balise utilisateur qui permet d'afficher des images d'un dossier créé avec gallery de manière aléatoire, mais je ne veux pas de vignette.


[Résolu] Variable irrécupérable pour afficher une gallery - Marouy - 02/02/2013

1. Je viens de tester, mais ça ne fonctionne pas.
Cela fonctionne :
Code :
[== Indéfini ==]
{content oneline="true"}
{Gallery dir='Nom-de-ma-galerie'}
Mais lorsque je passe {content} en variable :
Code :
[== Indéfini ==]
{content oneline="true"}
{Gallery dir=$content}
Le slider se met en place, mais il cherche les photos dans des endroits incongrus (vu avec firebug). Par exemple, la photo qui s'affiche normalement comme ça (dans mon premier cas) :
Code :
[== Indéfini ==]
<img src="uploads/images/Gallery/instax/instax-2.jpg" alt="" />
Il l'a cherche ici :
Code :
[== Indéfini ==]
<img src="http%3A//127.0.0.1/Schmitty/index.php%3Fmact%3DGallery%2Cm721d7%2Cdefault%2C1%26amp%3Bm721d7dir%3Dinstax%252F%26amp%3Bm721d7returnid%3D61%26amp%3Bpage%3D61?1359807026219" alt=""/>

J'ai vraiment besoin de votre aide là...
Merci d'avance,
Marouy


[Résolu] Variable irrécupérable pour afficher une gallery - Jean le Chauve - 02/02/2013

Tu n'utilises pas bien {content}, oneline ne fonctionne pas avec content tout seul (voir doc extensions->balises).
Tu dois plutôt créer un {content block="galerie" label="Entrez le nom de la galerie à utiliser pour cette page" wysiwyg=false oneline=true default="nomGalerieParDéfaut" assign="nomGalerie"}
Tu peux alors récupérer le nom de galerie avec {Gallery dir=$nomGalerie}


[Résolu] Variable irrécupérable pour afficher une gallery - Marouy - 02/02/2013

Effectivement, tu viens de me donner une bonne leçon sur la balise {content}, je suis parti sur une utilisation un peu "exotique"...

Tout rentre à présent dans l'ordre !

Pour ma seconde question (ne pas créer de vignettes dans les dossiers créés avec gallery), as-tu une idée ?

Merci infiniment pour ton aide !


[Résolu] Variable irrécupérable pour afficher une gallery - Jean le Chauve - 02/02/2013

Les vignettes sont appelées avec $image->thumb.
Vérifie ton gabarit de galerie et enlève ce que tu ne veux pas.
Sans ton gabarit, je ne peux pas plus t'aider.


[Résolu] Variable irrécupérable pour afficher une gallery - Marouy - 03/02/2013

En fait, je ne m'occupe pas des vignettes dans mes gabarits : à ce niveau-là, pas de problèmes !
Mais j'utilise "Gallery" pour ajouter des photos que j'affiche ensuite à l'aide d'un script php aléatoirement dans une balise utilisateur.
Et ce qui me gène, c'est carrément la présence des vignettes dans les dossiers, parce qu'elles viennent s'afficher aussi aléatoirement alors que je ne les veux pas.

Comment stopper la génération automatique ?


[Résolu] Variable irrécupérable pour afficher une gallery - Jean le Chauve - 03/02/2013

Comment veux-tu que je sache Rolleyes
On n'a aucune donnée sur les codes que tu utilises.
Si tu utilises un code php pour afficher tes images, je ne vois pas où tu as un problème de vignette...


[Résolu] Variable irrécupérable pour afficher une gallery - Marouy - 04/02/2013

Voici le script que j'utilise pour afficher une image aléatoire d'un dossier (il fonctionne), mais qui prend en compte aussi les vignettes (ce qui me déplaît...)
Il faudrait que j'arrive à mettre une exception sur les fichiers commençant par "thumb"...

Code :
[== PHP ==]
    $chem_img = "./uploads/images/gallery/portfolio";
    $handle  = opendir($chem_img);
    while ($file = readdir($handle))
        {
            // Je pense qu'il faut que j'ajoute une condition ici pour ne pas afficher les images commençant par "thumb..." mais la syntaxe php m'échappe...
            if(preg_match ("!(\.jpg|\.jpeg|\.gif|\.bmp|\.png)$!i", $file))
                {
                    $listef[] = $file;
                }
        }
    
    $random_img = rand(0, count($listef)-1);
    $size = getimagesize($chem_img."/".$listef[$random_img]);
    echo "<img src=\"".$chem_img."/".$listef[$random_img]."\" />";
    closedir($handle);

Merci beaucoup et bonne journée,
Marouy


[Résolu] Variable irrécupérable pour afficher une gallery - Jean le Chauve - 04/02/2013

Utilise cette fonction : http://www.php.net/manual/fr/function.strpos.php


[Résolu] Variable irrécupérable pour afficher une gallery - Marouy - 04/02/2013

Parfait, c'est la fonction qu'il me fallait. J'espère l'utiliser correctement...

Est-ce que cela te semble fonctionnel (PHP était mon ami, mais ça fait un bout de temps qu'on ne s'est plus parlé Wink) :

Code :
[== PHP ==]
    $chem_img = "./uploads/images/gallery/portfolio";
    $handle  = opendir($chem_img);
    while ($file = readdir($handle))
        {
            
            if(preg_match ("!(\.jpg|\.jpeg|\.gif|\.bmp|\.png)$!i", $file))
                {
                    $findme = 'thumb';
                    $pos = strpos($file, $findme);
                    if ($pos === false)
                        {
                        $listef[] = $file;
                        }
                }
        }
    
    $random_img = rand(0, count($listef)-1);
    $size = getimagesize($chem_img."/".$listef[$random_img]);
    echo "<img src=\"".$chem_img."/".$listef[$random_img]."\" />";
    closedir($handle);



[Résolu] Variable irrécupérable pour afficher une gallery - Marouy - 05/02/2013

Parfait, merci beaucoup Jean pour ta précieuse aide, mon problème est résolu ! Big Grin
Bonne journée,
Marouy