Bonsoir,
Je souhaite mettre une "photo du jour" dans mon édito (créé par le plugin PWG Stuffs). Quel code dois-je utiliser ?
Désolée d'avance si la réponse se trouve dans le topic mais j'ai tout lu et je ne trouve rien qui corresponde à ma situation.
Merci pour votre aide !
Hors ligne
Dans ton bloc personnel, tu mets ceci à l'endroit ou tu veux faire afficher l'image:
{PERSONAL_RANDOM_IMAGE}
Puis dans ton plugin personnel, tu mets ceci:
add_event_handler('loc_begin_index', 'personal_get_random_image');
function personal_get_random_image()
{
global $page, $template;
if (isset($page['section']) and $page['section'] == 'categories' and !isset($page['category']))
{
$query = 'SELECT img.path AS path, img.file AS file
FROM ' . IMAGE_CATEGORY_TABLE . ' AS ic
INNER JOIN ' . IMAGES_TABLE . ' AS img
ON ic.image_id = img.id
WHERE ' . get_sql_condition_FandF(array ('forbidden_categories' => 'ic.category_id'), '', true) . '
ORDER BY RAND()
LIMIT 1;';
$img = mysql_fetch_array(pwg_query($query));
$template->assign_vars(array(
'PERSONAL_RANDOM_IMAGE' => '<img src="' . $img['path'] . '" alt="' . $img['file'] . '">'));
}
}
Dernière modification par P@t (2008-02-17 19:36:09)
Hors ligne
utilise le plugin stuff
sinon moi je dirais que pour la requete :
$query = '
SELECT DISTINCT(id), path, file, width, height
FROM '.IMAGES_TABLE.'
INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id
'.get_sql_condition_FandF
(
array
(
'forbidden_categories' => 'category_id',
'visible_categories' => 'category_id',
'visible_images' => 'id'
),
'WHERE'
).'
ORDER BY RAND(NOW())
LIMIT 1
;';
$img = mysql_fetch_array(pwg_query($query));
$template->assign_vars(array(
'PERSONAL_RANDOM_IMAGE' => '<br><img src="' . $img['path'] . '" style="width:'.($img['width'] / 2).'px;height:'.($img['height'] / 2).'px;" alt="' . $img['file'] . '"><br><br>'));
Hors ligne
juste un truc faut filtrer les video aussi
Hors ligne
Je suis casse pieds mais je ne comprends pas :
_ j'insère : " {PERSONAL_RANDOM_IMAGE} " dans mon bloc personnel situé dans "Gestion des modules" lui même dans PWG Stuffs dans mon espace d'administration. C'est bien ça ?
_ où est le plugin personnel ? Dans ./plugins/ ? Si c'est le cas je n'arrive pas à les lire sauf avec Word, je ne suis pas certaine de pouvoir les modifier correctement...
Merci pour vos réponses
Hors ligne
oulala je comprend pas tout ce que tu dis ... deja as tu regardé du coté du wiki pour faire un plugin perso ?
Hors ligne
Je te l'ai déjà dit dans l'autre post...
Installe LocalFiles Editor
Active le.
Puis dans le menu d'admin -> LocalFiles Editor, onglet Plugin personnel
Hors ligne
Nicco a écrit:
utilise le plugin stuff
sinon moi je dirais que pour la requete :
....
Oui, c'est mieux, en effet ;-)
Par contre, je crois que get_sql_condition_FandF(array ('forbidden_categories' => 'ic.category_id'), '', true) suffit ;-)
Heu, c'est quoi le NOW() dans ORDER BY RAND(NOW())?
Hors ligne
moi je suis allé voir random.php ;o]
et voici mon code finalement :
function personal_get_random_image() { global $page, $template; if (isset($page['section']) and $page['section'] == 'categories' and !isset($page['category'])) { $query = ' SELECT c.name as category, uppercats, path, file, width, height FROM '.IMAGES_TABLE.' AS i INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON i.id = ic.image_id INNER JOIN '.CATEGORIES_TABLE.' AS c ON ic.category_id = c.id '.get_sql_condition_FandF ( array ( 'forbidden_categories' => 'category_id', 'visible_categories' => 'category_id', 'visible_images' => 'i.id' ), 'WHERE' ).' AND width <> \'\' AND height <> \'\' ORDER BY RAND(NOW()) LIMIT 1 ;'; $img = mysql_fetch_array(pwg_query($query)); $template->assign_vars(array( 'PERSONAL_RANDOM_IMAGE' => '<br>'.get_cat_display_name_cache($img['uppercats'], null, false).' / '.$img['file'].'<br><br><img src="' . $img['path'] . '" style="width:'.($img['width'] / 2).'px;height:'.($img['height'] / 2).'px;" alt="' . $img['file'] . '"><br><br>' )); } }
Hors ligne
Westerly a écrit:
J'aurai peut être du m'abstenir de vouloir une image ...
J'ai recopié le script de P@t dans mon plugin personnel et mon site affiche une page blanche....
As-tu utilisé LocalFiles Editor?
Est tu bien allé dans l'onglet "Plugin Personnel"?
A mon avis, non.
Si tu n'as pas fait de modification dans le fichier include/config_local.inc.php, supprime ce fichier par FTP.
Hors ligne
J'ai bien installé File Editor que tu m'avais mis en lien.
Dans le panneau Administrattion > Plugin > j'ai installé puis activé File Editor
Dans Plugins > File Editor > je suis allée dans "Plugin personnel". J'y ai entré la formule que tu as donné sans aucun modification.
Après validation > page blanche à la place du site
Hors ligne