Следующий Javascript может быть использован для вставки текста для каждой плитки на странице. Код будет вставлен с использованием footer code injection area (если вы не используете режим разработчика, в этом случае вы должны вставить его вместе с остальными вашими сценариями).
<script>
(function() {
var tiles = document.getElementsByClassName('index-section');
var thisTile;
var titleText;
var description;
var parent;
var i, I;
for (i=0, I=tiles.length; i<I; i++) {
thisTile = tiles[i];
titleText = thisTile.getElementsByClassName('index-item-title-text')[0];
parent = thisTile.getElementsByClassName('index-item-text-wrapper')[0];
description = document.createElement('span');
description.className = 'index-item-description-text';
switch(titleText.innerHTML.toLowerCase()) {
case "google shopping":
description.innerHTML = "Some custom text.";
break;
case "hana":
description.innerHTML = "More text that's custom.";
break;
case "wali":
description.innerHTML = "Custom text here.";
break;
case "cypress":
description.innerHTML = "Type anything you want.";
break;
case "ryde":
description.innerHTML = "Just another bit of text.";
break;
default:
description.innerHTML = "";
}
parent.appendChild(description);
}
})();
</script>
Обратите внимание на шаблон в коде, чтобы добавить новые плитки или изменить существующие. Вы увидите, что скрипт пытается сопоставить (в нижнем регистре) текст «title», а затем вставляет текст на основе каждого заголовка. Это позволяет вам добавить больше в будущем, повторяя этот шаблон «case». Конечно, если вы когда-либо измените название плитки, вам придется соответствующим образом изменить этот код Javascript.
Затем вы можете вписать описание, вставив CSS через Squarespace CSS Editor (или через файл base.less, если используете режим разработчика). Например:
.index-item-description-text {
display: block;
font-size: 1.2em;
color: #FFFFFF
}
Обратите внимание, что в то время как существует альтернативный метод, который будет использовать соответствующий URL-адрес каждой плитки, чтобы сделать запрос AJAX и получить мета-данные о каждом проекте (и, следовательно, позволяет использовать контент-менеджер Squarespace для вставки это «описание»), этот метод кажется излишне сложным для вашего случая.
Обновление 8/17/2016: Что касается AJAX и как отключить AJAX загрузчик в Squarespace: Джейсон Бароне предложил добавить этот фрагмент кода в код инъекций> Footer, чтобы отключить «AJAX» pageloader. Он отметил, что он отключит плавные переходы AJAX между страницами, но позволит обычным Javascript, как обычно.
<script>
//Credit: Jason Barone, http://jasonbarone.com/
window.Template.Constants.AJAXLOADER = false;
</script>
Кроме того, некоторые шаблоны имеют возможность отключить AJAX в редакторе стилей (Изображение кредита: SSSUPERS):
Обновление 9/28/2016: Это было сообщил, что приведенный выше код больше не отключает AJAX. Однако некоторые новые шаблоны добавили параметр «Включить загрузку AJAX», который можно отключить.
Благодарим вас за то, что нашли время, чтобы помочь! Очень ценю, позвольте мне попробовать и посмотреть, работает ли ваше решение. –
Он работает! Благодаря! –
Эй, Брэндон, есть проблема. Кажется, что squarespace устанавливает нагрузку Ajax на все. Если я пойду в проект, а затем я вернусь на первую страницу, сценарий больше не работает. Я думаю, скрипт не запускается снова, когда страница загружается с помощью Ajax. http://shensamuel.com/ Как вы думаете, в скрипте есть работа? Или я могу полностью отключить Ajax? –