开始:一些数据丢失了

时间:2014-03-07 17:28:34

标签: php opencart ob-start

这里有文件系统/ engine / 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框架,您可以添加新模块。 Made模块可以在controller / common / column_left.php中找到

附录3小时后: 我想这是由于Opencart开发的结构。我导入这个问题是在一个与OpenCart布局结构不同的页面中引发的。 Opencart头版布局是这样的

目录controller / product中的

product / category = category.php文件。

我在这里,这种布局:

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

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

1 个答案:

答案 0 :(得分: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中的新功能,最好先查看已存在的文件,不仅要了解工作原理,还要遵循相同的编码标准