Top.Mail.Ru

Как формируются страницы

1. Когда страница магазина получает post или get-запрос, то в первую очередь смотрится url этого запроса. По структуре url'а платформа понимает какой объект запрашивается и какой шаблон использовать.

Поэтому на url'ы страниц магазина очень многое завязано, и именно поэтому там присутствуют такие вставки как /collection/, /product/ и т.д.

2. Получив запрос, сервер формирует страницу в соответствии с имеющимся шаблоном этой страницы

Тип страницы (шаблон) Имя файла в экспорте темы URL
Для всех типов
(layout)
layout.liquid любой
Главная index.liquid /
Категория collection.liquid /collection/_name_
Товар offer.liquid /collection/_collection_/product/_product_ или /product/_product_
Корзина cart.iquid /cart_items
Страница page.liquid /page/_name_
Поиск search.liquid /search
Блог blog.liquid /blog/_name_
Статья article.liquid /blog/_name_/_name_

Далее система инициализирует переменные, использованные на этой странице.

Затем шаблон преобразуется в HTML-код страницы.

Полученный код подставляется в layout, общий для всех страниц магазина, в место, обозначенное переменной content_for_layout.

Здесь производится подстановка конкретных значений использованных переменных.

Далее, в конец получившейся страницы добавляются обращения к счётчикам и сформированная страница отправляется в ответ на запрос.

3. Браузер посетителя получает страницу и формирует ее, после этого уже обрабатывает имеющийся там javascript и другой контент, обрабатываемый клиентом (flash, java и т.д.)

4. Отданная страница кешируется сервером, т.е. сохраняется в базе

5. При повторном запросе к той же странице ее формирование не проходит заново, страница отдается из кеша.

6. Кеш страницы сбрасывается при определенных изменениях в объекте, которому эта страница соответствует. Кеш страницы товара - при изменениях в товаре (названии, описании и т.д.), кеш страницы категории - при изменении товаров этой категории, порядка их сортировки, описании категории и т.д.

7. Необходимо понимать что использование какой-либо конструкции liquid'а еще не является гарантией того что эта конструкция будет обрабатываться при каждой загрузке страницы. Кеш, как говорилось ранее, сбрасывается при определенных событиях.

Например, можно вывести в шаблоне текущую дату, но если объект, который соответствует этой странице, не меняется каждый день, то и дата, выводимая таким образом, меняться не будет. Поэтому для таких целей лучше использовать javascript.

По этой же причине нельзя вывести на страницу IP-адрес посетителя, вывести случайные товары из категории или еще какой-либо случайный контент. Но можно использовать javascript, скрывая со страницы случайные элементы.

Оставить оценку

Оценка успешно отправлена.
Она будет проверена администратором перед публикацией.
CAPTCHAОбновить изображение
Перед публикацией все оценки проходят модерацию

Оценки: 0

Остались вопросы?
Отправь тикет в техподдержку!
Еще нет своего магазина?
Создайте интернет-магазин на платформе InSales
Всё для продаж уже внутри!
Недавно просмотренные статьи