Файл шаблона блока Magento не загружен - PullRequest
0 голосов
/ 17 марта 2012

Я пытаюсь сделать что-то очень простое: отредактировать небольшую часть шаблона пейджера продукта категории.Я скопировал pager.phtml из .../base/default/template/page/html/ в папку template/page/html моей собственной темы и изменил то, что мне нужно, изменилось в новом файле.К сожалению, во внешнем интерфейсе ничего не изменилось.

Я попытался включить «Подсказки к шаблонам пути», и он определенно показывает, как загружается мой пользовательский шаблон.Когда я очищаю pager.phtml моей темы, все содержимое остается (как будто все еще загружается шаблон по умолчанию).Когда я редактирую шаблон по умолчанию, все равно ничего не меняется!Ах, ха!Он должен быть кэширован ...

Но я отключил кэши (это сайт разработки) и все равно попытался обновить их все.Ничего не меняетсяЯ отредактировал множество шаблонов на этом сайте, и все они работали, как и ожидалось, только pager.phtml доставляет мне неприятности.

Если кто-нибудь может указать мне правильное направление или даже бросить несколькобольше идей отладки на моем пути, это было бы здорово.Заранее спасибо.

Ответы [ 4 ]

4 голосов
/ 17 марта 2012

Тройная проверка путей. Серьезно, что-то в работе с Magento заставляет людей (включая меня) упускать вещи, которые на один уровень ниже очевидного.

Как только вы это сделаете, перейдите к

app/code/core/Mage/Core/Block/Template.php

Найдите строки, которые включают файл шаблона

$includeFilePath = realpath($this->_viewDir . DS . $fileName);
if (strpos($includeFilePath, realpath($this->_viewDir)) === 0 || $this->_getAllowSymlinks()) {
    include $includeFilePath;
} else {
    Mage::log('Not valid template file:'.$fileName, Zend_Log::CRIT, null, null, true);
}

и добавьте код отладки, чтобы выяснить, почему ваш phtml не включен.

2 голосов
/ 17 марта 2012

Если ваши кэши выключены, и вы редактируете пакет / тему base/default, это не имеет никакого эффекта, похоже, что вы редактируете не тот файл ...

Случайно это шаблон 1.3 на1.4 build - поскольку настройка пейджера изменилась между двумя версиями и может привести к специфическим проблемам, которые вы описываете.

Проверяли ли вы переопределение другого файла .phtml, чтобы увидеть, действительно ли он работает (т. Е. Правильно ли вы его настроили).

Наконец, кэширование является последним средством, получилиAPC / Eaccelerator установлен с параметром mtime / stat, установленным в false?Поскольку это будет игнорировать время изменения файла и обрабатывать данные непосредственно из его внутреннего кэша.Перезапуск Apache / PHP подтвердит это.

Проверьте, запустив

php -i | grep mtime
php -i | grep stat

Или создав тестовый phpinfo(); файл

0 голосов
/ 17 марта 2012

Проверьте свои настройки дизайна в System-> Config-> General-> Design-> Package (пример: по умолчанию) System-> Config-> General-> Design-> Themes-> Default (задайте имя каталога вашей темы).

0 голосов
/ 17 марта 2012

Также попробуйте:

  1. Переиндексирование (шаблон может быть изменен, но старый индекс может быть загружен)
  2. очистить саму папку / var / cache.

Использует ли сайт litespeed или любую другую утилиту кеширования? Возможно, придется очистить эти тайники.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...