2014-12-09 3 views
-1

Я попытался установить тему Лиственные, но я получил эту ошибку:Magento: фатальная ошибка при установке темы Лиственные

Фатальная ошибка: Вызов функции-члена toHtml() на не-объект в/volume1/веб /magento/app/code/core/Mage/Core/Model/Layout.php на линии 555

Вот код рядом с линией 555:

public function getOutput() 
    { 
     $out = ''; 
     if (!empty($this->_output)) { 
      foreach ($this->_output as $callback) { 
       $out .= $this->getBlock($callback[0])->$callback[1](); 
      } 
     } 

     return $out; 
    } 

Что я должен изменить в этом?

ответ

0

Недалеко Строка 555? Какой номер is линия 555?

Очень хакерский подход заключается в том, чтобы добавить вызов is_object(), но вы не хотите этого делать. Вы хотите, чтобы автор темы исправил свою тему.

+0

Опять же, повторяю, вы не хотите этого делать. Зачем? Несколько причин, главный из которых - плохая практика. Но практическая причина ... вам придется переделать этот взлом каждый раз, когда вы обновляете установку Magento. Получите поддержку от разработчика лиственных пород! ;-) –

+1

Спасибо, к сожалению, он не работает, и я недостаточно хорош, чтобы понять, что с ним не так ... Но в любом случае, вы правы, мне лучше проверить с разработчиком, может ли он что-то сделать об этом – Firilou

+0

Добро пожаловать. –

0

Старые версии PHP допускают $ callback [] в выражениях, позволяя читать содержимое обратного вызова $ независимо от синтаксиса. PHP 5.1 сделал это незаконным. В случае атрибута объекта вы можете обернуть ваш $ callback внутри {}.

public function getOutput() 
{ 
    $out = ''; 
    if (!empty($this->_output)) { 
     foreach ($this->_output as $callback) { 
      $out .= $this->getBlock($callback[0])->${callback[1]}(); 
     } 
    } 

    return $out; 
} 

Моя Magento тема была Carstore, который устарел, но это тот, который я должен был работать, потому что мой клиент купил. Ссылка на мою тему: http://themeforest.net/item/accessories-car-magento-theme/662796?s_rank=1

Смежные вопросы