2015-11-18 2 views
2

Я новичок в opencart. Я хочу создать пользовательскую тему и некоторые пользовательские контроллеры и модели. Я не могу найти никаких учебников относительно этого, но я попытался создать представление вдоль контроллера. Когда я вызываю этот вид из дома или страницы просмотра заголовка, например $header (в домашнем файле) и $search (в заголовочном файле), тогда отображается неопределенная переменная.Как вызвать контроллер из представления в opencart?

Мой код выглядит следующим образом. Он находится в контроллере (путь catalog\controller\common\test.php).

<?php 
class ControllerCommonTest extends Controller{ 
    public function index() { 
if(file_exists(DIR_TEMPLATE.this->config->get('config_template').'/template/test/test.tpl')) { 

     $this->response->setOutput($this->render()); 
    } else { 
     return $this->load->view('default/template/common/header.tpl'); 
    } 
    } 
} 
?> 

И на мой взгляд в \view\theme\MyTheme\template\common\test.tpl

<?php 
echo "Test file"; 
?> 

И в моем родном файле, я называю мой контроллер, как показано ниже ...

<?php 
echo $header; 
echo $test; 
echo $footer; 
?> 

При запуске этого он показывает ниже ошибка:

Notice: Undefined variable: test in C:\xampp\htdocs\opencart\catalog\view\theme\MyCustome\template\common\home.tpl on line 4

S o, пожалуйста, укажите любые ссылки на учебники и примеры для создания настраиваемого модуля в opencart.

Заранее спасибо.

+0

Проверьте, как переменная $ заголовка определяется в контроллере .. Аналогично определим переменную $ тест. До версии op. 1.x переменные шаблона были определены в контроллере как '$ this-> data ['variable_name']' и из 2.x onwards '$ data ['variable_name']'. –

ответ

1

Чтобы отобразить тестовый модуль tpl i.e. test.tpl на домашней странице, у вас есть контроллер проверки нагрузки на домашнем контроллере. Пожалуйста, добавьте следующий код в catalog/controller/common/home.php

добавить этот код

$data['test'] = $this->load->controller('common/test'); 

После

$data['header'] = $this->load->controller('common/header'); 
+0

Спасибо Амит. :) –

Смежные вопросы