"CMS" استنادًا إلى جداول بيانات Google للمواقع الثابتة



على نحو متزايد ، بالنسبة لقصة الحدث / المنتج / الخدمة ، تقوم الشركات بإنشاء مواقع بناءً على أي مصممين. إما من تلقاء نفسها ، أو جذب المصممين ودون مشاركة مبرمج. يتيح لك المصممون الحديثون إنشاء موقع ويب بارد ومشرق وفعال ، ولكن ثابت. يجب إجراء أي تغييرات "الأقلام في المحرر" وإعادة نشر الصفحة. ولكن ماذا لو تغيرت البيانات في كثير من الأحيان أو إذا كنت ترغب في إضافة القليل من الأتمتة - هذا هو المكان الذي يمكن أن يساعدك فيه Google Maps and Query Query Language (والمبرمج).

قبل بضع سنوات ، اتصلت بي صديق كان بحاجة إلى إضافة قائمة أسعار على موقع تم جمعه على Tilda. وسيكون كل شيء على ما يرام ، هناك كتلة "الجدول" - ملء البيانات ونشرها ، ولكن كان هناك شرطين:

  • تعتمد الأسعار على الدولار وتغيرت كل يوم تقريبًا
  • بحاجة إلى سعر شائع وأجزائه على صفحات مجموعات المنتجات

وفقا لذلك ، والكثير من الروتين واحتمال كبير من التناقضات في البيانات. كان من الضروري لأتمتة.

وجاءت المساعدة من Google Speadsheets. أعتقد أنه لا معنى لوصف الايجابيات: المحرر المعتاد ، التعاون ، الصيغ. كل ما تحتاجه هو تغيير سعر الصرف مرة واحدة في اليوم. كل ما تبقى هو مسألة كيفية الحصول على البيانات من الجدول على الموقع. ثم أصبحت واجهة برمجة تطبيقات Google Charts في متناول يدي.
انها تسمح باستخدام اياكس طلب لتلقي البيانات في شكل jsonp.

يجب إرسال الطلب إلى العنوان " docs.google.com/a/google.com/spreadsheets/d/xxxxxx/gviz/tq؟tq=yyyyyy "
حيث:
xxxxxx - معرف من رابط عام لجدول google
yyyyyy - استعلام SQL لاسترداد البيانات من الجدول المحول (لا تنس تحويل جميع الأحرف إلى كيانات HTML مثل: حدد٪ 20A٪ 2C٪ 20sum (B)٪ 20group٪ 20by٪ 20A).

ملاحظة أخرى ، SQL مألوفة تمامًا باستثناء أن يتم اقتطاعها (راجع الوثائق ) ، ولكن يتم قطع كتلة FROM تمامًا. لذلك تحتاج إلى كتابة شيء مثل "حدد A و B حيث C = 'f' و B <30 مرتبة حسب B"

سيتصل البرنامج النصي الناتج بالطريقة google.visualization.Query.setResponse (data).
يحتوي كائن البيانات على البيانات المفيدة التالية:

{ 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" //     } ] } ] } } 

حسنًا ، افعل ما تريد بالبيانات: على الأقل أدخله في الجدول ، على الأقل إنشاء svg (يستخدم لإنشاء خرائط على مخطط قرية في الضواحي مع الإشارة إلى تلك المجانية والمباعة) ، واستبدال العناصر النائبة على الأقل في النص - إن هروب الخيال لا حدود له.

بطبيعة الحال ، هذه الطريقة غير مناسبة للأنظمة المحملة بدرجة عالية ، فغوغل لديها حد لعدد الطلبات في اليوم ، لكن حتى الآن لم يتم العثور على أي موقع من الموقع الآلي تمكنت من اكتشافه.

وتلميحا قليلا في الماضي. يجب مشاركة الجدول الذي تم تقديم الاستعلامات إليه بالرجوع إليه. وإذا كنت بحاجة فجأة إلى حقول مخفية عن العين العامة ، فهناك وظيفة ملائمة في جداول بيانات Google. ويسمى IMPORTRANGE (مفتاح ، المدى) . المفتاح هو رابط لأي جدول يمكنك الوصول إليه ، والنطاق هو مجموعة من الخلايا التي تريد عرضها. أي تقوم بإنشاء جدول مغلق مع مجموعة كاملة من البيانات وجدول عام تستورد إليه فقط النطاقات اللازمة من البيانات (لا تزال تقوم بعرضها على الموقع).

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


All Articles