GeotrekCE / Geotrek-rando

Geotrek public trekking website
http://geotrek.fr
27 stars 18 forks source link

BUG : pb with RULES_FLAT_PAGES_ID when using external link option #627

Open CynthiaBorotPNV opened 6 years ago

CynthiaBorotPNV commented 6 years ago

Actual behavior

When the given rules flat page id refers to a flat page with an external link value (here id = 3), the created link open a new web page with a geotrek flat page content (http://rando.vanoise.com/informations/un-espace-a-preserver/) and not refer to the link content http://www.vanoise-parcnational.fr/fr/parc-national-de-la-vanoise/la-reglementation-du-coeur configured.

...

pierreloicq commented 3 years ago

Bonjour, Je retombe sur ce bug signalé par ma prédécessrice au parc de la Vanoise. Un exemple : http://5.196.111.115/rando-a-pied/boucle-du-lac-blanc/ Je vois qu'aucun parc national n'a un lien externe qui marche. Ce marche chez la Guadeloupe mais en lien interne.

Chez moi j'ai "RULES_FLAT_PAGES_ID": "3" dans le settings.custom.json et juste le lien dans la page statique. Si je mets "RULES_FLAT_PAGES_ID": "1" ça ne marche pas non plus, alors que la page 1 "préparer sa randonnée" fonctionne par ailleurs.

On est notamment aux lignes 54 et 69 de detail-content.html et ligne 35 de route.js

camillemonchicourt commented 3 years ago

Ce champs et ce paramètre n'ont plus de raison d'être depuis le remplaçant récent du champs spécifique EN COEUR DE PARC, par une notion plus générique d'étiquette, paramétrable comme on le veut : https://github.com/GeotrekCE/Geotrek-admin/issues/2362

Mais il manquerait juste à ajouter un champs URL à ces étiquettes, permettant de renvoyer vers une page web pour en savoir plus.

pierreloicq commented 3 years ago

Merci pour ta réponse. J'ai mis à jour vers la dernière version (admin & rando). C'est bien passé en étiquette mais la mise en URL coté GT rando est identique.

camillemonchicourt commented 3 years ago

Avec le passage sur des étiquettes, je pense qu'il n'y a plus d'URL et que le paramètre est déprécié. Et tant mieux car il était spécifique et un peu tordu. A confirmer ?

Pour bien faire, il faudrait ajouter un champs URL dans la table des étiquettes et afficher un lien "En savoir plus" sous le texte de description de l'étiquette quand ce champs URL est renseigné.

En attendant j'ai essayé de mettre une URL dans le contenu du texte en HTML mais logiquement il n'est pas interprété ou généré correctement : http://www.grand-tour-ecrins.fr/a-pied/tour-de-laiguille-de-venosc/

pierreloicq commented 3 years ago

En tous cas si je mets "RULES_FLAT_PAGES_ID": "", l'aspect cliquable du texte disparait. Ma prédécessrice était arrivée à faire un truc pas trop moche dans le detail-content.html :

    <div class="detail-content-notice is-park-centered" ng-if="result.properties.is_park_centered">
        <object class="notice-symbol fa rules" data="/custom/images/icon-rules.svg"  type="image/svg+xml"></object>
        <p ng-if="!rulesId">{{ 'PARK_CENTERED' | translate}}</p>
                <p>{{ 'PARK_CENTERED' | translate}} <a href="http://www.vanoise-parcnational.fr/fr/parc-national-de-la-vanoise/la-reglementation-du-coeur">www.vanoise-parcnational.fr</a></p>
    </div>
camillemonchicourt commented 3 years ago

Le champs spécifiques "is_park_centered" ayant été remplacé par le champs générique "étiquette", tout ce qui concerne l'ancien champs spécifique devrait être déprécié et abandonné.

camillemonchicourt commented 3 years ago

Ce champs et ce paramètre n'ont plus de raison d'être depuis le remplaçant récent du champs spécifique EN COEUR DE PARC, par une notion plus générique d'étiquette, paramétrable comme on le veut : https://github.com/GeotrekCE/Geotrek-admin/issues/2362

Mais il manquerait juste à ajouter un champs URL à ces étiquettes, permettant de renvoyer vers une page web pour en savoir plus.

gutard commented 3 years ago

il manquerait juste à ajouter un champs URL à ces étiquettes

Je pense qu'il serait plus logique, plus souple, et beaucoup plus simple de ne pas échapper les balises HTML ce qui permettrait de créer tous les liens qu'on veut (y compris plusieurs, sur tout le texte, ou seulement une partie, etc.) avec l'éditeur WYSIWYG.

camillemonchicourt commented 3 years ago

OK, un champs URL me semblait plus sur. Mais autoriser le HTML et activer un WYSIWYG me va bien aussi et serait plus simple et plus souple en effet.

gutard commented 3 years ago

un champs URL me semblait plus sur

Qu'est-ce que tu entends par « sûr » ? Pour autoriser quelqu'un a insérer du code HTML dans un site web il faut effectivement lui faire confiance. A priori c'est bien le cas pour ceux qui sont autorisés à modifier les labels. Il faut un accès à l'admin et le droit d'accès spécifique aux labels. Après effectivement, on ne peut jamais faire confiance à 100% et donc ce n'est pas sûr à 100%. Mais est-ce pour autant insuffisamment sûr dans ce contexte ? Je ne pense pas.

camillemonchicourt commented 3 years ago

Plus propre et cadré, je voulais dire. Pas sur au sens "sécurisé". Car mes utilisateurs savent renseigner un champs URL, mais pas tous bien mettre un lien sur un bout de texte correctement. Les 2 solutions sont bonnes je pense, le WYSIWYG apportant plus de souplesse et donc de possibilités.

pierreloicq commented 3 years ago

Du coup, y a-t-il un switch quelque part pour activer l'html ?

camillemonchicourt commented 3 years ago

Non cela nécessite d'activer un WYSIWYG dans l'Adminsite des ETIQUETTES dans Geotrek-admin. Et d'interpréter le HTML de ce champs au niveau de Geotrek-rando. A minima il faut implémenter le point 2.

pierreloicq commented 3 years ago

Voici le minima : https://github.com/GeotrekCE/Geotrek-rando/pull/803