Добрый день! Искал по форуму. Есть похожие темы, но своей не нашел. На странице Доставки хочу реализовать через API интеграцию с логистической компанией (калькулятор стоимости доставки). А там нужен php-код. Если вставлять напрямую на страницу, он комментируется и, ессно, не работает. Делать ссылку на другую страницу - не айс для пользователей. OpenCart "чистый". Версия 2. Никакие модули не добавлял. Если буду править, буду править код. ПомоЖите, пожалуйста.
1) Нужно скопировать /catalog/view/theme/default/template/information/information.tpl в /catalog/view/theme/default/template/information/shipping.tpl 2) Вставить в него нужный код в нужном месте. 3) В файле /catalog/controller/information/information.php в 48 строке заменить кусок кода: Было Код: if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) { $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/error/not_found.tpl', $data)); } else { $this->response->setOutput($this->load->view('default/template/error/not_found.tpl', $data)); } Стало Код: $template = 'information.tpl'; if ($information_id == 71) { $template = 'shipping.tpl'; } if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/'.$template)) { $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/information/'.$template, $data)); } else { $this->response->setOutput($this->load->view('default/template/information/'.$template, $data)); } Число 71 в строке if ($information_id == 71) { $template = 'shipping.tpl'; } заменить на ID статьи "Доставка"
Спасибо. Черт. Неужели без этого никак? Так не хочется исходные файлы трогать. Вот, думаю, новая версия выйдет. И мне ковырять все по новой? Но других ответов, как править исходник, похоже, не существует.
Metallikus Если сделаю, как ты пишешь, то смогу любой свой php-код вставлять? Надеюсь, ограничений нет. НЕНАВИЖУ классы...
Любой код из /catalog/view/theme/default/template/information/shipping.tpl будет работать в статье. >>НЕНАВИЖУ классы... [искромётный юмор]Школа достала?[/искромётный юмор]
делайте окмоды. Что и как есть в документации http://forum.opencart-russia.ru/threads/rukovodstvo-razrabotchika.14/
юмор оценил конечно, но скажем, у меня есть блок который должен отображаться в одном ряду статей, а есть другой блок, который касается другого ряда и видимо да, действительно придётся копипэйстом, как в примере
1. Делать это статикой. 2. В HTML редактор PHP не зальешь. Один из вариантов. Создать в контроллере information метод: ajax() или что то в этом роде, дать ему TPL файл, оформить как полагается и подгрузить его в нужное место. Подгрузить с помощью Fetch или Ajax, как раз таки javascript можно запихнуть в HTML редактор.
у меня другой доп-модуль за статьи отвечающий, поэтому редактировать пришлось другой файл (но с той же сутью), есть "общее меню", а есть два раздела статей у которых есть "своё меню" причём у каждого раздел отдельно от другого и чтобы всякий раз не редактировать каждую статью, после добавления новой мне нужно было как-то интегрировать через php банального include menu.php с содержащихся в нём $_SERVER['REQUEST_URI'] мне оказалось достаточно для решения моих задач. З.ы. меню нужно было внутри самой статьи, так что модуль "не подойдёт".
Извините, не нашла в поиске ответа на свой немного похожий вопрос, и решила задать его тут (близкая тема) (и поиск этого форума через Яндекс не работает у меня - я с Украины, а Яндекс тут заблокирован, может поэтому) Как в Статью вставить функционал сообщений-отзывов (ну, как под картинкой с товаром сообщения) Для чего: - у меня Доставка расписана на странице в Статьях - возможно, клиент чем-то недоволен, но при этом готов подсказать, но писать через почту не станет - а если это легко сделать под самим описанием условий доставки - то кто-то напишет и будет мне всем польза
Марс, благодарю, прочитала. Но там же недоделано всё. Я вот думала, что может быть можно просто ручками кусок какого кода перенести куда, шоб оно работало также, как на страницах с товаром. Потыкала, попробовала менять чего-то в review.tpl, - не-а, ничего не получилось пока
Обратно пишу вам, разлюбезная Катерина Матвеевна, поскольку выдалась свободная минутка. (с) 1. можно заюзать, так называемые шорткоды 2. можно прикрутить какую-нибудь систему вопрос-ответ в ввиде модуля 3. можно... Простите великодушно, небольшая заминка. Докончу в следующий раз. (с)