Utilisation du script Timthumb est-il possible ? (long)
Bonjour,
TimThumb est un script PHP permettant de redimensioner les images de votre site web à la volée.
Les thèmes magazines sous Wordpress utilisent le script de Timthumb. C'est d'ailleurs une des raisons de leur succès.
En association une image (id) à un post, le script permet de placer des miniatures de différentes tailles, avec différents effets de zoom, passer les images en sépia, noir et blanc, etc ... où on le désire.
Il permet ainsi aussi de créer des galeries en utilisant les posts comme source d'image.
Voir ici la page consacrée à toutes ses fonctionnalités(en).
Une miniature est réalisée ainsi (hauteur 80 pixels et longueur : 210) :
Il existe une seconde solution sous Wordpress.
Un script scanne le code des posts et recherche la première balise image et en l'association à Timthumb, il est possible de la redimensionner.
Je vous met le code php, même si je doute qu'il soit utile :
Pensez-vous que ça soit transposable à Pluxml ?
TimThumb est un script PHP permettant de redimensioner les images de votre site web à la volée.
Les thèmes magazines sous Wordpress utilisent le script de Timthumb. C'est d'ailleurs une des raisons de leur succès.
En association une image (id) à un post, le script permet de placer des miniatures de différentes tailles, avec différents effets de zoom, passer les images en sépia, noir et blanc, etc ... où on le désire.
Il permet ainsi aussi de créer des galeries en utilisant les posts comme source d'image.
Voir ici la page consacrée à toutes ses fonctionnalités(en).
Une miniature est réalisée ainsi (hauteur 80 pixels et longueur : 210) :
www.votresite.com/timthumb.php?src=répertoire/image.jpg&h=80&w=210
Comme sous Pluxml, je pense qu'il n'est pas possible d'associer une image par son id à un post.Il existe une seconde solution sous Wordpress.
Un script scanne le code des posts et recherche la première balise image et en l'association à Timthumb, il est possible de la redimensionner.
Je vous met le code php, même si je doute qu'il soit utile :
<?php echo get_first_image() ?>
function get_first_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i’, $post->post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){ //Defines a default image
$first_img = “/images/default.jpg”;
}
return $first_img;
}
Pour ceux qui ne voit ça peut donner aller sur la page d'index de mon site, les miniatures de la sidebar sont réalisées avec Timthumb (sans le scan).Pensez-vous que ça soit transposable à Pluxml ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je mets actuellement à jour mon thème pour la version 5.1 et je souhaite intégrer le script timthumb. Comment a tu fais ?
Merci d'avance.
J'ai un string de l'array
J'ai fait une demande ici.
Il faut créer un "custom field" dans lequel sera possible de saisir l'url complète de l'image pour chaque article.
Pour créer ce nouveau champ dans les articles, je pense qu'il faut adapter l'exemple du Guide du développeur (pages 25-27) qui permet d'injecter du code dans les catégories, mais dans notre cas pour des articles.
Ensuite, ça serait très simple de faire apparaître l'url dans un thème et donc de modifier l'image par Timthumb.
Peut-être que quelqu'un de l'équipe de dév. peut nous aider ? :P
C'est ce que je fais pour mes adaptations et en particulier ici : http://forum.pluxml.org/viewtopic.php?id=2425
Voici le code : Et en même temps, je vérifie l'extension du fichier (qui sert aussi à vérifier la présence d'une image), on sait jamais
A toi d'adapter le code
Tout arrive, il suffit d'être patient.
Je vais tester ça. :P
Grand merci Hamtaro.
Petit nota : il faut que l'image soit en local. J'ai essayé avec un lien sur un site distant et la miniature n'est pas générée, ni bien sur la thumb par défaut. ^^
Pour voir ce que ça donne, je vous met le lien vers mon site de test : ICI
Je vais en fin pouvoir bosser sur des slideshow en jquery avec liens directs vers les articles.
Cool !
Et l'image par défaut n'est pas créée ? Je précise tout de même qu'il faut que tu aies une image portant le même nom que dans le code que je t'ai donné (et au même chemin), ou alors tu fais les modifs pour que cela concorde.
Tu peux sur la page de blog du lien ci-dessus que la miniature apparaît bien.
Pour les images distantes, j'avais vu que c'était possible, mais franchement pour l'instant ça n'intéresse que peu. :P Sauf si bien sur, j'utilise un service de stockage distant comme flickr, pour ça.
Encore merci Hamtaro.
Heureusement que tu es passé par là pour résoudre mon problème et par la même, celui de Flipflip.
J'ai un string de l'array
J'essaie de placer ton code sur une page statique qui me sert de home.
Mais ça bugue; car je suis nul en php. :P
Je voudrai le coupler avec un code d'affichage des derniers articles (trouvé sur ce même forum) que voici : Le but, tu l'auras compris, est d'afficher sous forme de liste les miniatures des articles.
Merci par avance pour ton aide.
Les liens sont bons; mais la miniature affichée pour tous est celle du dernier article. Strange !!
Tu peux voir comme il fonctionne parfaitement bien sur mon footer ici :
http://portfolio.chantdeleau.com
Je te dois combien ?
ce serait plus que super
mes sites principaux : fonds d'écran gratuits - longue traîne - référencer votre site - brocante en ligne -
Il est utilisé en footer et sur ma page blog (projets).
- Page catégorie portfolio : http://portfolio.chantdeleau.com/categorie1/web
- Page de tout les articles : http://portfolio.chantdeleau.com/blog.php
- Une autre page catégorie pour un portfolio avec effet prettyPhoto sur cette discussion (code fourni) : http://forum.pluxml.org/viewtopic.php?pid=18659#p18659
- Visible aussi sur le footer : http://portfolio.chantdeleau.com avec le dernier code fourni par Hamtaro.
Pour les articles, tu peux effectivement récupérer aussi la première image de l'article et la placer avant le chapô.
Je tente d’intégrer le bout de code d'Hamtaro sans succès malheureusement.
J'ai bien collé le code sur home.php, collé timthumb.php à la racine de mon dossier thème. Sur le code source de mes pages le code des images apparaît, mais pas la miniature de mes articles.
Le code pointe bien vers le dossier image de data pourtant.
Lorsque je clic sur le lien de la miniature timthumb dans le code source voila ce qui apparaît :
Qu'est ce que j'ai encore fait comme bêtise ?
Sinon, titmhumb ne peut pas créer de miniature à partir de l'image originale.
Je précise que je fais des tests en local avec Easyphp et sur un serveur free.
Je viens d'installer le thème Skeptical de Hamtaro sur la 5.1.5 et les miniatures n'apparaissent pas non plus...
Je viens de mettre un 777 sur les répertoires cache et temp serveur free et ça ne marche toujours pas.
Wiksa, si tu arrives à tout bien installer sur free, j'me retournerai vers toi quand j'essayerai.
Au fait, utilises-tu la version thimtumb 2 .
Merci pour ton aide Bloody !
Sinon de rien, je n'ai pas fait grand chose.
Je suis en train de préparer un thème pour la future version 5.1.7. Je sais c'est un peu top, mais j'anticipe ! J'avais commencé à coder le thème avec la 5.1.6 et je n'avais eu aucun problème à intégrer Timthumb. Mais en insérant le code relatif à Timthumb de la 5.1.6 dans mon thème 5.1.7, j'obtiens trois messages d'erreur de PHP.
Le code de la home :
La ligne 15 est celle-ci:
Et la 17 :
Je ne trouve pas le problème. Viendrait-il d'un bug ou d'une modif du core de la 5.1.7 ?
EDIT: Je tiens à préciser que le script marche malgré les messages d'erreur. Je le teste en local avec Easyphp.
Autrement dit, il n'y a pas d'image dans ton article.
A la place de : je mettrais ça : et à la place de : je mettrais :
Je pense qu'il y a une parenthèse en trop avant isset dans :
EDIT : En fait c'est le if qui n'a pas l'air de fonctionner. Lorsque j’intervertis les 2 lignes qui affichent les images dans ma home, ce n'est plus l'image générique qui s'affiche, mais les miniatures des images de mes articles. En revanche, l'image générique ne s'affiche plus quand elle le doit.
en fait tu crois que ça tourne bien sous la 5.1.6 mais il y a une ligne magique que Stéphane actionne lorsque les versions ne sont pas encore totalement sorties et stables ...
Si elle était actionnée sous la 5.1.6 tu aurais les mêmes erreurs.