В первый раз это делаю, потому прошу не бросать камни... Сделал нормальный модуль с нуля. Все работает. Все выводится. OC 2.3 НО. Нет заголовка, хотя этот код в контроллере есть: Код: $this->load->language('extension/module/comment'); $data['heading_title'] = $this->language->get('heading_title'); В папке language есть файл, в котором есть: Код: <?php // Heading $_['heading_title'] = 'Заголовок новой страницы'; А в меню вверху выводится вот это в виде ссылки (то есть error): И внизу страницу выводится: А страница-то найдена и данные на нее выведены. Где копать? Спасибо...
Спасибо. Нет. Я не о том заголовке. Но это тоже важно. Код: $data['heading_title'] = $this->language->get('heading_title'); $this->document->setTitle($this->language->get('heading_title')); В общем, с заголовком разобрался. Разобраться бы еще, почему пишет Запрашиваемая страница не найдена! То есть, почему дает error, хотя данные на странице выводятся корректно.
Как по мне, так лучше сделать вот так. PHP: $data['heading_title'] = $this->language->get('heading_title');$this->document->setTitle($data['heading_title']); К чему лишний раз обращаться к переменной language. Это так сказать ИМХО. А в целом на вкус и цвет....! Тут надо бы больше данных - как, где и что выводите!
100% верно. Если добавляю модуль в макет home, то все в порядке. А мне надо вывести его на отдельной странице. Создаю новый макет. Добавляю модуль. Даю название comment/comment (а вообще, как лучше путь обозвать?). Макет по этому адресу выводится. Но сверху добавляются "крошки" "home" и "Запрашиваемая страница не найдена", а снизу вот это Код: Запрашиваемая страница не найдена! К сожалению, запрашиваемая Вами страница не найдена. Вероятно, Вы указали несуществующий адрес, страница была удалена, перемещена или сейчас она временно недоступна! Если "крошки" добавляю свои, они прекрасно выводятся, но под "Запрашиваемая страница не найдена"...
Я не про модуль! Что скрывается за адресом comment/comment, для которого вы создаёте макет и выводите модуль?
Адрес должен вести на существующую страницу, у которой должен быть шаблон и конечно же контроллер. Новый макет не создаёт страницу!
Полагаю, что их не существует! comment/comment это адрес к контроллеру, который должен вывести шаблон! А система Вам потому и пишет, что ничего такого не найдено. Вы же их не создали.
Создайте файл comment.php по адресу catalog/controller/information PHP: <?phpclass ControllerInformationComment extends Controller { public function index() { $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'); $data['header'] = $this->load->controller('common/header'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/comment.tpl')) { $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/information/comment.tpl', $data)); } else { $this->response->setOutput($this->load->view('default/template/information/comment.tpl', $data)); } }} Создайте шаблон /template/information/comment.tpl Код: <?php echo $header; ?> <div class="container"> <div class="row"> <?php echo $column_left; ?> <?php if ($column_left && $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } elseif ($column_left || $column_right) { ?> <?php $class = 'col-sm-9'; ?> <?php } else { ?> <?php $class = 'col-sm-12'; ?> <?php } ?> <div id="content" class="<?php echo $class; ?>"> <?php echo $content_top; ?> <?php echo $content_bottom; ?> </div> <?php echo $column_right; ?> </div> </div> <?php echo $footer; ?> Пробуйте пройти по адресу information/comment Это вариант без хлебных крошек. Тут по хорошему надо бы создать еще файл перевода и оттуда тянуть тайтл и т.п. А пока что проверьте работоспособность кода. Макет создавайте для адреса information/comment
открываем соседний файл и смотрим как подключается шаблон. В 2.3 шаблон подключается по другому, не так как показал в качестве примера @DiMoss
Спаааасибоооо! Код: $this->response->setOutput($this->load->view('information/comment', $data)); Особое спасибо @DiMoss!!!
Совсем-совсем последний вопрос. Хлебные крошки должны быть в контроллере модуля (у меня так работает) или в макете?