Перейти к содержанию
danya

Создание нового файла

Рекомендуемые сообщения

Создал файл в контроллере common/auto.php

Создал файл в виде common/auto.tpl

<?php
class ControllerCommonAuto extends Controller {
    public function index() {
		$this->document->setTitle($this->config->get('config_meta_title'));
		$this->document->setDescription($this->config->get('config_meta_description'));
		$this->document->setKeywords($this->config->get('config_meta_keyword'));


		$data['column_left'] = $this->load->controller('common/column_left');
		$data['column_right'] = $this->load->controller('common/column_right');
		$data['content_top'] = $this->load->controller('common/content_top');
		$data['content_bottom'] = $this->load->controller('common/content_bottom');
		$data['footer'] = $this->load->controller('common/footer');
        
        
        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/auto.tpl')) {
			$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/common/auto.tpl', $data));
		} else {
			$this->response->setOutput($this->load->view('default/template/common/auto.tpl', $data));
		}
	}
  
}

В файле header.tpl прописал <?php echo $auto; ?> и пытаюсь вывести что-то из файла.. но ничего не выходит, в чем причина? Может нужно где-то зарегистрировать класс? Первый раз столкнулся :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По какой ссылке пытаешься вывести то?

index.php?route=common/auto?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По какой ссылке пытаешься вывести то?

index.php?route=common/auto?

Нет. Мне нужно выводить этот файл только в самом файле handler.tpl

 

<?php echo $auto; ?>  - я думал так это делается. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сам код не просматривал...но отвечу почему не отображается при

<?php echo $auto; ?>

в контроллере header.php
 

$this->children = array(
'module/language',
'module/currency',
'common/auto', <--------- вставить
'module/cart'
);

хотя я стараюсь созданные таким образом файлы все ж ложить в папки module

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 Это у меня прописано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тогда дебаггер надо, логи читать надо. Навскидку направление верное.

 

Хотя... если это модуль и вызывается через модуль, то зачем в нем собирать модули column_left и т.п. Какое-то несоответсвие ж.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как мне логи создать? чтобы ошибку увидеть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Создал контроллер, все работает по адресу .../index.php?route=common/autorisation 

Но мне файл autorisation.tpl нужно выводить в другом файле (header.tpl)

 

Посмотрев код я увидел, что используется: <?php echo $header; ?> попробовал также подключить - нет результата.

 

В самом контроллере header.php прописывал:

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

 

Бестолку.. что я еще не сделал???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Через jquery отправьте в любое место

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подробнее.. как это делается в других случаях.. например <?php echo $header; ?> выводит header.tpl.. мне нужно точно также. только с моим файлом

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неужели на самом форуме opencart нет знающего человека? :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это, судя по всему, opencart версии 2 и выше, а вы взяли часть кода , которая занимается рендерингом .tpl из 1.5.x

 

у вас метод "index" ничего не возвращает.

пробуйте

так например

        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/auto.tpl')) {			
			return $this->load->view($this->config->get('config_template') . '/template/common/auto.tpl', $data);
		} else {
			return $this->load->view($this->config->get('default/template/common/auto.tpl'), $data);
		}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Боже, ну наконец-то помогли :)

 

Да, работает, версия действительно выше 2. А почему тогда в других местах на проекте у меня не так и работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.