0

我正在使用 Opencart 试图调用一个变量以显示在特色模块中的产品名称下方。这个特色模块显示在首页上。

我已经在数据库中添加了一个新列,并且能够通过管理页面将数据添加到数据库中。通过 PHPmyadmin 验证。

但是,我不能在主页上显示变量。我已经编辑了 catalog/view/theme/*/template/module/featured.tpl 以包含以下代码,但没有成功。如果我删除 isset 它会抛出一个通知:未定义变量:product_description in ... 错误

添加了以下行

<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>

谁能指导我如何解决这个问题?提前致谢。

4

2 回答 2

0

设法解决了这个问题,因为我在特色模块上显示第二个标题,我只需要在 features.php 上调用它,瞧,它现在正在显示。感谢大家的帮助。

于 2012-12-13T10:41:41.173 回答
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' 表中,则按照上面的示例编辑 model/catalog/product.php 编辑控制器 features.php,将您的变量添加到 products 数组中。寻找

$this->data['products'][] = array(
    'product_id' => $product_info['product_id'],
    'thumb'      => $image, 
    ...

添加您的字段

     ...
    'secondtitle'=> $product_info['secondtitle']

然后在 view features.tpl 在你想要的地方回显它

<?php echo $product['secondtitle']; ?>

这行得通,我刚刚测试过。正如我之前所说,您正在做正确的事情,可能只是错过了一两步..

于 2012-12-12T08:53:31.930 回答