bonjour,
afin de realiser un plugin (perso dans un premier temps) permettant d'afficher
aléatoirement une image d'une categorie precise dans la banniere,
j'aurai besoin d'aide car je ne vois pas par ou commencer pour récuperer l'url de l'image.
je pense pouvoir y arriver grace aux services web, mais ce ne serait pas vraiment propre ( ... quoique ...)
et j'avoue etre perdu dans le code de pwg.
bref, j'ai un identifiant de catégorie, me manque juste la methode pour interroger la base,
et sortout, le debut de piste qui me lancera dans la bonne direction
Hors ligne
dans le dossier include le fichier category_cats.inc.php
contient l'affichage d'une image aléatoire pour une catégorie:
// searching a random representant among representant of sub-categories
$query = '
SELECT representative_picture_id
FROM '.CATEGORIES_TABLE.' INNER JOIN '.USER_CACHE_CATEGORIES_TABLE.'
ON id = cat_id and user_id = '.$user['id'].'
WHERE uppercats REGEXP \'(^|,)'.$row['id'].'(,|$)\'
AND representative_picture_id IS NOT NULL
'.get_sql_condition_FandF
(
array
(
'visible_categories' => 'id',
),
'AND'
).'
ORDER BY RAND()
LIMIT 0,1
;';
$subresult = pwg_query($query);
if (mysql_num_rows($subresult) > 0)
{
list($image_id) = mysql_fetch_row($subresult);
}
}
if (isset($image_id))
{
$row['representative_picture_id'] = $image_id;
array_push($image_ids, $image_id);
array_push($categories, $row);
}
unset($image_id);
}
if ($page['section']=='recent_cats')
{
usort($categories, 'global_rank_compare');
}
if (count($categories) > 0)
{
$thumbnail_src_of = array();
$query = '
SELECT id, path, tn_ext
FROM '.IMAGES_TABLE.'
WHERE id IN ('.implode(',', $image_ids).')
;';
$result = pwg_query($query);
$themeused = get_themeconf('theme');
$pos = strpos($themeused,'GBO_hk');
while ($row = mysql_fetch_assoc($result))
{
$thumbnail_src_of[$row['id']] = get_thumbnail_url($row);
Hors ligne
As-tu regardé ce post?
Avec les web service, c'est ok
Exemple, pour récupérer des images au hasard dans la catégorie 15:
<?php $response = file_get_contents("http://monsite/ws.php?method=pwg.categories.getImages&cat_id=15&format=php&recursive=true&order=random&f_with_thumbnail=true"); $thumbc = unserialize($response); if ($thumbc["stat"] == 'ok') { $picture = $thumbc["result"]["images"]["_content"][0]; echo '<a title="Au hasard" href="http://monsite/picture.php?/' . $picture['id'] . '"><img src="' . $picture['tn_url'] . '" alt="" /></a>'; } ?>
Après, la question, c'est ou mettre ce code pour faire une belle bannière?
Si tu veux, on peut essayer de faire ca en plugin perso...
Je t'aiderai...
Dernière modification par P@t (2007-10-05 19:46:41)
Hors ligne
merci a vous deux :)
p@t, j'avais vu le post dont tu parle en effet, et c'est vrai que ce serait super simple a mettre en place.
mais utiliser des web services pour un plugin me parait (un peu) etre une aberration.
en revanche, pour utiliser par exemple sur un blog, ce serait nikel (plugin wordpress par exemple).
grace a la piste d'ex-ftb, je devrai m'en sortir sans web service.
et evidement, je n'oubli pas que je peut compter sur vous (ne serait-ce que pour le multilangue ...)
Hors ligne
encore merci a vous ;)
la premiere release est sorti !
voir ce post : http://forum.phpwebgallery.net/viewtopi … 739#p73739
Hors ligne