Как использовать include в шаблонном движке smarty3 - PullRequest
0 голосов
/ 18 февраля 2019

Это мой первый шаблон для Prestashop 1.7.Я использую тему Starter.Но теперь у меня проблема, потому что я хочу создать новый блок.

address.tpl

{extends file='page.tpl'}


{block name='page_content_container'}
<div class="container">
  <div class="account">
  <h2 class="heading">
        {block name='page_title'}
          {l s='Your addresses' d='Shop.Theme.Customeraccount'}
        {/block}
      </h2>

    <div class="box">
      <section id="content" class="page-content page-addresses">

        {foreach $customer.addresses as $address}
          {block name='customer_address'}
            {include file='customer/_partials/block-address.tpl' address=$address}
          {/block}
        {/foreach}

        <footer>
          <a href="{$urls.pages.address}" data-link-action="add-address">
            {l s='Create new address' d='Shop.Theme.Actions'}
          </a>
        </footer>

      </section>
    </div>
  </div>
</div>
{/block}

и page.tpl

{extends file='page.tpl'}


{block name='my_account_links'}
  {include file='customer/_partials/my-account-links.tpl'}
{/block}

Этот файл расширяет еще одну страницу.TPL, но нет блока my_account_links.вопрос в том.Почему я не вижу блок my_account_links в address.tpl.Когда я показываю страницу.

С уважением

1 Ответ

0 голосов
/ 18 февраля 2019

Вы не видите свой блок my_account_links в address.tpl, потому что у вас нет {block name='my_account_links'} в address.tpl.

Если вы хотите отобразить ваш page.tpl в вашем address.tplВы должны «вызвать» блок в родительском файле и расширить его в дочернем файле (page.tpl).Вот так:

Addresses.tpl

{block name='my_account_links'} <!-- YOUR my_account_links OF YOUR PAGE.TPL WILL BE HERE {/block}
{block name='page_content_container'}
<div class="container">
  <div class="account">
  <h2 class="heading">
        {block name='page_title'}
          {l s='Your addresses' d='Shop.Theme.Customeraccount'}
        {/block}
      </h2>

    <div class="box">
      <section id="content" class="page-content page-addresses">

        {foreach $customer.addresses as $address}
          {block name='customer_address'}
            {include file='customer/_partials/block-address.tpl' address=$address}
          {/block}
        {/foreach}

        <footer>
          <a href="{$urls.pages.address}" data-link-action="add-address">
            {l s='Create new address' d='Shop.Theme.Actions'}
          </a>
        </footer>

      </section>
    </div>
  </div>
</div>
{/block}

И в вашем page.tpl:

{extends file='addresses.tpl'}


{block name='my_account_links'}
  {include file='customer/_partials/my-account-links.tpl'}
{/block}

Теперь, с этим, ваш page.tpl (блок 'my_account_links ') будет отображаться в ваших адресах. tpl

...