Как вставить блок на вутренюю Страницу, а не на главную

Создал простой блок. Он прекрасно работает на главной странице. Нужно его же поместить на страницу Акции. Страница создана тут же в поселении Магазин. Вставляю код, выдает Ошибку №0. Включил режим отладки, выдает что не может найти list-thumbs-zeus.html

То есть там нужно как-то по другому путь прописать к шаблону вывода блока? 

<div class="row ep-home-prd-list">
        <div class="e-space">
            <h2><span class="line"><span>Акция</span></span></h2>
            {$products = $wa->shop->productSet("sale")}
            {if !empty($products)}
            {include file="list-thumbs-zeus.html" products=$products}
            {else}
            {sprintf('[`In your store backend, drag some products into <strong>%s</strong> product list (which is in the left sidebar of the Products screen), and these products will be automatically published here — right on your storefront homepage.`]','promo')}
            {/if}
        </div>
    </div>

2 ответа

  • 1

    Если подключается одинаковый код в разных местах то его желательно либо выносить в отдельный файл и уже этот файл подключать в нужное место, либо создавать новый блок в приложении Сайт -> Блоки и вставлять этот блок в нужное место так:

    $wa->block('block_id');

    Тогда не придётся править код в разных местах, если необходимо будет что-либо в нём поменять.

    Что касается подключения файлов, то лучше использовать абсолютный путь до файла. Если подключаемый файл находится в корне текущей темы дизайна, то этот код: 

     {include file="list-thumbs-zeus.html" products=$products}

    нужно заменить на:

     {include file="`$wa_active_theme_path`/list-thumbs-zeus.html" products=$products}

    • +1
      DOKINlab DOKINlab 8 ноября 2018 15:06 #

      Спасибо, но не сработало. Может ещё что-то не так. Упаковал в блок. Указал абсолютный путь до файла. Все равно ошибка. 

      https://sunday-shop.ru/aktsii/

  • 0
    replicant 8 ноября 2018 16:38 #

    Ну нельзя же так. Вы же шаблон в страницу пихаете через этот ваш инклюд. Кто же так делает-то? Надо пихать в страницу строго внутренность шаблона list-thumbs-zeus.html с подключением css+js, если надо. Иначе никак. На главной работает, потому что шаблон в шаблон вкладывается.

    Вот вам скриншот в помощь. У меня такой блок с товарами работает на страницах, созданных в приложении Магазин нормальненько так, ну и на главной само собой.




    З.Ы. Может есть какие-то лайфхаки, чтобы ваш трюк провернуть (затолкать шаблон темы через инклюд файла в страницу приложения), но мне они неизвестны. А вот способ на скриншоте работает четко.
    • +1
      DOKINlab DOKINlab 14 ноября 2018 09:08 #

      Блин, до этого уровня я уже не шарю. Буду искать другие способы.

      • +1
        replicant replicant 14 ноября 2018 11:00 #

        Объясню чуть проще. В вашем блоке, который вы потом через $wa->block вставляете в страницу вместо строки

        {include file="list-thumbs-zeus.html" products=$products}

        Должно быть содержимое файла шаблона list-thumbs-zeus.html.

        Вот и вся премудрость.

        • 0
          DOKINlab DOKINlab 14 ноября 2018 11:29 #

          Так, уже лучше! Уже отобразились на странице товары. Криво - но отобразились. Буду ковырять дальше. 

          Благодарю! 

Добавить ответ

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