Оглавление:

На прошлой неделе я рассказывал, как импортировать данные из Google Таблиц и интегрировать их на свой веб-сайт с помощью утилиты Javascript под названием Tabletop. На этой неделе я расскажу, как автоматически сгруппировать данные в цикле.

Например, допустим, у вас есть группа данных под названием киты. В этой группе вы перечисляете различные виды китов. Что-то вроде этого:

Киты
Горбатый
Нарвал
Белуга

Вы можете настроить таргетинг на отдельный блок данных и получить вид китов из второй, третьей или четвертой строки, либо вы можете автоматически создать весь список китов.

Ниже приведены некоторые данные, которые я установил. Обратите внимание, что в первой строке у меня есть заголовок, дата, дата отображения, тело и img. На своем веб-сайте я хочу разместить заголовок, дату и информацию об изображении.

Так выглядит сайт. Имейте в виду, что я использовал некоторые свои знания в области веб-разработки, чтобы стилизовать внешний вид этих данных в несколько более наглядную сетку. При этом каждый столбец сетки отображает все данные из столбцов title, date, body и img на листе Google. Вы увидите только три изображения, потому что я указал только три в данных.

Это лишь элементарный пример того, что можно сделать; однако это представление о том, что возможно.

Давайте подробно рассмотрим, как написать код для генерации данных.

Важным аспектом, позволяющим заставить ваш веб-сайт генерировать различные данные из всех строк title, date и img, является цикл for. Это выглядит так:

for (var i = 0; i ‹array.length; i ++) {

массив [я]

}

Я не буду вдаваться в подробности о цикле for, так как в Интернете есть невероятное количество знаний о создании циклов for; однако я в основном устанавливаю переменную, для которой установлено значение 0, а затем устанавливаю значение переменной меньше, чем длина массива, который в данном случае является длиной каждого столбца данных. Затем блок информации будет увеличиваться до тех пор, пока длина массива не будет полной.

Вот как выглядит код:

HTML-код для справки

‹Div class =” post ”›

‹/Div›

Javascript

for (var i = 0; i ‹data.length; i ++) {

$ (‘. Post’). Append (

‘‹ Div class = »article» style = »background-image: url (‘ +

data [i] .img + ‘.jpg)» ›’ +

‘‹ Div class = ”text” ›’ +

‘‹H1›’ + data [i] .title + ‘‹/h1›’ +

data [i] .body +

‘‹/Div›‘ + ‘‹ div class = »meta-info» ›’ + ‘‹ img src = ”’ + data [i] .img + ‘.jpg” ›’ +

‘‹ Div class = ”date” ›’ + data [i] .date + ‘‹/div›’ +

‘‹/Div›’ +

‘‹/Div›’);

}

Разбивка Javascript:

Я настраиваю таргетинг на класс сообщений в своем HTML и добавляю информацию из электронной таблицы.

В основном я делаю две вещи.

  1. У меня есть javascript, добавляющий div и называющий div, чтобы я мог стилизовать их с помощью css.
  2. Получение заголовка, даты и данных img из таблицы Google.

Чтобы настроить таргетинг на заголовок, дату и данные img, вы следуете этому шаблону:

данные [i]. имя-заголовка-столбца

Таким образом, каждый столбец данных будет иметь фоновое изображение, которое является изображением, установленным из столбца img.

‘‹ Div class = »article» style = »background-image: url (‘ + data [i] .img + ‘.jpg)» ›’

Каждый заголовок будет помещен в тег h1 для стилизации, за которым следует тело. Оба они находятся в div, называемом text для стилизации.

'‹Div class =” text ”›' + '‹h1›' + data [i] .title + '‹/h1›' + data [i] .body + '‹/Div›'

Наконец, я создал div для отображения метаинформации, такой как дата и аватар.

'‹Div class =” meta-info ”›' + '‹img src =”' + data [i] .img + '.jpg ”›' + '‹div class =" date " ›'+ data [i] .date +' ‹/div› '+' ‹/div› '

Вот и все. Так выглядит окончательный код javascript.

function init () {

Tabletop.init ({key: ‘198HS_8FJbZhASXbJ7hfJV-iux563hd6gg7joNYJ6X9k’,

обратный вызов: showInfo,

simpleSheet: true})

}

function showInfo (data, tabletop) {

console.log (данные);

for (var i = 0; i ‹data.length; i ++) {

$ (‘. Post’). Append (

‘‹ Div class = »article» style = »background-image: url (‘ +

data [i] .img + ‘.jpg)» ›’ +

‘‹ Div class = ”text” ›’ +

‘‹H1›’ + data [i] .title + ‘‹/h1›’ +

data [i] .body +

‘‹/Div›‘ + ‘‹ div class = »meta-info» ›’ + ‘‹ img src = ”’ + data [i] .img + ‘.jpg” ›’ +

‘‹ Div class = ”date” ›’ + data [i] .date + ‘‹/div›’ +

‘‹/Div›’ +

‘‹/Div›’);

}

}

window.addEventListener («DOMContentLoaded», инициализация)

Чтобы понять, как работает настольный javascript, прочтите статью здесь на прошлой неделе.

Эта статья является частью серии статей, которые я пишу, чтобы помочь вам сэкономить на разработке домена и хостинга и сэкономить время, не изучая более сложные платформы CMS, такие как Wordpress. Однако частью каждой платформы CMS является возможность поиска, и на следующей неделе я углублюсь в это!

Больше информации можно найти в моем блоге jaejohns.com/blog