【问题标题】:Prestashop - Main Categories on Every TemplatePrestashop - 每个模板的主要类别
【发布时间】:2015-06-09 18:44:31
【问题描述】:

我将 Prestashop 用于电子商务网站。在“product.tpl”中,我放置了以下代码,我(最终)在网站上找到了它,它完美地满足了我的需求。

{assign var='category' value=Product::getProductCategoriesFull($product->id, $cookie->id_lang)}

{foreach from=$categories key='categoryId' item='category' name='category'}
    <a href="#">{$category['name']}</a>
 {/foreach}

这为我在产品页面上放置了 11 个主要类别。效果很好。 现在我需要将这些相同的类别放在实际列出类别和子类别的页面上,我正在使用“category.tpl”。该代码不适用于该模板,根本没有加载任何内容。

主要类别部分实际上应该从网站的每个页面中看到,实际上是标题的一部分。但我发现 Prestashop 在包含问题时存在问题,这将是 PHP 的常态。

我试图不使用我一直在寻找的所有“覆盖”。我不明白的代码太多了。可以稍微修改我的代码以在类别模板文件(以及网站上的任何其他模板文件)中工作吗?

【问题讨论】:

  • 对了,我知道 {'$category->name}' 显示的是当前类别的名称。我确实使用它,但我也需要显示其他类别的名称,用于网站的主菜单类型部分。

标签: php smarty prestashop prestashop-1.6 smarty3


【解决方案1】:

您的代码 sn-p 错误,或者您输入错误:

{assign var='category'

创建一个变量$category。但是,它立即被覆盖 from=$categories item='category' -> 看起来创建了它自己的$category

我想你的意思是{assign var='categories'。无论如何,代码可能仍然有效,因为$categories 变量已经在产品页面中可用(每个产品都有一些类别)。

此外,您的第一个语句获取指定产品$product-&gt;id 的类别。同样,$product 仅在产品页面中可用(逻辑上)。

如果您想独立于页面抓取所有类别,请尝试使用:

{assign var='all_categories' value=Category::getCategories(Context::getContext()->language->id)}
<pre>{$all_categories|@print_r}</pre>

【讨论】:

  • 你的代码给了我很多技术信息,但我很挣扎。这是其中的一些,我需要做一个简单的循环来将类别放在页面上。 [2] =&gt; Array ( [12] =&gt; Array ( [infos] =&gt; Array ( [id_category] =&gt; 12 [id_parent] =&gt; 2 [id_shop_default] =&gt; 1 [level_depth] =&gt; 2 [nleft] =&gt; 3 [nright] =&gt; 10 [active] =&gt; 1 [date_add] =&gt; 2015-03-16 22:34:15 [date_upd] =&gt; 2015-03-16 22:34:15 [position] =&gt; 1 [is_root_category] =&gt; 0 [id_shop] =&gt; 1 [id_lang] =&gt; 1 [name] =&gt; Acer [description] =&gt; The Acer plants [link_rewrite] =&gt; acer [meta_title] =&gt; [meta_keywords] =&gt; [meta_description] =&gt; )
  • 我很抱歉格式化。我试着把它作为一个列表来做,但结果就是这样。返回键似乎也没有在此文本框中添加新行。我对这个网站很陌生。我很抱歉。
  • 仍在尝试将一些代码放在一起。帮忙解决这个? {foreach from=Category::getCategories(Context::getContext()-&gt;language-&gt;id) item=cat} &lt;li&gt;{$cat[1].name}&lt;/li&gt; {/foreach}1 在哪里,理想情况下是某种索引,通过主菜单工作。
猜你喜欢
  • 2016-05-15
  • 2012-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-23
  • 2018-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多