Bonjour la communautée,
Depuis plusieurs jour je bricole PWG que je trouve très performant. En revanche, j'ai une petite question.
J'ai d'un côté PWG et d'un autre mon site. Je voudrais affiché sur mon site une image au hasard qui est affiché dans PWG, comment faire ? Quelqu'un a déjà utilisé cela ?
Hors ligne
Bonjour Twin,
Une petite question, "J'ai d'un côté PWG et d'un autre mon site" sur le même domaine?
Autrement dit chez le même hébergeur, mais pwg n'est qu'un sous-répertoire de ton adresse.
Auquel cas, c'est la fonctionnalité "External random" que tu cherches.
Si ce n'est pas le même domaine, encore un peu de patience... cela viendra en 1.7.
8-)
Hors ligne
External random n'a pas été revu pour la 1.6...
Il ne devrait pas y avoir de pb.
Sinon quelqu'un t'aidera...
8-)
Hors ligne
Oui, c'est sur le même NDD.
J'ai déjà lu certains topic sur External random et visiblement, cela ne fonctionne pas depuis la version 1.3
Mais je vais tout de même essayer pour voir si cela ne peux pas fonctionner.
Merci de tes rep apportés VDigital, je te tiens informé ;)
Hors ligne
Moi, j'ai un problème avec ce MOD, voici le résultat : http://trains-idf.net/essai.php
Hors ligne
Tu utilise quelle version Martin ?
si
[je suis désolé, mais c'était vraiment trop tentant :S]
Edit:
Plus sérieusement, Martin, si tu regardes le code source de ta page générée, tu verras qu'elle pointe vers une image du type dia.train-idf.net/......
Il te manque juste le me de media ;). Je ne sais pas s'il s'agit d'une erreur de ta part dans la configuration du mod, ou alors c'est celui-ci qui coupe le début, mais quoi qu'il en soit, tu devrais pouvoir rectifier ça facilement à présent.
Dernière modification par acp (2006-11-06 21:16:32)
Hors ligne
J'ai l'impression qu'il me le coupe. Voici mon fichier php :
<?php /*************************************************************************** * thumb_random.php * * ------------------- * * application : PhpWebGallery 1.4 <http://phpwebgallery.net> * * author : Pierrick LE GALL <pierrick@z0rglub.com> * * * * $Id: random.php,v 1.2 2004/11/06 14:32:03 z0rglub Exp $ * * ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; * * * ***************************************************************************/ //--------------------------------------------------------------- configuration define('PHPWG_ROOT_PATH', 'media.trains-idf.net/' ); // relative path to your gallery //-------------------------------------------------------------------- includes include_once( PHPWG_ROOT_PATH.'include/common.inc.php' ); //------------------------------------------------------------- which picture ? $where = ''; if ( $user['forbidden_categories'] != '' ) { $where = 'WHERE category_id NOT IN ('.$user['forbidden_categories'].')'; } $query = ' SELECT id, path, tn_ext, category_id FROM '.IMAGES_TABLE.' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id '.$where.' ORDER BY RAND(NOW()) LIMIT 0, 1;'; $result = mysql_query( $query ); if (mysql_num_rows($result) > 0) { $row = mysql_fetch_array( $result ); //-------------------------- thumbnail URL and direct link to related picture // URL of the thumbnail $thumb_url = get_thumbnail_src($row['path'], $row['tn_ext']); if (substr($thumb_url, 0 , 12) == './galleries/') { $thumb_url = PHPWG_ROOT_PATH.substr($thumb_url,2); } // link to the gallery $thumb_link = PHPWG_ROOT_PATH.'picture.php?cat='.$row['category_id'] .'&image_id='.$row['id']; //------------------------------ display thumbnail with related picture link echo '<a href="'.$thumb_link.'" class="thumblink"> <img src="'.$thumb_url.'" alt="" class="thumbnail" /> </a>'; } ?>
Hors ligne
Wouf, ce n'était pas facile... Bon alors voilà à priori la source de l'erreur. La fonction get_thumbnail_src qui est appelée dans ton script appelle la fonction get_root_url qui contient le code suivant:
if ( dirname($root_url)!='.' ) { return $root_url; } else { return substr($root_url, 2); }
Quelque chose me fait croire que ton problème tient de la fonction dirname qui renvoie très probablement '.' quand tu lui files en paramètre 'media.trains-idf.net/'.
Ce que je te propose ? Passe outre la fonction get_thumbnail_src, code là toi-même. Si tu n'as que des images en local dans ta gallerie (pas de site distant), tu peux remplacer:
$thumb_url = get_thumbnail_src($row['path'], $row['tn_ext']);
par
$thumb_url = PHPWG_ROOT_PATH.$thumb_url;
C'est un peu sale, mais ça devrait marcher... Tiens-nous au courant... Si ça échoue, afin de nous aider affiche nous ce que contient la variable $row['path'] (je ne sais pas si tu t'y connais en PHP, donc dans le doute, rajoute un "print $row['path'];" sans les " après:
$row = mysql_fetch_array( $result );
a+
Hors ligne
Bouh le nul, j'ai dis n'importe quoi.... Reprenons... Tout est à refaire, je suis allé trop vite...
Tu remplaces donc je disais:
$thumb_url = get_thumbnail_src($row['path'], $row['tn_ext']);
par
$thumb_url = PHPWG_ROOT_PATH.ereg_replace("^(.*)/([^/]*)$", "\\1/thumbnail/".$conf['prefix_thumbnail']."/\\2", $row['path']);
Là ça devrait être bon...
Edit: décidemment, ce n'est pas mon jour...
Edit2: 2s ça ne marche pas... :S
Edit3:
remplace donc par
$thumb_url = PHPWG_ROOT_PATH.ereg_replace("^(.*)/([^/]*)$", "\\1/thumbnail/".$conf['prefix_thumbnail']."\\2", $row['path']);
Cette fois j'ai pris la peine de l'essayer sur mon install, et ça marche. (attention pas pour les sites distants !).
Si ça fonctionne pour toi, je te conseille de prendre un peu de temps plus tard pour trouver un solution un peu plus élégante :).
Dernière modification par acp (2006-11-06 22:27:26)
Hors ligne
J'ai un parse erro maintenant...
http://trains-idf.net/essai.php
Hors ligne
Je suis tes efforts en live là :). Quand ça buggue, pense toujours à rajouter le print que je t'ai donné tout à l'heure...
Ok alors pour le parse error, reprends le fichier initial, celui que tu m'as donné tout là haut. Fais juste les modifs suivantes, remplace la ligne ou se trouve l'appel à get_thumbnail_src par ce que je t'ai donné et rajoute le print, comme expliqué tout à l'heure. On va y arriver ! :)
Edit: Félicitations, c'est gagné... ;)
Dernière modification par acp (2006-11-06 22:39:18)
Hors ligne