Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#13 2007-05-28 13:22:22

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

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

@Pat64,

gros mercis pour ton assistance, j’ai réussi à me débrouiller. Tu peux voir le résultat ici

En fait j’ai adapté ta technique à mes besoins évidemment. J’utilise une ruse qui m’affranchit de recharger la page en réécrivant l’url de l’image grand format grâce à javascript.
En gros je fais en sorte que l’url qui est sur les vignettes soit réécrite via js dans le src de mon image grand format. Ca fonctionne pas mal mais ne me satisfait pas encore pleinement car je souhaiterais également afficher la légende sous l’image.

Je vais donc refactoriser le tout et vous tiens au courant bien sûr. Aussi n’hésitez pas si vous avez des suggestions / observations.

Olivier

Offline

#14 2007-06-02 12:52:57

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

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

Petites adaptations concernant le magnifique plugin cbs_category_list de Christophe Beyls ( téléchargeable ici ) :

Afin d’obtenir un lien sur l’info bulle de chaque catégorie avec indication du nombre d’occurences correspondantes suivi d’un texte de circonstance respectant le singulier/pluriel :

1°. ajout de deux attributs ( linktitle et variable )dans la liste du tableau :

extract(lAtts(array(
		'label'    => '',
		'labeltag' => '',
		'break'    => 'br',
		'wraptag'  => '',
		'parent'   => '',
		'posted'   => '',
		'section'  => $s,
		'sticky'   => '',
		'showcount'=> '',
		'class'    => __FUNCTION__,
		'activeclass'=> '',
		'linktitle' => '',
		'variable' => ''
	),$atts));

2°. modification de l’avant dernière ligne du plugin :

		$out[] = tag(str_replace('& ','& ', $title).($count ? ' ('.$count.''.($count > 1 ? ')' : ')'):''),'a',' href="'.pagelinkurl(array('c'=>$name, 's'=>$section)) .(($activeclass && ($s = $section) && ($c = $name)) ? '" title="'.$linktitle.' '.($count ? ($count>1 ? $count.' '.$variable.'s' : $count.' '.$variable) : '').'" class="'.$activeclass.'"' : '"'));
	}

Fin.

Vous pouvez utiliser le tag comme ceci :

<txp:cbs_category_list class="" activeclass="illb" showcount="true" wraptag="ul" break="li" linktitle="Accès à cette galerie de" variable="photo" />

Nous obtenons alors (selon cet exemple) :

Cas 1 : “Accès à cette galerie de 1 photo” dans l’info bulle s’il n’y a qu’une seule image associée à l’article ;
Cas 2 : “Accès à cette galerie de 15 photos” dans l’info bulle s’il y a plusieures images dans cette catégorie.

Un exemple du résultat visible : ICI (bloc de droite, survolez les liens).

That’s all Folks!

P.S. Grand merci à Christophe Beyls pour son aide sur l’ajout du dénombrement et son exemple d’insertion du décompte entre les balises <a>.

Last edited by Pat64 (2007-06-07 21:15:04)


Patrick.

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

Offline

#15 2007-06-24 11:39:28

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

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

Un petit truc tellement évident et très simple qui peut terriblement faciliter la vie :)

Vous avez créé une page statique xhtml pour le délai d’attente nécessaire au référencement d’un site.
Puis vient le temps de porter votre travail sur votre serveur avec une installation toute fraîche de TXP :

uploadez tous les fichiers de TXP SANS son fichier index.php.

Vous avez toujours votre page index.html fonctionnelle et vous pouvez tranquillement configurer le back-end comme bon vous semble :
  • plugins,
  • templates (via le plugin import templates)
  • sections…

Dès que tout est prêt, il ne vous reste plus qu’à uploader le fichier index.php manquant : le site fonctionne alors à plein régime… et bien mieux que wordpress, par exemple ;)

Last edited by Pat64 (2007-06-24 11:43:41)


Patrick.

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

Offline

#16 2007-10-28 15:25:52

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

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

Une présentation d’un back-end dont les améliorations sont proposées en “Feature request” ici

Note : la visualisation du post nécessite de vous loger


Patrick.

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

Offline

#17 2007-11-06 18:34:43

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

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

Salut.

Voici une solution a un problème qui m’a pris quelques heures de recherche :)

Le problème : sur un site comportant une page d’accès à un ensemble de pages sécurisée (par mot de passe) je cherchais un moyen de créer un menu excluant ces pages protégées. Ne connaissant pas à l’avance le nom des dites pages sécurisées (elles sont créées par l’utilisateur) txp:section_list ne m’était pas d’un grand secours.

La solution partielle : créer un gabarit générique, et un seul, destiné à la création des pages sécurisées. Utiliser le nom de la page (du gabarit) comme test sélectif pour exclure toutes les pages créées par l’utilisateur.

La solution en pratique :

Une page nommée “acces-clients” servira de conteneur pour afficher la liste des pages sécurisées tandis que le gabarit “protege” est destiné à l’affichage d’un formulaire de saisie de mot de passe pour l’affichage de ce qu’elle contient (articles) :

<ul id="nav_menu"><txp:if_section name="access-clients"><txp:php>
// on affiche les sections y compris celles associées au gabarit "protege" //
$sections = safe_rows('name, page, title', 'txp_section', 'page = "protege"');
foreach($sections as $id => $valeur) {
echo "<li><a href=\"".hu."".$sections[$id][name]."\">".$sections[$id][title]."</a></li>\r";
}
</txp:php><txp:else />
<txp:php>
// hors du contexte de la page "acces-clients" les liens vers les sections sont affichés hormis "protege" //
$sections = safe_rows('name, page, title', 'txp_section', 'page != "protege"');
foreach($sections as $id => $valeur) {
echo "<li><a href=\"".hu."".$sections[$id][name]."\">".$sections[$id][title]."</a></li>\r";
}
</txp:php></txp:if_section></ul>

Vollà. Ce code lit par enregistrement (rows) la table txp_section en sélectionnant les colonnes “name” (titre de section) et “page” (gabarit de section). Selon le contexte, on exclue les pages associées au gabarit “protege” ( ‘page != “protege”’ ) ou on n’affiche que ces dernières ( ‘page = “protege”’ ). Les divers éléments nécessaires à la construction des liens (urls, titres) sont obtenus grâce aux indices du tableau préalablement créé.

Aucun tag natif ne permet d’obtenir le résultat escompté, ni aucun plugin (à ma connaissance). Cela n’a l’air de rien, mais peut être très utile dans divers cas.

Have fun folks.

Last edited by Pat64 (2007-11-06 19:41:52)


Patrick.

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

Offline

#18 2007-11-06 18:54:07

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

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

Merci Pat pour cette astuce, elle pourrait bien me servir un de ces jours ;-)

Last edited by fpradignac (2007-11-06 18:54:19)


françois

Offline

#19 2007-11-07 19:53:28

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

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

Salut.

Si vous souhaitez ajouter le décompte des commentaires en regard de chaque article dans vos flux RSS, modifiez le fichier /textpattern/publish/rss.php à la ligne #78 comme ceci :

if ($show_comment_count_in_feed) {
	$count = ($comments_count > 0) ? (($comments_count == 1) ? ' ['.$comments_count.' commentaire]' : ' ['.$comments_count.' commentaires]') : '';
	} else $count = '';

Vos flux afficheront :

Titre de l’article [3 commentaires]

La modification fournie ci-dessus respecte le singulier/pluriel et n’affiche rien entre crochets si aucun commentaire n’est associé à l’article.

Have fun folks.

Last edited by Pat64 (2007-11-07 19:54:07)


Patrick.

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

Offline

#20 2007-11-10 07:14:04

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

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

Merci Pat

Les astuces ça sert ou servira toujours!

Offline

#21 2007-11-19 06:57:38

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

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

Salut à tous,

je ne sais pas si j’en avais parlé ici mais j’ai modifié le zem_contact_reborn en version multilingue pour avoir des traductions sur les formulaires.
On peut ainsi “localiser” son formulaire en ajoutant juste le paramètre de la langue voulu : trad=“fr”.

Vous retrouverez tout ça sur mon site ici

Si vous trouvez qu’il y a besoin de quelques aménagements, n’hésitez pas ;-)

françois


françois

Offline

#22 2008-10-10 16:10:05

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

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

Heu…

Non, non. Je ne suis pas mort :))

Juste un peu éloigné de ce forum en raison de distractions sur d’autres projets étourdissants de la blogosphère…

Allez. J’vais tâcher d’vous trouver d’autres p’tits Trucs & Astuces d’ici quelques temps.

Stay turned on folks.


Patrick.

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

Offline

#23 2008-10-23 09:30:35

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

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

Lorsque vous utilisez un echo parse(' ici balises xhtml et/ou tags TXP ');1 que ce soit dans vos gabarits, voire dans vos modules, n’oubliez surtout pas d’échapper vos apostrophes simples dans les éléments textuels éventuellement présents.

Un petit exemple :

<txp:php> if($_SESSION['language'] = 'fr-FR') { echo parse(' <txp:output_form form="accessibility_fr" /> <div id="header"> <txp:output_form form="header_fr" /> </div> <!-- /header --> <div id="wrapper"> <p>Voici mon texte contenant l\'apostrophe simple à manier avec beaucoup d\'égards</p> '); } </txp:php> (... suite tronquée ...)

Je viens de chercher longtemps cette petite erreur dans le contenu d’une page [assez] complexe. J’espère de cette démonstration [somme toute évidente] vous évitera, à l’avenir l\‘avenir beaucoup de perte de temps.

Have fun, folks.

——-
Note: 1: echo parse suivit de (' et terminé par ') permet d’insérer directement des balises xhtml et/ou des tags TXP.
Ex.
<txp:php>
echo parse('
<h3>Derniers commentaires:</h3>
<txp:recent_comments />
');
</txp:php>
Thanks to Ruud for this tips.

Last edited by Pat64 (2008-11-04 09:46:25)


Patrick.

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

Offline

#24 2008-11-03 14:57:40

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

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

Nous allons aujourd’hui utiliser les balises <link (...) /> associées à leur attribut rel pour lister l’ensemble de vos archives ainsi que vos articles ce qui, dans un soucis de référencement, ne devrait pas agraver les choses, bien au contraire ;)

Prérequis1 :

Vous devez télécharger et installer TXP qui est, je vous le rappelle, un merveilleux outil de CMS flexible et open source :))

C’est fait? Parfait. Nous pouvons commencer.

1Les archives des articles de votre blog (Euh, je sais: le style de ce titre n’est pas très joli ; il a le mérite d’être suffisamment précis).

Supposons que vous ayez une page (section) dévolue à vos archives mensuelles. Ici, nous la nommerons “archives-mensuelles” (titre de l’url de la-dite section).

Dans le gabarit “default” – celui qui affiche la home page de votre site – nous ajouterons entre les balises xhtml <head> ... </head> :

<txp:article_custom section="blog" listform="archives_links" limit="999999" />

Puis nous crérons tout naturellement un nouveau module (form) de type “article” et nommé “archives_links” :

<txp:if_different><link rel="archives" href="<txp:site_url />archives-mensuelles?a=<txp:php> global $locale; setlocale(LC_ALL, 'fr_FR.UTF-8'); echo posted(array('format' => '%Y-%m')); echo '" title="'; echo posted(array('format' => '%m/%Y')); setlocale(LC_ALL, $locale); </txp:php>" /></txp:if_different>

Parfait. Vous avez terminé.

2Les articles de votre blog

Créons un module (form) de type “article” et que nous nommerons “chapters_links” :

<txp:if_different><link rel="chapter" title="<txp:title />" href="<txp:permlink />" /></txp:if_different>

Parfait… (vous connaissez la suite).

Résumons.

La partie head de votre gabarit default doit contenir :

<!-- archives & chapters links --> <txp:article_custom section="blog" listform="archives_links" limit="999999" /> <txp:article_custom section="blog" listform="chapters_links" section="blog" limit="999999" /> <!-- /archives-chapters links -->

Qu’allons-nous donc obtenir?

Dans le source de la partie head de votre page, vous donnez à qui veux bien lire (les bots), des informations sur la structure de votre blog :

<!-- archives & chapters links --> <link rel="archives" href="http://forum.textpattern.com/archives-mensuelles?a=2008-11" title="11/2008" /> <link rel="archives" href="http://forum.textpattern.com/archives-mensuelles?a=2008-10" title="10/2008" /> <link rel="chapter" title="Un premier article" href="http://forum.textpattern.com/blog/un-premier-article" /> <link rel="chapter" title="Un deuxième article" href="http://forum.textpattern.com/blog/un-deuxieme-article" /> <!-- /archives-chapters links -->

Whaou. Trop bien. Merci Pat64!

Bon. Assez plaisanté.
Sachez également que l’on peut utiliser la propriété section pour ce même attribut rel afin de lister toutes les pages (sections) de votre site. Je vous laisse cogiter la construction de votre module afin d’obtenir ce que vous imaginez déjà. [Si toutefois vous ne savez pas comment faire, envoyez-moi un mèl : je répondrai à vos demandes!]

——-
Note: 1 : ayant pour fâcheuse habitude de dire n’importe quoi sur ce forum, veuillez personnaliser les démonstrations en fonction de vos réels besoins. D’autre part, j’utilise ici des trucs bizarres setlocale… dont vous comprendrez l’utilité, prochainement, dans un nouveau Tips à venir.

Stay Tuned. Have fun folks,

Last edited by Pat64 (2008-11-04 09:53:07)


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