首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在smarty3模板引擎中使用include

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

Stack Overflow用户
提问于 2019-02-18 06:31:01
回答 1查看 53关注 0票数 0

这是我为Prestashop 1.7开发的第一个模板。我使用起始主题。但现在我遇到了问题,因为我想创建新的区块。

addresses.tpl

代码语言:javascript
复制
{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

代码语言:javascript
复制
{extends file='page.tpl'}


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

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

亲切的问候

EN

回答 1

Stack Overflow用户

发布于 2019-02-18 15:44:24

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

如果你想在你的addresses.tpl中显示你的page.tpl,你必须在你的父文件中“调用”这个块,并在你的子文件( page.tpl )中扩展它。如下所示:

Addresses.tpl

代码语言:javascript
复制
{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中:

代码语言:javascript
复制
{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中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54738276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档