Intégration dans une page utilisant de la réécriture d'URL (url rewriting)
Votre site utilise de la réécriture d'URL ?
Il suffit de modifier les paramètres de votre code d’insertion pour que tout fonctionne.
Voici les différentes possibilités que vous trouverez dans ce tuto:
Cas A – Version PHP (recommandé)
2ème solution : une url différente pour la recherche et la consultation
3ème solution : une url différente pour la recherche et la consultation avec des paramètres
2ème solution : une url différente pour la recherche et la consultation
3ème solution : une url différente pour la recherche et la consultation avec des paramètres
Choix du mode de transformation du titre dans l’URL pour la version PHP et JavaScript
Cas A – Version PHP (recommandé)
<?php $code_html = file_get_contents("https://www.modulesbox.com/LANGUE/api/module/XXX?mb_key=XXX&".$_SERVER["QUERY_STRING"]); echo $code_html; ?>
1ère solution : une seule url
1. Ajoutez simplement le paramètre «mb_url_rewrited» au code d’insertion, de cette manière :
<?php $code_html = file_get_contents("https://www.modulesbox.com/LANGUE/api/module/XXX?mb_url_rewrited=URL_DE_VOTRE_PAGE&mb_key=XXX&".$_SERVER["QUERY_STRING"]); echo $code_html; ?>
Exemple
<?php $code_html = file_get_contents("https://www.modulesbox.com/LANGUE/api/module/XXX?mb_url_rewrited=https:://www.mondomaine.com/randonnees&mb_key=XXX&".$_SERVER["QUERY_STRING"]); echo $code_html; ?>
2. Assurez-vous d’avoir correctement paramétré vos configurations de réécriture d’url. Ci-dessous un exemple avec un fichier «.htaccess» dans un cas où le widget à été intégré dans un fichier nommé randonnes.php :
Options +FollowSymlinks RewriteEngine on RewriteRule ^randonnees$ randonnees.php? [QSA,L]
Resultat de l'exemple
Pour la page de recherche :
https:://www.mondomaine.com/randonnees
Pour une fiche de consultation :
https:://www.mondomaine.com/randonnees?mb_page=poi&mb_id=393326&mb_titre=marie-thierry&mbScrollTo=module
2ème solution : une url différente pour la recherche et la consultation
1. Ajoutez simplement les paramètre «mb_url_rewrited_search» et «mb_url_rewrited_consultation» au code d’insertion, de cette manière :
<?php $code_html = file_get_contents("https://www.modulesbox.com/LANGUE/api/module/XXX?mb_url_rewrited_search=URL_DE_VOTRE_PAGE_DE_RECHERCHE&mb_url_rewrited_consultation=URL_DE_VOTRE_PAGE_DE_CONSULTATION&mb_key=XXX&".$_SERVER["QUERY_STRING"]); echo $code_html; ?>
Exemple
<?php $code_html = file_get_contents("https://www.modulesbox.com/LANGUE/api/module/XXX?mb_url_rewrited_search=https:://www.mondomaine.com/recherche&mb_url_rewrited_consultation=https:://www.mondomaine.com/randonnees&mb_key=XXX&".$_SERVER["QUERY_STRING"]); echo $code_html; ?>
2. Assurez-vous d’avoir correctement paramétré vos configurations de réécriture d’url. Ci-dessous un exemple avec un fichier «.htaccess» dans un cas où le widget à été intégré dans un fichier nommé randonnes.php :
Options +FollowSymlinks RewriteEngine on RewriteRule ^randonnees$ randonnees.php? [QSA,L] RewriteRule ^recherche$ randonnees.php? [QSA,L]
Resultat de l'exemple
Pour la page de recherche :
https:://www.mondomaine.com/recherche
Pour une fiche de consultation :
https:://www.mondomaine.com/randonnees?mb_page=poi&mb_id=393326&mb_titre=marie-thierry&mbScrollTo=module
3ème solution : une url différente pour la recherche et la consultation avec des paramètres
1. Ajoutez simplement les paramètre «mb_url_rewrited_search» et «mb_url_rewrited_consultation» au code d’insertion, de cette manière :
<?php $code_html = file_get_contents("https://www.modulesbox.com/LANGUE/api/module/XXX?mb_url_rewrited_search=URL_DE_VOTRE_PAGE_DE_RECHERCHE&mb_url_rewrited_consultation=URL_DE_VOTRE_PAGE_DE_CONSULTATION&mb_key=XXX&".$_SERVER["QUERY_STRING"]); echo $code_html; ?>
2. Ajoutez également les paramètre ID ET SLUG* ET TYPE entourés de % à votre url dans «mb_url_rewrited_consultation» de cette manière :
*Le slug est une phrase formatée de façon à ce qu’elle s’affiche correctement dans une URL, exemple : https://www.mondomaine.com/voici-un-slug-formaté
<?php $code_html = file_get_contents("https://www.modulesbox.com/LANGUE/api/module/XXX?mb_url_rewrited_search=URL_DE_VOTRE_PAGE_DE_RECHERCHE&mb_url_rewrited_consultation=URL_DE_VOTRE_PAGE_DE_CONSULTATION/%ID%/%SLUG%/%TYPE%/&mb_key=XXX&".$_SERVER["QUERY_STRING"]); echo $code_html; ?>
Exemple
<?php $code_html = file_get_contents("https://www.modulesbox.com/LANGUE/api/module/XXX?mb_url_rewrited_search=https:://www.mondomaine.com/randonnees&mb_url_rewrited_consultation=https:://www.mondomaine.com/randonnees/%ID%/%SLUG%/%TYPE%/&mb_key=XXX&".$_SERVER["QUERY_STRING"]); echo $code_html; ?>
3. Assurez-vous d’avoir correctement interpréter les paramètres «mb_titre», «mb_id» & «mb_page» dans vos configurations de réécriture d’url. Ci-dessous un exemple avec un fichier «.htaccess» dans un cas où le widget à été intégré dans un fichier nommé randonnes.php :
Options +FollowSymlinks RewriteEngine on RewriteRule ^randonnees/$ randonnees.php? [QSA,L] RewriteRule ^(.*)/([0-9]*)/([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*)/\??(.*)$ $1/?mb_id=$2&mb_titre=$3&mb_page=$4$5 [QSA,L]
Resultat de l'exemple
Pour la page de recherche :
https:://www.mondomaine.com/randonnees
Pour une fiche de consultation :
https:://www.mondomaine.com/randonnees/393326/chapelle-st-tugen/poi/?&mbScrollTo=module
Cas B – Version JavaScript
Comme pour une insertion classique, récupérez depuis l’interface le code d’insertion PHP du type :
<script type="text/javascript" src="https://www.modulesbox.com/js/module-loader.js" id="mb-module-loader"></script> <script type="text/javascript"> mbLoadModule({ id: XXX, locale: "LANGUE"}); </script> <div id="mb-module-XXX"></div>
1ère solution : une seule url
1. Ajoutez simplement le paramètre «mb_url_rewrited» au code d’insertion, de cette manière :
<script type="text/javascript" src="https://www.modulesbox.com/js/module-loader.js" id="mb-module-loader"></script> <script type="text/javascript"> mbLoadModule({ id: XXX, locale: "LANGUE", params:{ mb_url_rewrited : "URL_DE_VOTRE_PAGE" }}); </script> <div id="mb-module-XXX"></div>
Exemple
<script type="text/javascript" src="https://www.modulesbox.com/js/module-loader.js" id="mb-module-loader"></script> <script type="text/javascript"> mbLoadModule({ id: XXX, locale: "LANGUE", params:{ mb_url_rewrited : "https:://www.mondomaine.com/randonnees" }}); </script> <div id="mb-module-XXX"></div>
2. Assurez-vous d’avoir correctement paramétré vos configurations de réécriture d’url. Ci-dessous un exemple avec un fichier «.htaccess» dans un cas où le widget à été intégré dans un fichier nommé randonnes.php :
Options +FollowSymlinks RewriteEngine on RewriteRule ^randonnees/$ randonnees.php? [QSA,L]
Resultat de l'exemple
Pour la page de recherche :
https:://www.mondomaine.com/randonnees
Pour une fiche de consultation :
https:://www.mondomaine.com/randonnees?mb_page=poi&mb_id=393326&mb_titre=marie-thierry&mbScrollTo=module
2ème solution : une url différente pour la recherche et la consultation
1. Ajoutez simplement les paramètre «mb_url_rewrited_search» et «mb_url_rewrited_consultation» au code d’insertion, de cette manière :
<script type="text/javascript" src="https://www.modulesbox.com/js/module-loader.js" id="mb-module-loader"></script> <script type="text/javascript"> mbLoadModule({ id: XXX, locale: "LANGUE", params:{ mb_url_rewrited_search : "URL_DE_VOTRE_PAGE_DE_RECHERCHE", mb_url_rewrited_consultation : "URL_DE_VOTRE_PAGE_DE_CONSULTATION" }}); </script> <div id="mb-module-XXX"></div>
Exemple
<script type="text/javascript" src="https://www.modulesbox.com/js/module-loader.js" id="mb-module-loader"></script> <script type="text/javascript"> mbLoadModule({ id: XXX, locale: "LANGUE", params:{ mb_url_rewrited_search : "https:://www.mondomaine.com/recherche", mb_url_rewrited_consultation : "https:://www.mondomaine.com/randonnees" }}); </script> <div id="mb-module-XXX"></div>
2. Assurez-vous d’avoir correctement paramétré vos configurations de réécriture d’url. Ci-dessous un exemple avec un fichier «.htaccess» dans un cas où le widget à été intégré dans un fichier nommé randonnes.php :
Options +FollowSymlinks RewriteEngine on RewriteRule ^randonnees$ randonnees.php? [QSA,L] RewriteRule ^recherche$ randonnees.php? [QSA,L]
Resultat de l'exemple
Pour la page de recherche :
https:://www.mondomaine.com/recherche
Pour une fiche de consultation :
https:://www.mondomaine.com/randonnees?mb_page=poi&mb_id=393326&mb_titre=marie-thierry&mbScrollTo=module
3ème solution : une url différente pour la recherche et la consultation avec des paramètres
1. Ajoutez simplement les paramètre «mb_url_rewrited_search» et «mb_url_rewrited_consultation» au code d’insertion, de cette manière :
<script type="text/javascript" src="https://www.modulesbox.com/js/module-loader.js" id="mb-module-loader"></script> <script type="text/javascript"> mbLoadModule({ id: XXX, locale: "LANGUE", params:{ mb_url_rewrited_search : "URL_DE_VOTRE_PAGE_DE_RECHERCHE", mb_url_rewrited_consultation : "URL_DE_VOTRE_PAGE_DE_CONSULTATION" }}); </script> <div id="mb-module-XXX"></div>
2. Ajoutez également les paramètre ID ET SLUG* ET TYPE entourés de % à votre url dans «mb_url_rewrited_consultation» de cette manière :
*Le slug est une phrase formatée de façon à ce qu’elle s’affiche correctement dans une URL, exemple : https://www.mondomaine.com/voici-un-slug-formaté
<script type="text/javascript" src="https://www.modulesbox.com/js/module-loader.js" id="mb-module-loader"></script> <script type="text/javascript"> mbLoadModule({ id: XXX, locale: "LANGUE", params:{ mb_url_rewrited_search : "URL_DE_VOTRE_PAGE_DE_RECHERCHE", mb_url_rewrited_consultation : "URL_DE_VOTRE_PAGE_DE_CONSULTATION/%ID%/%SLUG%/%TYPE%/" }}); </script> <div id="mb-module-XXX"></div>
Exemple
<script type="text/javascript" src="https://www.modulesbox.com/js/module-loader.js" id="mb-module-loader"></script> <script type="text/javascript"> mbLoadModule({ id: XXX, locale: "LANGUE", params:{ mb_url_rewrited_search : "https:://www.mondomaine.com/randonnees", mb_url_rewrited_consultation : "https:://www.mondomaine.com/randonnees/%ID%/%SLUG%/%TYPE%/" }}); </script> <div id="mb-module-XXX"></div>
3. Assurez-vous d’avoir correctement interpréter les paramètres «mb_titre», «mb_id» & «mb_page» dans vos configurations de réécriture d’url. Ci-dessous un exemple avec un fichier «.htaccess» :
Options +FollowSymlinks RewriteEngine on RewriteRule ^randonnees/$ randonnees.php? [QSA,L] RewriteRule ^(.*)/([0-9]*)/([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*)/\??(.*)$ $1/?mb_id=$2&mb_titre=$3&mb_page=$4$5 [QSA,L]
Resultat de l'exemple
Pour la page de recherche :
https:://www.mondomaine.com/randonnees
Pour une fiche de consultation :
https:://www.mondomaine.com/randonnees/393326/chapelle-st-tugen/poi/?&mbScrollTo=module
Option(s) supplémentaire(s)
Choix du mode de transformation du titre dans l’URL pour la version PHP et JavaScript
Le nouveau paramètre « mb_url_rewrited_consultation_slug_mode » permet de modifier la manière dont le code génère le slug dans l’url (cf: 3ème solution de chaque cas). Les deux seules valeurs qui sont actuellement utilisables sont « DEFAULT » pour utiliser la génération de slug de WordPress par défaut de Cirkwi et « WP_SANITIZE_TITLE_WITH_DASHES » qui permet d’utiliser la génération de slug de WordPress (cf: <https://developer.wordpress.org/reference/functions/sanitize_title_with_dashes/>).
Si le paramètre n’est pas présent dans l’url ou si la valeur de ce paramètre n’est pas correcte alors le slug se générera en utilisant l’algorithme de Cirkwi.
Exemple d’intégration PHP :
<?php
$code_html = file_get_contents("https://www.modulesbox.com/LANGUE/api/module/XXX?mb_url_rewrited_search=https:://www.mondomaine.com/randonnees&mb_url_rewrited_consultation=https:://www.mondomaine.com/randonnees/%ID%/%SLUG%/%TYPE%/&mb_key=XXX&mb_url_rewrited_consultation_slug_mode=WP_SANITIZE_TITLE_WITH_DASHES&".$_SERVER["QUERY_STRING"]);
echo $code_html;
?>
Exemple d’intégration JavaScript :
<script type="text/javascript" src="https://modulesbox.com/js/module-loader.js" id="mb-module-loader"></script>
<script type="text/javascript">
mbLoadModule({
id: "XXXX",
locale: "fr",
params: {
mb_url_rewrited_consultation_slug_mode: 'WP_SANITIZE_TITLE_WITH_DASHES',
mb_url_rewrited_consultation: 'https:://www.mondomaine.com/randonnees/%ID%/%SLUG%/%TYPE%/',
mb_url_rewrited_search: 'https:://www.mondomaine.com/randonnees'
}
});
</script>
<div id="mb-module-XXXX"></div>