Отправка входных данных во встроенный шаблон - PullRequest
0 голосов
/ 06 июля 2018

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

Поскольку боковая панель повторно используется для сайта, я хочу установить ее как встроенный шаблон.

При такой настройке я должен дважды извлечь все продукты из базы данных; один раз на главной странице продуктов, и снова в боковой панели? Или есть какой-нибудь способ ускорить процесс на странице «Продукты», получив один раз записи в родительском шаблоне и передав их на встроенную страницу?

Например:

шаблон родительского продукта:

<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}

1 Ответ

0 голосов
/ 10 июля 2018

Я думаю, вам лучше использовать другой подход. Посмотрите на макеты: https://docs.expressionengine.com/latest/templates/layouts.html или, если это невозможно, вы можете использовать stash https://github.com/croxton/Stash. о да, вы получите лучшую помощь по https://expressionengine.stackexchange.com/

...