📝Gestion du Contenu
Introduction
Pour simplifier la gestion du contenu et éviter la dispersion entre Webflow, Wized et Xano, tout le contenu textuel du boilerplate est centralisé dans la base de données Xano, dans la table content_strings
. Cette approche permet une gestion unifiée et efficace du contenu à travers toute l'application.
Xano
Structure de la table Content_strings
La table Content_strings
dans Xano contient les colonnes suivantes :
internal_name : Identifiant unique du contenu
content : Le contenu textuel à afficher
global : Booléen indiquant si le contenu est global ou spécifique à une page
page_slug : Le slug de la page spécifique (si non global)
Règles importantes
Ne jamais modifier la colonne "internal_name" : Ces identifiants sont utilisés par Wized pour récupérer le bon contenu à afficher. Les modifier pourrait causer des dysfonctionnements dans l'application.
Chargement du contenu :
Si
global = true
, le contenu est chargé sur toutes les pages.Si
global = false
, le contenu est chargé uniquement sur la page correspondant aupage_slug
indiqué.
Processus de mise à jour du contenu
Connectez-vous à votre base de données Xano.
Accédez à la table
content_strings
.Localisez la ligne correspondant au contenu que vous souhaitez modifier en utilisant la colonne
internal_name
.Modifiez le contenu dans la colonne
content
.Si nécessaire, ajustez les valeurs de
global
etpage_slug
pour contrôler où le contenu sera affiché.
Bonnes pratiques
Cohérence : Assurez-vous que le nouveau contenu respecte la structure et le style de l'interface utilisateur existante.
Test : Après avoir modifié le contenu, testez l'application pour vous assurer que les changements s'affichent correctement.
Ajout de nouveau contenu
Si vous avez besoin d'ajouter du nouveau contenu :
Ajoutez une nouvelle entrée dans la table
content_strings
.Choisissez un
internal_name
unique et descriptif.Remplissez le
content
avec le texte souhaité.Définissez
global
etpage_slug
selon vos besoins.Mettez à jour votre code Wized pour utiliser ce nouveau
internal_name
. (voir section Wized ci-dessous)
Dépannage
Si le contenu ne s'affiche pas correctement :
Vérifiez que l'
internal_name
dans Wized correspond exactement à celui dans la tableContent_strings
.Assurez-vous que les paramètres
global
etpage_slug
sont correctement configurés.Vérifiez que le contenu est bien chargé au démarrage de la page dans Wized.
En suivant ces directives, vous pourrez gérer efficacement le contenu de votre application sans avoir à naviguer entre différentes plateformes.
Wized
Tout le contenu devrait être ajouté depuis Xano pour simplifier la maintenance.
Pour ajouter du contenu sur de nouveaux éléments, voici le guide :
Utilisation de la fonction getString
Pour faciliter la récupération du contenu approprié en fonction du contexte, nous utilisons une fonction getString
. Cette fonction permet de récupérer la chaîne de caractères souhaitée en fonction de son internal_name
et d'une variable conditionnelle.
Code de la fonction getString
function getString(data, auth) {
const authStringMap = {
login: "modal_passwordinput_login",
signup: "modal_passwordinput_signup",
password: "modal_emailinput_password",
reset_password: "modal_passwordinput_newpassword"
};
const internalName = authStringMap[auth];
if (!internalName) {
console.warn(`Unrecognized auth type: ${auth}`);
return "Continue";
}
const item = data.find(item => item.internal_name === internalName);
return item ? item.content : "Continue";
}
const string = getString(r.GET__content.strings.data, v.auth);
return string;
Fonctionnement
La fonction
getString
prend deux paramètres :data
: Les données de la tableContent_strings
auth
: Une variable conditionnelle (dans cet exemple,v.auth
)
Elle utilise un objet
authStringMap
pour mapper les valeurs deauth
auxinternal_name
correspondants.Si un
internal_name
correspondant est trouvé, la fonction recherche et retourne le contenu associé.Si aucune correspondance n'est trouvée, elle affiche un avertissement et retourne "Continue" par défaut.
Adaptation pour d'autres utilisations
Vous pouvez adapter cette fonction pour sélectionner du texte de Content_strings
en fonction de n'importe quelle variable, pas seulement v.auth
. Par exemple :
function getConditionalString(data, condition) {
const stringMap = {
condition1: "internal_name_for_condition1",
condition2: "internal_name_for_condition2",
};
const internalName = stringMap[condition];
if (!internalName) {
console.warn(`Unrecognized condition: ${condition}`);
return "Default text";
}
const item = data.find(item => item.internal_name === internalName);
return item ? item.content : "Default text";
}
const string = getConditionalString(r.GET__content.strings.data, v.someCondition);
return string
Version simplifiée pour du contenu non conditionnel
Si vous n'avez pas besoin de contenu conditionnel, vous pouvez utiliser une version simplifiée de la fonction :
function getSimpleString(data, internalName) {
const item = data.find(item => item.internal_name === internalName);
return item ? item.content : "Default text";
}
const string = getSimpleString(r.GET__content.data.strings, "waiting_start_text");
return string
Cette version simplifiée recherche directement le contenu correspondant à l'internal_name
fourni.
En utilisant ces fonctions, vous pouvez facilement récupérer et afficher le contenu approprié dans différentes parties de votre application, tout en maintenant une gestion centralisée du contenu dans la table Content_strings
.
Dernière mise à jour