产品的第二个变量

时间:2012-12-11 06:00:06

标签: php opencart

我正在使用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>

任何人都可以指导我如何解决这个问题?提前谢谢。

2 个答案:

答案 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上调用它,现在就显示它了。谢谢大家的帮助。