Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2006-09-02 11:32:32

Pat64
Plugin Author
From: France
Registered: 2005-12-12
Posts: 1,599
GitHub Twitter

[fr-fr] Trucs, Tips et...Astuces

Une idée toute simple : je lance ce post, généraliste, <strong>d’échange de trucs et astuces</strong> que les membres de cette communauté française pourraient s’échanger. Utile à tou(s)(tes) <strong>pour améliorer votre productivité</strong>.
Avis à notre modérateur (de retour après une courte absence ;) pour, éventuellement, placer ce post en sticky.

Bonne utilisation et bonne participation requises.

Cordialement,
Patrick.


Patrick.

Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.

Offline

#2 2006-09-02 11:58:14

Pat64
Plugin Author
From: France
Registered: 2005-12-12
Posts: 1,599
GitHub Twitter

Re: [fr-fr] Trucs, Tips et...Astuces

… Et bien, je commence.

Tester l’existence d’un “body”.

Utile pour afficher par défaut un message générique <u>avant</u> le contenu de l’article :

<txp:php>global $thisarticle; echo( (empty($thisarticle['body']) ? "" : "<h3>Voici le contenu du body :</h3>") );</txp:php> <txp:body />

Note : associé à <txp:if_excerpt><h3>Voici le resume :</h3><txp:excerpt /></txp:if_excerpt> vous maîtrisez la présentation de vos article. La structure précédente peut être adaptée pour le “title” sans problème.

Récuppérer l’ID de l’image associée à l’article courant (et son corrolaire : sa vignette).

Permet de s’affranchir de l’excellent plugin upm_image“http://forum.textpattern.com/viewtopic.php?id=15978 :

ID de l’image : <txp:php>echo $GLOBALS['thisarticle']['article_image'];</txp:php>

ID de la vignette : <txp:php>echo $GLOBALS['thisarticle']['article_image'];</txp:php>t

Par suite, on peut obtenir l’url de l’image (équivalent à <txp:upm_img_full_url /> ) :

Url de l’image de l’article cliquable à partir de la vignette : <a href="<txp:site_url />images/<txp:php>echo $GLOBALS['thisarticle']['article_image'];</txp:php>.jpg" title="<txp:title />"<img src="<txp:site_url />images/<txp:php>echo $GLOBALS['thisarticle']['article_image'];</txp:php>t.jpg" alt="Vignette de l'image" title="" /></a>

Créer un lien sur un champ personnalisé afin de lancer une recherche sur l’occurence .

<a href="<txp:site_url />?q=<txp:custom_field name="mon-custom-field" />" title="Rechercher les articles similaires..."><txp:custom_field name="mon-custom-field" /></a>

Récuppérer la saisie de l’utilisateur lors d’une recherche pour inserton dans un autre formulaire de recherche .

<form action="http://www.exemple.com/" method="get"><p>Rechercher dans tout le site :<br /><input type="text" name="q" value="<txp:php>global $q; echo $q;</txp:php>" size="25" /></p></form>

Last edited by Pat64 (2006-10-26 13:39:35)


Patrick.

Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.

Offline

#3 2006-09-02 13:59:30

Dragondz
Moderator
From: Algérie
Registered: 2005-06-12
Posts: 1,529
Website GitHub Twitter

Re: [fr-fr] Trucs, Tips et...Astuces

Excellente idée Patrick,

Pour ma part je donne un conseil : Ne donnez pas une section avec le même nom qu’une catégorie cela pose des problèmes pour les URL propres!

Offline

#4 2006-11-01 09:49:00

Pat64
Plugin Author
From: France
Registered: 2005-12-12
Posts: 1,599
GitHub Twitter

Re: [fr-fr] Trucs, Tips et...Astuces

… Personne d’autre ???


Patrick.

Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.

Offline

#5 2006-11-01 16:47:40

fpradignac
Plugin Author
From: France near Cognac
Registered: 2005-01-29
Posts: 359
Website

Re: [fr-fr] Trucs, Tips et...Astuces

Bonjour à tous,

C’est une très bonne idée ce post Patrick; pour ma part, quand je dois utiliser une bidouille ou un plugin “maison” j’essaie de le mettre sur mon site ICI

Par exemple : comment récupérer le nom d’un internaute qui a laissé un commentaire sans avoir un lien “sous” son nom (un href) quand on utilise <txp:comment_name /> ? :
<txp:php>echo $GLOBALS['thiscomment']['name'];</txp:php> une suggestion de Mary.


françois

Offline

#6 2006-11-23 18:44:36

Niconemo
Member
From: Rhône-Alpes, France
Registered: 2005-04-18
Posts: 557

Re: [fr-fr] Trucs, Tips et...Astuces

Une astuce basique et logique mais pratique :

Automatiser la gestion des meta keywords et description pour chaque page du site

Ici c’est la version de base mais avec un peu de logique et une utilisation judicieuse de certains tags et de conditionels ont peut décliner ça pour presque tous les sites.

<meta name="keywords" content="<txp:if_article_list>mot cle general 1, mot cle general 2,  </ txp:if_article_list><txp:if_individual_article><txp:keywords /> </txp:if_individual_article>">
<meta name="description" content="<txp:if_article_list><txp:site_slogan /></txp:if_article_list><txp:if_individual_article><txp:excerpt /></txp:if_individual_article>">

Petit inconvénient dans cette version : il faut régler les Balises de résumés (txp:excerpt) sur “Laisser le texte tel quel” dans les préférences du site pour que les <p></p> n’apparaissent pas dans la description.

Ça ne pose aucun problème dans le site que je suis en train de monter car les description ne font toujours qu’un petit paragraphe sans formatage. Sinon il suffit d’utiliser un champ personnalisé à la place par exemple.

Last edited by Niconemo (2006-11-27 12:46:54)


Nico

Offline

#7 2006-11-25 17:57:14

Pat64
Plugin Author
From: France
Registered: 2005-12-12
Posts: 1,599
GitHub Twitter

Re: [fr-fr] Trucs, Tips et...Astuces

… Parfait françois et Niconemo…
Qui veux continuer?… ;)


Patrick.

Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.

Offline

#8 2006-12-18 20:56:15

Pat64
Plugin Author
From: France
Registered: 2005-12-12
Posts: 1,599
GitHub Twitter

Re: [fr-fr] Trucs, Tips et...Astuces

…Un peu complexe, mais très efficace. Permet de s’affranchir totalement des divers plugins de galeries tel l’excellent wet_thumb.

Objectif : La création d’une suite de vignettes (en liste non ordonnée) pour une galerie de photos.

Méthode :

1)°
créer un champ personnalisé (custom_field) destiné à recevoir une suite d’ID de vignettes (thumbnails) séparées par une virgule.

2)°
créer un module (form) avec :

@<txp:php>
// code générant la galerie (less n’d less plugin, more pure PHP!) :

global $thisarticle;
$site = ‘http://’.$GLOBALS[‘siteurl’]; // adresse du site dans une variable
$liste = custom_field(array(‘name’=>‘Liste_Photos’)); // ID des vignettes séparées par une virgule
echo “<ul id=\“galerie-vignettes\”>\r”; // création de la liste

// si la liste est non vide (*)
if (!empty($liste)) {

echo “<li><a href=\”“.$site.”/images/”.$thisarticle[‘article_image’].”.jpg\” title=\“Afficher cette photo\” rel=\“lightbox[roadtrip]\”><img src=\”“.$site.”/images/”.$thisarticle[‘article_image’].“t.jpg\” alt=\”\” /></a></li>\r”;

// recup de la liste avec suppression des espaces éventuels et maintient des virgules séparatrices
$find[] = ‘, ‘;
$replace[] = ‘,’;
$liste = str_replace($find, $replace, $liste);

// création d’un tableau dont les valeurs sont délimitées par les virgules
$pic = explode(“,”,$liste);
// génération des lignes avec les vignettes
foreach($pic as $clé => $valeur)
{ echo “<li><a href=\”“.$site.”/images/”.$valeur.”.jpg\” title=\“Afficher cette photo\” rel=\“lightbox[roadtrip]\”><img src=\”“.$site.”/images/”.$valeur.“t.jpg\” alt=\”\” /></a></li>\r”; }

// si la liste est vide une seule ligne et une seule vignette (*)
} else {
echo “<li><a href=\”“.$site.”/images/”.$thisarticle[‘article_image’].”.jpg\” title=\“Afficher cette photo\” rel=\“lightbox[roadtrip]\”><img src=\”“.$site.”/images/”.$thisarticle[‘article_image’].“t.jpg\” alt=\”\” /></a></li>\r”;
// fermeture de la liste non ordonnée
} echo “</ul>”;
// fin du code </txp:php>@

Voilà. suffit d’appeler le module avec <txp:output_form form="mon-module-bien-aimé" />

Note : (*) dans cet exemple particulier, souhaitant afficher en random les vignettes en page d’accueil, je me réserve le champ “image associée à l’article” pour y placer la photo principale. Le test sur la $liste résulte de cette contrainte.


Patrick.

Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.

Offline

#9 2007-05-23 01:17:59

oualter
Member
From: Paris
Registered: 2005-12-03
Posts: 45
Website

Re: [fr-fr] Trucs, Tips et...Astuces

Bravo pour ces tites astuces !
Patrick, ta ruse sur la galerie d’images m’intéresse beaucoup.
J’ai quelques difficultés à la faire fonctionner cependant. J’imagine qu’elle fonctionne avec la dernière release de TXP (4.04) ??
“Liste_Photos” est bien le nom du champs personnalisé que tu as créé ?

J’obtiens l’erreur suivante :
Parse error: syntax error, unexpected ‘:’ in /home/users2/v/vonpat/www/textpattern/publish/taghandlers.php(2681) : eval()’d code on line 5
Cela pourrait-il venir du fait que la fonction eval est bridée par mon hébergeur ?

Merci de tes éclaircissements

Olivier

Offline

#10 2007-05-23 06:07:58

Pat64
Plugin Author
From: France
Registered: 2005-12-12
Posts: 1,599
GitHub Twitter

Re: [fr-fr] Trucs, Tips et...Astuces

oualter wrote:

Bravo pour ces tites astuces !
Patrick, ta ruse sur la galerie d’images m’intéresse beaucoup.

…Merci beaucoup, Olivier ;)

Selon ce script, il suffit de créer un custom field (champ personnalisé) nommé “Liste_Photos” que l’on nourrit par une liste, séparé par une virgule, des ID des photos préalablement uploadées. Ex. 1, 2, 5, 10, 33

Attention. Dans le code source que je donne, j’utilisais la bibliothèque javascript lightbox d’où l’insertion de rel=“lightbox[roadtrip]” pour attribut des balises <a href… (à supprimer si non utilisé)

Dernier conseil. Si tu copies/colle le source depuis le post du forum, veille bien à modifier manuellement les apostrophes (doubles et simples) puisqu’elles sont formatées en Textile non compatibles avec PHP.

Si tu as un soucis, n’hésites pas.

;)

Last edited by Pat64 (2007-05-23 06:09:54)


Patrick.

Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.

Offline

#11 2007-05-24 01:34:18

oualter
Member
From: Paris
Registered: 2005-12-03
Posts: 45
Website

Re: [fr-fr] Trucs, Tips et...Astuces

Merci pour ta superréactivité Pat. Ca m’a bien aidé !

Comme je n’utilise pas le js de lightbox, je l’ai donc viré du code.

Je reviens sur Textpattern après presque 1 an d’abstinence, ça me manquait !!! ;) Bref je bidouille et tente des choses. Par exemple, j’ai ajouté la fonction shuffle sur ta variable $pic afin que la mosaïque de vignettes s’affiche dans un ordre aléatoire. Jusque-là pas de problèmes. Par contre je m’aperçois que depuis la release 4.01 je crois, certaines choses ne fonctionnent plus tout à fait comme je m’y attendais, évidemment. J’utilisais auparavant le plugin bos_image_display qui permettait de réaliser des galeries sans même devoir publié d’articles. Or désormais, si la page poussé en front ne comporte pas de txp_article, le debugger pousse des cris !

Mais le plus ennuyeux pour ce que j’essaie de réaliser est que en traffiquant les liens des vignettes, je ne parviens pas à les faire remonter dans ma barre d’adresse, et donc je ne parviens pas à contextualiser mon affichage de la vignette centrale. Le code sera plus parlant :

<li><a href=‘http://www.patriciascheer.com/section/article/?p=81’><img src=‘http://www.monsite.com/images/81t.jpg’ alt=’‘ /></a></li>

Ceci est un morceau de ma liste de vignettes que je parviens à générer avec ton astuce, par contre, lorsque je clique dessus, rien ne se passe, l’adresse demandée ne se colle pas dans la barre d’adresse et donc je n’ai aucun contexte. Quelqu’un saurait-il m’expliquer ce phénomène ?

Voici l’exemple en ligne : www.patriciascheer.com

Apparemment le problème se pose uniquement sur mon firefox 1.5, bizarrement IE6 fonctionne bien !

Par contre j’ai un souci avec la balise txp:image_display qui fonctionne bien au 1er clic sur la vignette mais ne fonctionne plus lorsque l’on réessaie sur une autre vignette, voir ici

Bon, je sais que le problème n’est pas si simple, alors gros merci par avance à celles ou ceux qui se seront aventurés jusqu’ici ;)

Olivier

Last edited by oualter (2007-05-24 02:03:25)

Offline

#12 2007-05-24 09:15:00

Pat64
Plugin Author
From: France
Registered: 2005-12-12
Posts: 1,599
GitHub Twitter

Re: [fr-fr] Trucs, Tips et...Astuces

@oualter

Ok je veux bien t’aider… le mieux pour y voir + clair serait de poster ton code (avec référence du contexte : gabarit, module).

Effectivement la balise “minimale” permettant à TXP d’accéder à la BDD est txp:article.
Place simplement ce code dans ta page où figure l’erreur “…ne contient pas de balise article…” :

<txp:article pgonly="1" />

Pour le reste je n’ai pas assez de visibilité… postes ton code. Merci.

Cordialement,


Patrick.

Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.

Offline

Board footer

Powered by FluxBB