Dotclear

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

Annonce

13 février 2024 Sortie de Dotclear 2.29

#26 2012-04-11 16:37:15

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : [ Plugin FreeUrls ]

osku a écrit :
adjaya a écrit :

@ amalgame
Il me semble que ca devrait fonctionner avec ton code, bon j'inclurais quelques tests avec, quelque chose m'échappe peut-être!
Une petite piste tout de même, une histoire de priorité, il faut en effet impérativement que mon plugin fasse sa cuisine après ta redéfinition de l'urlHandler, et comme c'est fait dans un fichier du thème, je me demande comment dotclear gère cela!!?

Voilà. C'est le thème en dernier, après tous les plugins.

Oui, donc ca explique peut-être le dysfonctionnement pour amalgame, il n'est donc pas possible de prioriser un _public.php d'un thème avant le _public.php d'un plugin?


Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#27 2012-04-11 20:20:41

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

Re : [ Plugin FreeUrls ]

osku a écrit :

Voilà. C'est le thème en dernier, après tous les plugins.

Arf ! Je m'en doutais un peu, et ça ne m'arrange pas. Je crains de devoir passer par un gros bricolage, ou carrément oublier l'idée, à moins que quelqu'un n'ait une idée lumineuse ?

On ne peut pas affecter une priorité plus importante à un plugin ?

Hors ligne

#28 2012-04-12 02:19:23

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : [ Plugin FreeUrls ]

amalgame a écrit :
osku a écrit :

Voilà. C'est le thème en dernier, après tous les plugins.

Arf ! Je m'en doutais un peu, et ça ne m'arrange pas. Je crains de devoir passer par un gros bricolage, ou carrément oublier l'idée, à moins que quelqu'un n'ait une idée lumineuse ?

On ne peut pas affecter une priorité plus importante à un plugin ?

"On ne peut pas affecter une priorité plus importante à un thème ?" veux-tu dire!

J'ai vu à un moment donné une évolution de dotclear qui permet de changer un template à la volée au dernier moment, et t'éviterais par la même occasion la réécriture de l'urlhandler des catégories, c'est le behavior urlHandlerBeforeGetData explication ici > http://fr.dotclear.org/blog/post/2010/0 … -d-erreurs .


Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#29 2012-04-12 08:50:02

osku
Membre
Lieu : 28
Inscription : 2005-06-15

Re : [ Plugin FreeUrls ]

Bonne idée.

Voici à quoi ressemble le fichier _public.php du plugin Templator

if (!defined('DC_RC_PATH')) { return; }
$core->tpl->setPath($core->tpl->getPath(), $core->templator->path);
$core->addBehavior('urlHandlerBeforeGetData',array('publicTemplatorBehaviors','BeforeGetData'));

class publicTemplatorBehaviors
{
	public static function BeforeGetData ($_ctx)
	{
		global $core;
		
		if (array_key_exists($core->url->type,$core->getPostTypes()) || ($core->url->type == 'pages'))
		{
			$params = array();
			$params['meta_type'] = 'template';
			$params['post_id'] = $_ctx->posts->post_id;
			$post_meta = $core->meta->getMetadata($params);
			
			if (!$post_meta->isEmpty() && ($core->tpl->getFilePath($post_meta->meta_id)))
			{
				$_ctx->current_tpl = $post_meta->meta_id;
			}
		}
		
		if (($_ctx->current_tpl == "category.html") && preg_match('/^[0-9]{1,}/',$_ctx->categories->cat_id,$cat_id))
		{
			$tpl = 'category-'.$cat_id[0].'.html';
			if (($core->tpl->getFilePath($tpl))) {
				$_ctx->current_tpl = $tpl;
			}
		}
	}
}

Hors ligne

#30 2012-04-22 10:16:44

Jean-Michel
Modérateur à ailes d'ange
Lieu : Paris
Inscription : 2006-08-22
Site Web

Re : [ Plugin FreeUrls ]

J'aurai souhaité savoir si la 0.0.2 est la dernière version partagée de ce plugin ? Et le cas échéant, quelles seront les évolutions potentielles de ce plugin ? Puis-je déjà l'utiliser dans un prod réel ?

Merci ;)

Hors ligne

#31 2012-04-24 06:35:39

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : [ Plugin FreeUrls ]

Jean-Michel a écrit :

J'aurai souhaité savoir si la 0.0.2 est la dernière version partagée de ce plugin ? Et le cas échéant, quelles seront les évolutions potentielles de ce plugin ? Puis-je déjà l'utiliser dans un prod réel ?

Merci ;)

Pas d'autre version pour l'instant, la prochaine corrigera les bugs signalés et quelques petites choses entrevues.
Pas d'évolution dans l'immédiat, j'ai pas beaucoup de temps actuellement pour cela!
En prod!?, difficile à dire :), je ne peux pas exclure quelques plâtres à essuyer encore, les mises en garde pour les urls en doublons reste d'actualité et le contrôle de conflits possibles à ce niveau reste à la charge de l'utilisateur. j'ai commencé à travailler cette évolution, mais c'est un assez gros chantier.


Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#32 2012-04-24 13:20:21

Tomek
Moderator
Inscription : 2006-04-12
Site Web

Re : [ Plugin FreeUrls ]

Perso je l'utilise en prod mais sur du site perso, je fais donc gaffe aux conflits / doublons.

Hors ligne

#33 2012-04-24 15:02:29

Jean-Michel
Modérateur à ailes d'ange
Lieu : Paris
Inscription : 2006-08-22
Site Web

Re : [ Plugin FreeUrls ]

Dans le cas où je souhaiterai l'utiliser, c'est pour un client. Donc forcément, j'hésite un peu.

Hors ligne

#34 2012-04-24 15:33:56

Tomek
Moderator
Inscription : 2006-04-12
Site Web

Re : [ Plugin FreeUrls ]

Je comprends. Maintenant je n'ai eu pour le moment aucun souci...

Hors ligne

#35 2012-04-24 18:36:02

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : [ Plugin FreeUrls ]

Perso., il est en prod sur le site de mon profil, je fais attention aux conflits (qui sont proches du zéro) mais rien d'insurmontable ;)

Hors ligne

#36 2012-05-02 10:46:38

i_love_dc
Membre
Inscription : 2007-07-13

Re : [ Plugin FreeUrls ]

je comprend pas ...
la config du blog est en "path-info", la config d'URL en "titre"
la version DC est la dernière, le thème c'est hybrid..
dans le message d'erreur, ca parle de "URLhlanders", pour les test  de "FreeUrls" le plugin "URLhlanders" est pourtant désactivé
Dans FreeUrls, jai coché /post/ et redirection

dans l'URL le /post/ est inxexistant, mais la page affiche "document non trouvé et ce message d'erreur

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /homez.520/blabla/www/dotclear/plugins/freeUrls/_prepend.php on line 106

Warning: Invalid argument supplied for foreach() in /homez.520/blabla/www/dotclear/plugins/freeUrls/_public.php on line 24

Warning: Cannot modify header information - headers already sent by (output started at /homez.520/blabla/www/dotclear/plugins/freeUrls/_prepend.php:106) in /homez.520/blabla/www/dotclear/inc/public/lib.urlhandlers.php on line 54

Warning: Cannot modify header information - headers already sent by (output started at /homez.520/blabla/www/dotclear/plugins/freeUrls/_prepend.php:106) in /homez.520/blabla/www/dotclear/inc/libs/clearbricks/common/lib.http.php on line 350

et voici sur la page d'accueil

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /homez.520/blabla/www/dotclear/plugins/freeUrls/_prepend.php on line 106

Warning: Cannot modify header information - headers already sent by (output started at /homez.520/blabla/www/dotclear/plugins/freeUrls/_prepend.php:106) in /homez.520/blabla/www/dotclear/inc/libs/clearbricks/common/lib.http.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at /homez.520/blabla/www/dotclear/plugins/freeUrls/_prepend.php:106) in /homez.520/blabla/www/dotclear/inc/libs/clearbricks/common/lib.http.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at /homez.520/blabla/www/dotclear/plugins/freeUrls/_prepend.php:106) in /homez.520/blabla/www/dotclear/inc/libs/clearbricks/common/lib.http.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at /homez.520/blabla/www/dotclear/plugins/freeUrls/_prepend.php:106) in /homez.520/blabla/www/dotclear/inc/libs/clearbricks/common/lib.http.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at /homez.520/blabla/www/dotclear/plugins/freeUrls/_prepend.php:106) in /homez.520/blabla/www/dotclear/inc/public/lib.urlhandlers.php on line 108

Warning: Cannot modify header information - headers already sent by (output started at /homez.520/blabla/www/dotclear/plugins/freeUrls/_prepend.php:106) in /homez.520/blabla/www/dotclear/inc/libs/clearbricks/common/lib.http.php on line 274

Hors ligne

#37 2012-05-02 11:10:00

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : [ Plugin FreeUrls ]

@ i_love_dc
En attendant une mise à jour qui corrigeras ce bug, tu peux faire la modif que je propose ici :

http://forum.dotclear.org/viewtopic.php … 23#p313023


Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#38 2012-05-03 00:35:13

i_love_dc
Membre
Inscription : 2007-07-13

Re : [ Plugin FreeUrls ]

merci adjaya ca fonctionne nickel ... sauf !!!!

le sitemap, je ne sais pas pourquoi les liens sont faux exemple avant

<url>
<loc>http://www.tld.com/post/Le-titre-de-mon-billet</loc>
<priority>1.0</priority>
<changefreq>daily</changefreq>
<lastmod>2012-07-29T00:26:21+02:00</lastmod>
</url>

ce transforme en

<url>
<loc>http://www.tld.com/ /Le-titre-de-mon-billet</loc>
<priority>1.0</priority>
<changefreq>daily</changefreq>
<lastmod>2012-07-29T00:26:21+02:00</lastmod>
</url>

donc on dirait que le sitemap fait bien abstraction du "post" mais laisse les "doubles slash" ce qui donne un gros contenu dupliqué ...
aurait tu une idée pour arranger cela stp ?

Hors ligne

#39 2012-05-03 08:42:31

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : [ Plugin FreeUrls ]

Il faudrait que le plugin sitemap soit mis à jour avec la nouvelle méthode "getURLFor" en lieu et place de l'ancienne "getBase" qui est obsolète depuis ce changeset > http://dev.dotclear.org/2.0/changeset/7 … 65bf307591 .
C'est un prérequis pour que les plugins tiers (generants des urls) fonctionnent correctement avec freeUrls.

Dernière modification par adjaya (2012-05-03 08:42:48)


Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#40 2012-05-03 10:23:58

i_love_dc
Membre
Inscription : 2007-07-13

Re : [ Plugin FreeUrls ]

Je sais que ce n'est pas forcement de ton ressort puisque ce plugin n'est pas le tiens,
mais aurait tu idée de la/les modif(s) à effectuer, car au pire je le modfi moi meme?
(c'est de la grosse modif ou peut etre juste une ligne a ajouter ??)

car pour l'instant "T" ton plugin fonctionne apparemment pour tout les reste sauf pour le sitemap qui m’empêche d'utiliser ton plugin :-(

Edit* de + , sitemap n'a pas l'air d'avoir été remis a jour depuis 2ans (peut être ne nécessitait-il pas de de MAJ), mais je ne sais pas si PEP est toujours sur le coup ?

Dernière modification par i_love_dc (2012-05-03 13:24:31)

Hors ligne

#41 2012-05-25 18:12:54

i_love_dc
Membre
Inscription : 2007-07-13

Re : [ Plugin FreeUrls ]

le plugin (une fois modifié comme ici > http://forum.dotclear.org/viewtopic.php … 3#p313023)
est fonctionnel, mais pas utilisable a cause du plugin sitemap qui lui bug,
du coup impossible de ce servir de ton plugin adjaya :-(

Hors ligne

#42 2012-05-31 12:31:26

tbex
Membre
Inscription : 2012-03-04

Re : [ Plugin FreeUrls ]

Bonjour,

J'utilise le plugin sitemap sur mon site web dotclear, couplé au plugin freeUrl, personnalisé par mes soins dont tu fais mention en lien dans ton post.
Je n'ai pas les problèmes d'url que tu soulèves. Cependant je ne sais plus quelle version j'ai... (je l'ai d'ailleurs peut-être légèrement personnalisé, me rappelle plus ^^')

Cela t'intéresserait il que je te fournisse ma version sitemap pour que tu puisse regarder si elle répond à ton besoin ?

Cordialement,

Hors ligne

#43 2012-05-31 23:20:53

i_love_dc
Membre
Inscription : 2007-07-13

Re : [ Plugin FreeUrls ]

tbex a écrit :

Bonjour,

J'utilise le plugin sitemap sur mon site web dotclear, couplé au plugin freeUrl, personnalisé par mes soins dont tu fais mention en lien dans ton post.
Je n'ai pas les problèmes d'url que tu soulèves. Cependant je ne sais plus quelle version j'ai... (je l'ai d'ailleurs peut-être légèrement personnalisé, me rappelle plus ^^')

Cela t'intéresserait il que je te fournisse ma version sitemap pour que tu puisse regarder si elle répond à ton besoin ?

Cordialement,


ah oui, si les urls sont bien "réécrites" et que donc tout est fonctionnel avec plaisir :)

Hors ligne

#44 2012-06-01 02:33:57

tbex
Membre
Inscription : 2012-03-04

Re : [ Plugin FreeUrls ]

Bonjour,

Alors, j'ai regardé, j'ai une version du plugin sitemaps plus récente que celle sur le lab apparemment. Cependant celle-ci est une 1.1-RC2, donc censée ne pas être complètement stable. Cependant je m'en sers depuis au moins 2, 3 ans maintenant sans soucis.

Je l'ai effectivement personnalisé très légèrement.
A l'époque j'avais fait cette modification alors que je n'utilisais pas le plugin freeUrls. Donc peut-être que cette motif devient inutile... A tester.

La modif en question :

fichier /plugins/sitemaps/inc/class.dc.sitemaps.php
ligne 112 remplacer

            $url = $base_url.html::sanitizeURL($rs->post_url);

par

            //$url = $base_url.html::sanitizeURL($rs->post_url);
            if ($type == 'post')
                $url = str_replace('post/', '', $base_url.html::sanitizeURL($rs->post_url.'.html'));
            else $url = $base_url.html::sanitizeURL($rs->post_url);

Le lien de ma version [lien mort obsolète =( désolé]

En espérant que ça t'aidera.

Cordialement,

Dernière modification par tbex (2017-08-13 05:54:23)

Hors ligne

#45 2012-06-01 08:54:01

i_love_dc
Membre
Inscription : 2007-07-13

Re : [ Plugin FreeUrls ]

merci tbex, vraiment tres sympa de ta part ce coup de main
malheureusement ca ne marche pas, ta version du sitemap rajoute juste un ".html", ce qui n'est pas un gros problème puisque tu l'a rajouté, donc on peut l'enlever :)
le vrai problème reste le rendu de l'url ndd.com/ /le-titre-du-billet (vide double / dans l'url)
donc malgrè ta version rien ne change :-(

Hors ligne

#46 2012-06-01 09:19:41

tbex
Membre
Inscription : 2012-03-04

Re : [ Plugin FreeUrls ]

Re bonjour,

C'est pas très propre, mais pour dépanner, tu peux remplacer :

            $url = $base_url.html::sanitizeURL($rs->post_url);

par

            $url = str_replace('/ /', '/', $base_url.html::sanitizeURL($rs->post_url));

en attendant de trouver mieux.

Je pense qu'il faudrait remplacer tous les $base_url.html::sanitizeURL($rs->post_url) par autre chose. Ce code doit être obsolète et doit pouvoir être remplacé par une nouvelle fonction dotclear.

Cordialement,

Dernière modification par tbex (2012-06-01 09:21:35)

Hors ligne

#47 2012-06-02 01:27:17

i_love_dc
Membre
Inscription : 2007-07-13

Re : [ Plugin FreeUrls ]

Ca ne marche pas non plus...dans

//$url = $base_url.html::sanitizeURL($rs->post_url);
            if ($type == 'post')
                $url = str_replace('post/', '', $base_url.html::sanitizeURL($rs->post_url.'.html'));
            else $url = $base_url.html::sanitizeURL($rs->post_url);

La ligne concernée semble plutôt être

 $url = str_replace('post/', '', $base_url.html::sanitizeURL($rs->post_url.'.html'));

lorsque je met

 $url = str_replace('//', '/', $base_url.html::sanitizeURL($rs->post_url));

En effet mon url de "NND.com/ /Le-titre-du-billet" deviens bien "NDD.com/Le-tritre-du-billet" ... Donc oui le bug ce résout, sauf que...

Le soucis est dans le "-http://www. NDD.com/Le-tritre-du-billet" il m’enlève aussi un slash du coup ca donne "-http:/www. NDD.com/Le-tritre-du-billet" ce qui fausse les URLs donc sitemap :-(

Hors ligne

#48 2012-06-02 05:24:17

tbex
Membre
Inscription : 2012-03-04

Re : [ Plugin FreeUrls ]

Bonjour,

Pas propre du tout mais,

remplacer :

            //$url = $base_url.html::sanitizeURL($rs->post_url);
            if ($type == 'post')
                $url = str_replace('//', '/', $base_url.html::sanitizeURL($rs->post_url));
            else $url = $base_url.html::sanitizeURL($rs->post_url);

par

            //$url = $base_url.html::sanitizeURL($rs->post_url);
            if ($type == 'post'){
                $url = str_replace('//', '/', $base_url.html::sanitizeURL($rs->post_url));
                $url = str_replace('http:/www.', 'http://www.', $url);
            }
            else $url = $base_url.html::sanitizeURL($rs->post_url);

Cependant avec le changement que tu as fais j'aimerais bien aussi que tu teste une alternative... que voici :

            //$url = $base_url.html::sanitizeURL($rs->post_url);
            if ($type == 'post')
                $url = str_replace('//', '/', $base_url.html::sanitizeURL($rs->post_url));
            else $url = $base_url.html::sanitizeURL($rs->post_url);

par

            $url = $base_url.html::sanitizeURL($rs->post_url);

regarde celle qui marche.

Cordialement,

Dernière modification par tbex (2012-06-02 06:12:03)

Hors ligne

#49 2012-06-03 04:59:52

i_love_dc
Membre
Inscription : 2007-07-13

Re : [ Plugin FreeUrls ]

salut !
alors avec

//$url = $base_url.html::sanitizeURL($rs->post_url);
            if ($type == 'post'){
                $url = str_replace('//', '/', $base_url.html::sanitizeURL($rs->post_url));
                $url = str_replace('http:/www.', 'http://www.', $url);
            }
            else $url = $base_url.html::sanitizeURL($rs->post_url);

effectivement ca marche, tout est opérationnel avec FreeUrls, après j'avoue, j'ai des doutes à savoir si le sitemap est pas "bugé" quelque part, mais ca a le mérite d'etre pour l'instant opérationnel
merci encore TBEX pour ton coup de main, tres sympa de ta part.

je vais prendre le risque d'utiliser FreeUrls + le sitemap "bidouillé" de perdre tout mon positionnement actuel pour me lancer dans l'aventure d'URLs plus "propres" en attendant des versions FreeUrls et Sitemaps mise a jour
merci encore pour ton suivit et ton aide :)

Hors ligne

#50 2012-07-07 14:43:57

fix
Membre
Inscription : 2005-01-20
Site Web

Re : [ Plugin FreeUrls ]

Bonjour,

Serait-il envisageable de faire évoluer le plugin pour qu'il prenne en compte les URLs générées par le plugin Gallery de Dsls ?

À défaut, quelqu'un aurait-il une idée des modifications qu'il serait nécessaire d'apporter à ce plugin pour supprimer les types /galerie et /image/galeries des URLs ?

Merci de votre aide !

Hors ligne

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

Pied de page des forums

Sites map