我正在使用Opencart尝试调用变量显示在特色模块中的产品名称下面。这个特色模块显示在首页上。
我已经在数据库中添加了一个新列,并且能够通过管理页面将数据添加到数据库中。通过PHPmyadmin验证。
但是,我不能在主页面上显示变量。我编辑了目录/视图/主题/ * / template / module / featured.tpl以包含以下代码但没有成功。如果我删除了isset,它会抛出一个提示:未定义的变量:product_description in ... error
添加以下行
<div class="secondtitle"><?php echo isset($product_description['secondtitle']); ?></a></div>
之前
<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
VQmod
<file name="catalog/view/theme/*/template/module/featured.tpl">
<operation>
<search position="after"><![CDATA[
<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
]]></search>
<add><![CDATA[
<div class="secondtitle"><?php echo isset($product_description['secondtitle']); ?></a></div>
]]></add>
</operation>
</file>
任何人都可以指导我如何解决这个问题?提前谢谢。
答案 0 :(得分:0)
您需要更具体,很难猜测在数据库中添加额外字段的位置。它在'产品'表中吗? 然后,根据您之前的评论,看起来您正走在正确的轨道上。
您需要编辑model / catalog / product.php编辑函数getProduct()
您将看到正在填充的数组:
'product_id' => $query->row['product_id'],
'name' => $query->row['name'],
'description' => $query->row['description'],
...
在那里添加自定义字段:
'secondtitle' => $query->row['secondtitle']
您能否在数据库中显示添加此自定义变量的位置?
[编辑:2012-12-13回应评论#1]
如果您的自定义字段位于“product_description”表中,请按照上面的示例编辑模型/ catalog / product.php 编辑控制器featured.php,将您的变量添加到products数组。寻找
$this->data['products'][] = array(
'product_id' => $product_info['product_id'],
'thumb' => $image,
...
添加字段
...
'secondtitle'=> $product_info['secondtitle']
然后在视图中的features.tpl用
回显你想要的地方<?php echo $product['secondtitle']; ?>
这很有效,我刚试过它。 正如我之前所说,你做的正确,可能只是错过了一两步......
答案 1 :(得分:0)
管理修复此问题,因为我在特色模块上显示第二个标题,我只需要在featured.php上调用它,现在就显示它了。谢谢大家的帮助。