在opencart中添加指向模块的链接

时间:2014-05-24 09:22:17

标签: opencart

我想获得一个opencart属性列表,并在顶部菜单中添加一个链接以链接到该模块。当用户单击顶部菜单上的链接时,将在单个页面中显示所有属性列表。

任何指导意见。

1 个答案:

答案 0 :(得分:1)

一般读取控制器,模型和库文件中的方法,检查是否有可以使用的方法。例如,您可以在admin / model / catalog / attribute.php中使用getAttributes方法。如果您需要独立于语言的所有属性编写新模型文件并在没有WHERE子句的情况下复制此函数,这将为您提供所使用语言的所有属性:

class simpleAttributeClass extends Model {

    public function getAttributes($data = array()) {
    $sql = "SELECT *, (SELECT agd.name FROM " . DB_PREFIX . "attribute_group_description agd) AS attribute_group FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id)";
    $result = $this->db->query($sql);
    return $result['rows'];
    }
}

将其放入admin/model/catalog/simple_attribute.php

然后使用以下内容创建文件admin/controller/catalog/simple_attribute.php

class simpleAttributeClass extends Controller {
    public function index() {
        $this->load->model('catalog/simple_attribute');
        $this->data['all_attributes'] = $this->model_catalog_simple_attribute->getAttributes();


        $this->template = 'catalog/attribute_list.tpl';
        $this->children = array(
        'common/header',
        'common/footer');

        $this->response->setOutput($this->render());
}
}

然后创建一个view/template/catalog/simple_attribute.tpl文件,例如:

<ul>
<?php foreach ($all_attributes as $attribute) { ?>
<li><?php echo $attribute['name']; ?></li>
<?php } ?>
</ul> 

对于您想要的链接,编辑header.tpl文件(或通过vqmod执行)并添加<li><a href="index.php?route=catalog/simple_attribute">All attributes</a></li>

我还没有测试过,所以可能会出现一些错误,但它应该让您了解如何使用opencart代码。