Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#26 2016-09-09 14:55:47

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [plugin mrvbToC] support et discussion

Mirovinben a écrit :

Hum... J'attends encore un peu ou je publie aujourd'hui une nouvelle version de mrvbToC avec le patch proposé en #17 ?

Tu peux, mes réflexions ne seront porteuses de modifs que pour la version 2.11 (ou suivantes) de Dotclear


Dotclear addicted since 2004

Hors ligne

#27 2016-09-09 19:33:02

Gvx
Membre
Inscription : 2006-01-14
Site Web

Re : [plugin mrvbToC] support et discussion

Franck a écrit :

Autre question : dans le code proposé, on s'appuie sur la langue du blog, ce qui va forcer un ordre de tri particulier, y compris sur des blogs multilingues, ça peut être gênant, c'est la raison pour laquelle je privilégiais entre autre pour pgsql le C.UTF8 plus générique.

Le problème c'est que de base pgsql ne propose que 2 collations "C" et "POSIX" (pas utf8).
En conséquence C.UTF8 n'est pas toujours disponible.

C'est pourquoi il faut interroger pgsql pour connaitre les collations disponibles.

Actuellement le patch privilégie la langue du blog au détriment de C.UTF8 mais la priorité peux être inversé (sous réserve d’existence)
si aucune des collations n'est disponible on se rabat sur un simple tri avec lowercase.

Après réflexion, pour ce qui est de l'ajout d'une colonne dans le tableau l10n, il est peut-être possible de s'en passer.

Car je pense que l'ordre de tri d'une langue donnée ne doit pas changer en fonction de la région. Dans ce cas on peut faire, comme dans le patch proposé, prendre la première collation de langue correspondant sans tenir compte de la région. (si c.UTF8 n'existe pas)

Pour ce qui est de sqlite il semble le tag langue type fr lui suffise. (Autre piste, voir si il est possible de créer une collation utf8)

Il reste une chose a tester. Il est possible de créer des collations dans pgsql. Reste a voir avec quelles permissions et comment le faire.

Ca fait donc quelques lectures et est a effectuer

Pour changer la priorité entre la langue et C.UTF-8 iil suffit de changer Break de branche dans le if

while ($_rs->fetch()) {
	if(strtolower(substr($_rs->f('collname'), 0, 2)) == $_lang) {	// 1ere ligne avec fr_XX
		$collate = ' ORDER BY P.post_title COLLATE "'.$_rs->f('collname').'" ';
	} elseif($_rs->f('collname') == 'C.UTF-8') {
		$collate = ' ORDER BY P.post_title COLLATE "'.$_rs->f('collname').'" ';	// C.UTF-8
		break;
	}
}

A+ Gilles

Hors ligne

#28 2016-09-10 06:00:49

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Nouvelle version, la v0.3.7

- Correction bug lors de la prise en compte des caractères diacritiques avec une base de données 'pgsql'. Merci à Gvx pour ses tests et son patch (celui proposé en #17)

Comme d'hab, plus d’infos et lien pour télécharger chez moi et sur DotAddict.

Hors ligne

#29 2016-09-20 21:07:27

Gvx
Membre
Inscription : 2006-01-14
Site Web

Re : [plugin mrvbToC] support et discussion

Mirovinben,

suite a mes recherches et tests, j'ai trouvé une solution pour être indépendant de la langue du blog.

Voici le patch en question:

if (DC_DBDRIVER == 'mysqli' || DC_DBDRIVER == 'mysql') {
	$collate = ' ORDER BY P.post_title COLLATE utf8_unicode_ci ';
} elseif (DC_DBDRIVER == 'pgsql') {
	$_rs = $core->con->select("SELECT * FROM pg_collation WHERE (collcollate LIKE '%.utf8')");
	if(!$_rs->isEmpty()) {
		$collate = ' ORDER BY P.post_title COLLATE "'.$_rs->f('collname').'" ';
	}
} elseif (DC_DBDRIVER == 'sqlite' && class_exists('Collator') && method_exists($core->con->link(),'sqliteCreateCollation')) {
	$utf8_unicode_ci = new Collator('root');
	if ($core->con->link()->sqliteCreateCollation('utf8_unicode_ci',array($utf8_unicode_ci,'compare'))) {
		$collate = ' ORDER BY P.post_title COLLATE utf8_unicode_ci ';
	}		
}

Pour les explications, voir ici http://dev.dotclear.org/2.0/ticket/2198#comment:14


A+ Gilles

Hors ligne

#30 2016-09-22 06:47:29

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Nouvelle version, la v0.3.8

- Optimisation dans la prise en compte des caractères diacritiques quelque soit le type de base de données supportée par Dotclear. Merci à Gvx pour ses tests et son patch proposé en #29.

Comme d'hab, plus d’infos et lien pour télécharger chez moi et sur DotAddict.

Hors ligne

#31 2017-12-14 07:39:34

hyperion66
Membre
Inscription : 2008-12-01
Site Web

Re : [plugin mrvbToC] support et discussion

Bonjour Mirovinben,

Tout d'abord, merci pour ce plugin et ton travail.
En revanche, je n'ai pas très bien compris comment mettre en place cette table des matières. Je veux que la table des matières apparaisse sur une Page, comment dois-je procéder ?

Hors ligne

#32 2017-12-14 10:04:57

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Pour utiliser le widget en dehors de la sidebar, il faut passer par une page statique créée avec le plugin "related" dans laquelle on insère le widget avec les paramètres kivonbien selon la syntaxe décrite ici.

Je propose un exemple d'implémentation dans mon blog de test .

Hors ligne

#33 2017-12-14 10:11:20

hyperion66
Membre
Inscription : 2008-12-01
Site Web

Re : [plugin mrvbToC] support et discussion

C'est tout à fait ce que je cherche. Il me fait donc le plugin Related en plus.

Hors ligne

#34 2017-12-14 10:17:38

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Oui. Tu peux le trouver sur DotAddict.

Hors ligne

#35 2017-12-14 10:18:26

hyperion66
Membre
Inscription : 2008-12-01
Site Web

Re : [plugin mrvbToC] support et discussion

Une fois installé, Related Pages devient Pages connexes ?

Hors ligne

#36 2017-12-14 11:45:18

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Voui...

Hors ligne

#37 2017-12-14 12:18:09

hyperion66
Membre
Inscription : 2008-12-01
Site Web

Re : [plugin mrvbToC] support et discussion

Bon, reste à comprendre comment ça fonctionne tout ça. C'est pas simple.

Hors ligne

#38 2017-12-14 14:29:02

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Le principe de cet excellent plugin (related / related page / pages connexes) est de récupérer un fichier html ou php placé dans un certain répertoire et de l'insérer comme contenu dans un billet d'un type spécial ("related" et non "post" ni "page") n'ayant ni catégorie ni mots-clés ni possibilité de commenter et étant hors flux (contrairement aux billets "normaux") mais pouvant être accessible depuis le blog et/ou de l'extérieur (préfixe d'url par défaut = "static") .

Dernière modification par Mirovinben (2017-12-14 17:25:45)

Hors ligne

#39 2017-12-14 17:10:23

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Remarque :
-1- Si le fichier inclus a comme extension ".php", le fichier contiendra (ou pas) du code PHP qui sera interprété quelque soit le réglage du blog (cf "tpl_allow_php" de about:config).
-2- Si le fichier inclus a comme extension ".html", le fichier pourra contenir des marqueurs de template.

Donc, dans le cas d'une utilisation de <tpl:Widget> il faut que l'extension du fichier inclus soit ".html" et non ".php".

Dernière modification par Mirovinben (2018-01-11 05:41:47)

Hors ligne

#40 2018-01-10 21:05:51

hyperion66
Membre
Inscription : 2008-12-01
Site Web

Re : [plugin mrvbToC] support et discussion

Bon, up, car rien compris....

Hors ligne

#41 2018-01-11 05:32:50

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Rien compris à quoi ?

Si tu veux placer un widget ailleurs que dans la sidebar il te faut...
- soit l'intégrer dans un fichier template de ton thème (home.html par exemple)
- soit l'intégrer dans un fichier xxx.html qui sera lié à une page de type "related", comme le permet le plugin "related / related page / pages connexes" que tu peux installer depuis dotaddict

Ensuite tu récupères l'URL de cette page et la mets à disposition dans un billet, un widget texte ou toute autre façon habituelle de proposer un lien dans ton blog.

L'exemple de mise en œuvre que je t'ai proposé en #32 utilise
- une page de type "related"
- accessible via http://www.mirovinben.fr/blogtest/index.php?static/ToC,
- titrée "Table des matières"
- avec l'URL spécifique "ToC"
- et qui inclut un fichier
    - que j'ai nommé "ToC.html" ("Choisissez un fichier local dans votre dépôt de pages connexes")
    - placé via FTP dans le répertoire précisé dans l'onglet "Options", item "Chemin du dépôt des pages incluses" des paramètres du plugin "related".

Le fichier "ToC.html" contient, outre quelques explications, le code suivant :

	<tpl:Widget id="mrvbToC">
		<setting name="title"></setting>
		<setting name="sortby">title</setting>
		<setting name="selected">1</setting>
		<setting name="count">1</setting>
		<setting name="page">1</setting>
		<setting name="position">1</setting>
		<setting name="static">1</setting>
		<setting name="hideposts">1</setting>
	</tpl:Widget>

Et c'est tout.

Hors ligne

#42 2018-03-19 20:56:10

hyperion66
Membre
Inscription : 2008-12-01
Site Web

Re : [plugin mrvbToC] support et discussion

Merci, j'ai enfin avancé : https://www.matosvelo.fr/index.php?static/toc

Y a-t-il moyen de rajouter sur cette TOC, en face du titre, la date de publication sous forme dd/mm/yyyy ?

Hors ligne

#43 2018-03-20 05:42:42

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Super !

Ta demande est techniquement faisable mais je crains une complexification du widget :
- date avant/après le titre ?
- paramétrage du format de la date ?
- avec ou sans l'heure ?
pour chacun des trois types (post, page, related)

Faut que je fasse des essais... Mais pas dans l'immédiat.

Dernière modification par Mirovinben (2018-03-20 06:06:20)

Hors ligne

#44 2018-03-20 09:01:40

hyperion66
Membre
Inscription : 2008-12-01
Site Web

Re : [plugin mrvbToC] support et discussion

Pas de souci, en effet, si ça complique trop les choses, pas certain que le jeu en vaille la chandelle.

Hors ligne

#45 2018-08-20 06:43:34

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Nouvelle version, la v0.3.11

- corrige un bug constaté lorsqu'un blog n'a aucune catégorie.

Merci à nanart pour ses tests ayant permis notamment de détecter ce bug.

Comme d'hab, plus d’infos et lien pour télécharger chez moi et sur DotAddict.

Dernière modification par Mirovinben (2018-09-02 07:24:14)

Hors ligne

#46 2021-05-22 06:33:19

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Je ne peux garantir le bon fonctionnement de cette extension que jusqu'à la version 2.13.1 de Dotclear et la version 5.5 de PHP.

Remarque : Philippe l'a testée avec succès avec Dotclear 2.16.4 sous PHP 7.4
(https://forum.dotclear.org/viewtopic.ph … 41#p344541)

Hors ligne

#47 2021-05-22 08:51:07

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : [plugin mrvbToC] support et discussion

Bonjour. Juste pour dire que mrvbToc fonctionne encore très bien chez moi sous PHP 8.0.5, base MariaDB (MySQL) 8.0.25, et dotclear 2.19-dev \o/.

Quelques soucis de design en activant le script qui permet de plier-déplier les listes, mais c'est probablement dû à mon thème.

Hors ligne

#48 2021-05-22 13:00:39

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : [plugin mrvbToC] support et discussion

Merci, Philippe, c'est une excellente nouvelle.

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map