<![CDATA[ Je ne comprend comment fonctionnent les liens dans MODx... - My Forums]]> https://forums.modx.com/thread/?thread=102553 <![CDATA[Je ne comprend comment fonctionnent les liens dans MODx...]]> https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552550 je démarre sur MODx (MODX Revolution 2.5.7-pl)

Pour me familiariser avec la bête, j’ai créé un répertoire « modx » dans mon dossier de travail pour tout ce qui est du PHP et même du MySQL.

DossierWeb :
_ SQLBuddy
_site-de-test-perso-en-PHP
_modx

Ce DossierWeb est pointé par mon serveur local LAMP (PHP Version 5.6.30) tournant sous Docker (je suis sous Linux Mint)

Donc pour voir la page par défaut j’entre l’url = http://localhost/modx/index.php?id=0

Dans mon habitude pour faire des pages web, mes sites sont structurés en arborescence.
Ex :

Racine du site :
- index.php
- pagetruc.php
- pagebidule.php
- fruits (dossier)
-pommes.php
-poires.php
-bananes.php
- villes
-lyon.php
-rennes.php

etc...

Donc quand on navigue sur mon site on se retrouve avec des urls du genre:
www.supersite.com/fruits/bananes.php

et j'utilise intensivement des liens relatifs dans mon site, ce qui donnerai comme lien pour la pagetruc.php un
href="/fruits/bananes.php"


Alors, mon premier problème, et j'ai plutôt l'impression de ne plus rien comprendre...

comment que je lui dis dans une resource que la page x c'est la page pagebidule.php huh
parce que j'ai beau entrer "pagebidule.php" ou même "pagebidule" dans l'alias de la ressource, impossible de retrouver :

http://localhost/modx/pagebidule.php (avec ou sans le ".php")

le seul moyen de retrouver cette page est uniquement avec une url = http://localhost/modx/index.php?id=5..



Pareil je peux pas mettre un href = "pagetruc.php" dans la page pagebidule.php...


et pour terminer, j'arrive pas non plus à créer un "répertoire" (ou quelque-chose qui indiquerai une hiérarchie) = "fruits" dans l'interface des ressources, pourtant j'en ai vu sur des vidéo youtube (wayfinder ??)

alors c'est un peu bloquant pour moi, de ne pas réussir à placer des liens entres mes pages.

J'ai essayé en activant et désactivant le fichier .httacess, mais ça ne donne rien de différent, et je suis une vraie bille en url rewritting, que j'aimerai éviter d'apprendre dans l'urgence d'avoir un site complet à mettre en ligne avant la fin de la semaine.]]>
tombook2 Jul 18, 2017, 12:16 AM https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552550
<![CDATA[Re: Je ne comprend comment fonctionnent les liens dans MODx...]]> https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552998
Bon, c'est vrai que de prime abord le système pour les liens est particulier, mais un fois pigé c'est assez puissant.

Déjà, oublie les pages php qui s'appellent bidule.php

De base, pour modx c'est par exemple modx/index.php?id=66 ==> toutes les pages sont appelées par leur id unique. Simple, mais pas joli.
Pour de la réécriture d'url le friendly_url dans les paramètres + la configuration du .htaccess à la racine c'est la base. Tu suis la doc et tout va bien se passer. Ni plus ni moins.
Ca c'est pour la partie technique.

Pour la partie fonctionnelle, je vais tenter de compléter les propos ci-dessus :
Dans un contexte (web), tu as des pages. Tu créé une page elle se met sous l'autre, au même niveau.
POur avoir des conteneurs de page (des pages parents puis enfant etc...), tu fais un clic droit sur une page et ajouter une ressource. Ou bien dans une ressource existante, dans l'onglet paramètres, tu peux pointer vers une page parente. Ainsi cette nouvelle ressource deviendra une sous page, page enfant, d'une page parent ou plutôt conteneur. Et ça fonctionne commune une arborescence classique de dossiers imbriqués. Si tu veux qu'une page soit conteneur, tu peux aussi l'indiquer dans l'onglet paramètre de la page en cochant la case conteneur.

Et enfin, pour maintenant appeler une page, il suffit de faire un lien html sous ce format pour aller à la page 125 :
<a title="Mon titre" href="[[~125]]">Mon texte</a>


Pas très dynamique pour les noms de page n'est-ce pas ?

Alors pour ne pas avoir à réécrire les titres et autres attributs pour chaque lien (s'il y en a plusieurs), il vaut mieux passer par une extention. Par exemple pdoTools contient un snippet pdoResources qui te permettra d'appeler :
- toutes les pages enfants d'une page déterminée,
- comme une liste définie manuellement de page
Mais il fait beaucoup plus que ça. Et le principe est :
J'appelle le snippet pdoResources et je lui dit : affiche moi toutes les pages enfants de la page 125, et applique leur le gabarit $untel (untel étant un chunk)
[[pdoResources?
    &parents=`125`
    &tpl=`untel`
]]


Et voici le gabarit du chunk untel que je peux utiliser et qui ressemble à ce que tu souhaites obtenir :
<a href="[[+id]]" title="[[+title]]">[[+longtitle]]</a>


Ce tpl se répétera autant de fois qu'il y a des sous pages à la page 125. Et tout le remplissage sera automatisé selon le template untel.

Dans le chunk untel, tu peux ainsi appeler les paramètres des pages selon ce format [[+paramètre]] qui correspond à [[*paramètre]]. Sauf que le dernier ne fonctionne que quand on est dans la page actuelle.

Si je suis dans la page 1 et j'écris [[*id]] ça donne 1. Si je suis dans la 125 [[*id]] donne 125. Si je suis dans la page 1 et que je veux l'id de la page 125, je peux écrire dans la page 1, ou dans mon modèle par exemple :

[[pdoResources?
    &resources=`125`
    &tpl=`justID`
]]

Et j'ai un chunk qui s'appelle justID et qui contient :
<-- chunk justID -->
    [[+id]]
<!-- fin chunk -->


Et ça m'affiche 125 alors que je suis sur la page 1. Tu comprends qu'on peut faire afficher le titre, le contenu et tous les autres attributs de ta page, même jusqu'au TV (mais là tu verras par la suite).

J'espère que cet exemple t'auras aidé à mieux comprendre le fonctionnement des pages et rien ne vaut que d'essayer en reprenant cet exemple (s'il n'a pas d'erreurs) simple et en l'adaptant à tes propres noms etc... La documentation de Modx et de pdOTools seront vraiment très utiles aussi. Bon courage.
]]>
squarou Aug 04, 2017, 10:56 AM https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552998
<![CDATA[Re: Je ne comprend comment fonctionnent les liens dans MODx...]]> https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552728 Je n'imaginais pas à quel point MODx pouvait avoir une telle richesse de fonctionnalités...

J'ai encore du mal à cerner les concepts et leurs noms, et OK, je lire et essayer de comprendre ce que tu indique sur tes liens.

Mais je vois pas comment on fait pour créer un grouper des ressources, il faut créer un nouveau lien web pour "placer" les ressources dedans ?
Parce que si j'arrive bien à creer des groupes de ressources et que j'y place des pages, celles ci continuent à s'afficher à la racine du site...


Sinon, déjà, pour les liens, j'ai bien paramêtré, et j'arrive à m'en servir..
Il y a juste un truc qui me chiffonne, c'est que je n'arrive pas à placer le titre de la page dans le lien

exemple de ce qu je souhaiterai avoir :

<a href="[[~1234]]" title="[[~1234*pagetitle]].title">[[~1234*menutitle]]</a>

mais j'ai l'impression que c'est pas prévu dans les features... ??

en tous cas, merci anatole44 pour me répondre, je me sensmoins seul face à MODx, grace à toi ;-)]]>
tombook2 Jul 22, 2017, 10:12 PM https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552728
<![CDATA[Re: Je ne comprend comment fonctionnent les liens dans MODx...]]> https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552631 https://docs.modx.com/revolution/2.x/administering-your-site/settings

En gros suivant tes réglages la hiérarchie que tu vas organiser dans tes "Resources" vas se répercuter sur tes urls : "/container/mon-alias.html"

Pour faire simple et propre :
Donc ".html" pour l'url. Pour placer du code php tu pourras utiliser les snippets [[!monsnippet]]. A placer en début de resource. Des "placeholders" seront mis dans la partie HTML.
https://docs.modx.com/revolution/2.x/developing-in-modx/other-development-resources/class-reference/modx/modx.setplaceholder
https://docs.modx.com/revolution/2.x/developing-in-modx/other-development-resources/class-reference/modx/modx.setplaceholders


[[!monsnippet]]
<div>[[+monplaceholder]]</div> 


]]>
anatole44 Jul 19, 2017, 03:15 PM https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552631
<![CDATA[Re: Je ne comprend comment fonctionnent les liens dans MODx...]]> https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552630

j'ai mis un peu de temps à trouver ou se gère l'option "friendly_urls" dans l'interface d'admin du site, mais je n'ai par encore eu le temps de tester vraiment.

en tout cas, c'est une premiere piste pour mes petites difficultés d’apprentissage sur MODx]]>
tombook2 Jul 19, 2017, 02:22 PM https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552630
<![CDATA[Re: Je ne comprend comment fonctionnent les liens dans MODx...]]> https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552570
Pour la ressource id=1234 -> <a href="[[~1234]]" title="some title">Some Page</a>
Tu dois activer l'option "friendly_urls" dans tes paramètres système.


Plus d'infos ici :
https://docs.modx.com/revolution/2.x/administering-your-site/using-friendly-urls


]]>
anatole44 Jul 18, 2017, 09:19 AM https://forums.modx.com/thread/102553/je-ne-comprend-comment-fonctionnent-les-liens-dans-modx#dis-post-552570