У меня есть базовый сайт электронной коммерции, на котором есть страница продуктов, на которой отображается полный обзор продуктов, включая миниатюры, краткое описание и т. Д. На той же странице и на других страницах сайта есть боковая панель. который перечисляет продукты только по названию.
Поскольку боковая панель повторно используется для сайта, я хочу установить ее как встроенный шаблон.
При такой настройке я должен дважды извлечь все продукты из базы данных; один раз на главной странице продуктов, и снова в боковой панели? Или есть какой-нибудь способ ускорить процесс на странице «Продукты», получив один раз записи в родительском шаблоне и передав их на встроенную страницу?
Например:
шаблон родительского продукта:
<html>
{exp:channel:entries channel='products'}
// display full product info
{/exp:channel:entries}
{embed='includes/_products_sidbar' data={entries}} // ^ Can I pass all the data from the above loop to this embedded template?
</html>
код вставки:
{if data}
// if we already have the data available then use it without having to get it all again from the database
{else:if}
// if not then use another entries loop:
{exp:channel:entries channel='products'}
// display a list of products
{/exp:channel:entries}
{/if}