0

这里部分数据丢失在文件系统/引擎/controller.php 中。

    if (file_exists(DIR_TEMPLATE . $this->template)) {
        extract($this->data);
          /* Here found header.tpl, media.tpl(my module), 
           column_left.tpl(this show my module), column_right.tpl,
           language.tpl,  footer.tpl */
        ob_start();

           /* Here found header.tpl, language.tpl, footer.tpl */
        require(DIR_TEMPLATE . $this->template);

        $this->output = ob_get_contents();
        ob_end_clean();
              }

为什么会这样?我使用 Opencart 框架,您可以在其中添加新模块。制作模块可以在 controller/common/column_left.php 中找到

3小时后的附录: 我猜这是由于Opencart Development的结构造成的。我导入的这个问题是在与 OpenCart 布局结构不同的页面中提出的。Opencart 的首页布局是这样的

product/category = 目录控制器/产品中的 category.php 文件。

我在这里,这种布局:

line/page/path = 在文件控制器/line/page.php 中,这个方法称为“路径”。

关于 OpenCart 结构的更详细信息之一是否存在问题?如果因为什么编辑带来的问题被忽略?当我知道应该更改什么时,OpenCart 原始代码很容易用块修改 vqMod 板。

4

1 回答 1

0

我不明白这个问题,但看看你的代码你可能想要实现这一点:

    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/account/account.tpl')) {
        $this->template = $this->config->get('config_template') . '/template/account/account.tpl';
    } else {
        $this->template = 'default/template/account/account.tpl';
    }

    $this->children = array(
        'common/column_left',
        'common/column_right',
        'common/content_top',
        'common/content_bottom',
        'common/footer',
        'common/header'     
    );

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

第一个if-else是检查自定义模板(如果存在)或加载默认模板。$this->children部分是启用子模板。最后一行是做剩下的事情——用数据填充模板并渲染输出。如果您在 OpenCart 中开发新的东西,最好查看已经存在的文件,不仅要了解它们是如何工作的,还要遵循相同的编码标准

于 2014-03-10T12:03:01.493 回答