"CMS" basé sur Google Spreadsheets pour les sites statiques



De plus en plus, pour l'histoire d'un Ă©vĂ©nement / produit / service, les entreprises crĂ©ent des sites basĂ©s sur tous les designers. Soit seul, soit en attirant des designers et sans la participation d'un programmeur. Les concepteurs modernes vous permettent de crĂ©er un site Web cool, lumineux, efficace, mais statique. Toute modification doit ĂȘtre effectuĂ©e "stylos dans l'Ă©diteur" et republier la page. Mais que se passe-t-il si les donnĂ©es changent trĂšs souvent ou si vous souhaitez ajouter un peu d'automatisation - c'est lĂ  que le langage de requĂȘte Google Tables and Charts (et le programmeur est familier) peut vous aider.

Il y a quelques années, j'ai été approché par un ami qui avait besoin d'ajouter une liste de prix sur un site collecté sur Tilda. Et tout irait bien, il y a un bloc «tableau» - remplissez les données et publiez, mais il y avait deux conditions:

  • les prix dĂ©pendaient du dollar et changeaient presque tous les jours
  • besoin d'un prix commun et de ses parties sur les pages des groupes de produits

En conséquence, beaucoup de routine et une forte probabilité de divergences de données. Il fallait automatiser.

Et l'aide est venue de Google Speadsheets. Je pense que cela n'a aucun sens de décrire les avantages: l'éditeur habituel, la collaboration, les formules. Il vous suffit de changer le taux de change une fois par jour. Il ne restait plus qu'à savoir comment obtenir les données du tableau sur le site. Et puis l'API Google Charts s'est avérée utile.
Il permet d'utiliser la requĂȘte ajax pour recevoir des donnĂ©es sous forme de jsonp.

La demande doit ĂȘtre envoyĂ©e Ă  l'adresse " docs.google.com/a/google.com/spreadsheets/d/xxxxxx/gviz/tq?tq=yyyyyy "
oĂč:
xxxxxx - identifiant d'un lien public vers la table google
yyyyyy - RequĂȘte SQL pour rĂ©cupĂ©rer les donnĂ©es de la table convertie (n'oubliez pas de convertir tous les caractĂšres en entitĂ©s HTML comme: sĂ©lectionnez% 20A% 2C% 20sum (B)% 20group% 20by% 20A).

Autre remarque, SQL est assez familier sauf qu'il est tronquĂ© (voir la documentation ), mais le bloc FROM en est complĂštement coupĂ©. Vous devez donc Ă©crire quelque chose comme "sĂ©lectionnez A, B oĂč C = 'f' et B <30 par B"

Le script résultant appellera la méthode google.visualization.Query.setResponse (data).
L'objet de données contient les données utiles suivantes:

{ status: "ok", //    table: { cols: [ //      0: { id: "A", label: "  ", type: "string" }, 1: { id: "B", label: "  B", type: "number" }, ... ], rows: [ //    0: { c: [ //      0: { v: "" //      } 1: { v: 3.1415, //      ""  f: "3,1415" //     } ] } ] } } 

Eh bien, faites ce que vous voulez avec les données: au moins insérez-les dans le tableau, générez au moins des svg (utilisés pour générer des cartes sur le schéma d'un village de banlieue en notant les villages gratuits et vendus), remplacez au moins les espaces réservés dans le texte - le vol de fantaisie est illimité.

Naturellement, cette méthode ne convient pas aux systÚmes trÚs chargés, Google a une limite sur le nombre de demandes par jour, mais jusqu'à présent aucun site de l'automatisé que j'ai pu découvrir.

Et enfin un petit indice. La table dans laquelle les requĂȘtes sont effectuĂ©es doit ĂȘtre partagĂ©e par rĂ©fĂ©rence. Et si vous avez soudainement besoin de champs cachĂ©s aux yeux du public, il existe pour cela une fonction pratique dans Google Sheets. Il s'appelle IMPORTRANGE (clĂ©., Plage) . La clĂ© est un lien vers n'importe quel tableau auquel vous avez accĂšs et la plage est un groupe de cellules que vous souhaitez afficher. C'est-Ă -dire vous crĂ©ez une table fermĂ©e avec un ensemble complet de donnĂ©es et une table publique dans laquelle vous importez uniquement les plages de donnĂ©es nĂ©cessaires (vous allez toujours les afficher sur le site).

Source: https://habr.com/ru/post/fr432740/


All Articles