如何在smarty3模板引擎中使用include

问题描述 投票:0回答:1

这是我的Prestashop 1.7的第一个模板。我使用Starter主题。但现在我有问题,因为我想创建新的块。

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

此文件扩展了另一个page.tpl,但没有my_account_links块。问题是。为什么我在addresses.tpl中看不到my_account_links块。当我显示页面时。

亲切的问候

smarty prestashop-1.7 smarty3
1个回答
0
投票

你没有在addresses.tpl中看到你的my_account_links块,因为你在addresses.tpl中没有任何{block name='my_account_links'}

如果要在addresses.tpl中显示page.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')将显示在你的addresses.tpl中

© www.soinside.com 2019 - 2024. All rights reserved.