URL déjà utilisée dans mes nouveaux posts

joebartjoebart Member
septembre 2013 modifié dans Entraide
Bonjour à tous,

Si je veux créer un nouveau sujet, dans une catégorie nouvelle mais avec un même titre, j'ai cette erreur qui apparait :

rdrq.jpg

Le problème est que, pour chaque catégorie, j'ai le même post donc la même URL. Exemple comme ici : les-contrats.

Ce problème est nouveau depuis le passage en 5.2. Merci pour votre aide. :)

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour
    A toi de mettre une url différente dans le champ url de l'article pour qu'il soit unique (tu peux éditer le champ manuellement pour avoir une valeur différente que celle proposée automatiquement par PluXml).
    Cette "restriction" est depuis la 5.2 pour éviter des problèmes de référencement car chaque contenu doit être accessible à partir d'une url unique.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Plop,

    Tu as le plugin MyBetterUrl ?
    Si tu le désactives, ça fonctionne ?

    J'en parle sur le topic de ce plugin, il faudrait pouvoir personnaliser l'affichage des liens.
    Par exemple avoir ça :
    http:*//monsite.fr/macategorie1/les-contrats
    http:*//monsite.fr/macategorie2/les-contrats

    ça éviterait d'avoir des doublons d'urls (comme toi là).
  • joebartjoebart Member
    septembre 2013 modifié
    Merci pour vos réponses ;) et non, je n'ai pas le plugin MyBetterURL. Ca m'embête bien cette affaire car les sujets sont identiques pour chacune des catégories et je vais devoir tout reprendre alors ?

    Jusqu'à, présent, ça marchait comme ça :
    http://www.jmr-immobilier.fr/article106/les-contrats
    http://www.jmr-immobilier.fr/article144/les-contrats
  • Bonjour,

    Je reviens à la charge. La seule solution est donc pour moi de renommer toutes mes URLs, en affectant par exemple un suffixe ?
    Genre :
    http://www.jmr-immobilier.fr/article106/les-contrats001
    http://www.jmr-immobilier.fr/article144/les-contrats002
    Merci pour vos retours :)
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    Dans l'absolu: oui

    Sinon 2 alternatives plus ou moins habiles:

    Solution 1

    Pour les anciens articles, il peuvent rester avec des urls identiques. Si tu ne les édites pas, tu n'auras pas le message d'erreur. Pour les nouveaux, tu peux les créer avec une url différente et par ftp, tu peux renommer le fichier pour lui donner l'url que tu veux.
    exemple:
    dans le dossier data/articles:
    renomme
    0106.001.001.201309031428.les-contrats001.xml
    en
    0106.001.001.201309031428.les-contrats.xml
    -> suppression du 001 avant .xml

    Solution 2

    Faire sauter le controle sur l'unicité de l'url.
    Edite le fichier core/admin/article.php et remplace
    		# Vérification de l'unicité de l'url
    		$_POST['url'] = plxUtils::title2url(trim($_POST['url'])==''?$_POST['title']:$_POST['url']);
    		foreach($plxAdmin->plxGlob_arts->aFiles as $numart => $filename) {
    			if(preg_match("/^_?[0-9]{4}.([0-9,|home|draft]*).[0-9]{3}.[0-9]{12}.".$_POST["url"].".xml$/", $filename)) {
    				if($numart!=str_replace('_', '',$_POST['artId'])) {
    					$valid = plxMsg::Error(L_ERR_URL_ALREADY_EXISTS." : ".plxUtils::strCheck($_POST["url"])) AND $valid;
    				}
    			}
    		}
    

    par
    		# Vérification de l'unicité de l'url
    /*
    		$_POST['url'] = plxUtils::title2url(trim($_POST['url'])==''?$_POST['title']:$_POST['url']);
    		foreach($plxAdmin->plxGlob_arts->aFiles as $numart => $filename) {
    			if(preg_match("/^_?[0-9]{4}.([0-9,|home|draft]*).[0-9]{3}.[0-9]{12}.".$_POST["url"].".xml$/", $filename)) {
    				if($numart!=str_replace('_', '',$_POST['artId'])) {
    					$valid = plxMsg::Error(L_ERR_URL_ALREADY_EXISTS." : ".plxUtils::strCheck($_POST["url"])) AND $valid;
    				}
    			}
    		}
    */
    

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Merci Stéphane, je vais tester l'option 2 :/
  • Merci pour l'explication de l'origine de ce problème que j'ai également rencontré.
    (j'avais aussi utilisé la solution 1)


    Steph ;)
Connectez-vous ou Inscrivez-vous pour répondre.