Может ли кто-нибудь сказать мне, как я могу использовать навигационную панель в header.tpl, а не в файле product.tpl opencart?OpenCart Breadcrumb в header.tpl
ответ
Из-за того, что код 1.5.X закодирован, вам необходимо переписать каждый контроллер и добавить метод обратно в класс документа, чтобы разрешить переход от контроллера продукта к контроллеру заголовка. Есть ли какая-то конкретная причина, по которой вы хотите это сделать?
, если все остальное не просто взломать CSS, что-то вроде
.breadcrumb {
margin-left: -270px;
margin-top: -65px;
}
будет перемещаться хлебную крошку вверх и влево.
Мне просто нужно было понять это для нового сайта, который мы строим, и я придумал следующее; используйте на свой страх и риск (я отчитаюсь, если столкнусь с какими-либо серьезными проблемами, но я не могу предвидеть никаких ... известных последних слов)
В основном панировочные сухари встроены в контроллеры, и нам нужны результирующие $breadcrumbs
массив в контроллере заголовка. Изменение system/engine/controller.php
следующим образом:
[...snip...]
protected function render() {
foreach ($this->children as $child) {
$this->data[basename($child)] = $this->getChild($child,array('parent_data'=>&$this->data));
}
[...snip...]
Это будет посылать все данные в родительском контроллере, прежде, чем render()
был вызван, к каждому контроллеру/способу $children
. Тогда мы просто должны выбрать это в контроллере заголовка следующим образом:
<?php
class ControllerCommonHeader extends Controller {
protected function index($args=array()) {
// parent data
$this->data['parent_data'] = $args['parent_data'];
[...snip...]
И мы можем получить доступ ко всему в шаблоне с $parent_data['whatever']
. В этом случае $parent_data['breadcrumbs']
будет массивом панировочных сухарей, которые я могу перебрать с кодом, который я удалил из каждого page.tpl
, и добавил к моему header.tpl
.
Да. Посмотрите на store.imayne.com. Мне нужна сводка, чтобы показать на этом сером баре, как и мой сайт vbulletin: iMayne.com – iMayne
Я вижу. Это будет огромной головной болью для вас, поскольку вам, вероятно, придется редактировать все контроллеры. Альтернативой было бы использовать 1.4.9.6 OC, который по умолчанию имел патчи в заголовке. Честно говоря, я даже не уверен, почему они ограничены заголовком или контентом, их следует настраивать в любом месте с помощью модуля IMHO –