2015-04-04 2 views
0

Как видно из названия, в моем магазине Magento отображаются пустые страницы категорий. У меня есть следующий вывод об ошибке:Magento blank/empty (anchor) category page

Fatal error: Call to a member function setData() on a non-object in /app/code/local/Mage/Tax/Model/Calculation.php on line 411 
Warning: include(Mage.php) [function.include]: failed to open stream: No such file or directory in /lib/Varien/Autoload.php on line 94 
Warning: include(Mage.php) [function.include]: failed to open stream: No such file or directory in /lib/Varien/Autoload.php on line 94 
Warning: include() [function.include]: Failed opening 'Mage.php' for inclusion (include_path='app/code/local:app/code/community:/app/code/core:/lib:.') in /lib/Varien/Autoload.php on line 94 
Fatal error: Class 'Mage' not found in /app/code/core/Mage/Core/functions.php on line 244 
Warning: include(Mage.php) [function.include]: failed to open stream: No such file or directory in /lib/Varien/Autoload.php on line 94 
Warning: include(Mage.php) [function.include]: failed to open stream: No such file or directory in /lib/Varien/Autoload.php on line 94 
Warning: include() [function.include]: Failed opening 'Mage.php' for inclusion (include_path='app/code/local:app/code/community:/app/code/core:/lib:.') in /lib/Varien/Autoload.php on line 94 
Fatal error: Class 'Mage' not found in /app/code/core/Mage/Core/Model/Resource/Session.php on line 108 

Calculation.php - Линия 8 является линия 411

protected function _getRates($request, $fieldName, $type) 
    { 
     $result = array(); 
     $classes = Mage::getModel('tax/class')->getCollection() 
      ->addFieldToFilter('class_type', $type) 
      ->load(); 
     foreach ($classes as $class) { 
      $request->setData($fieldName, $class->getId()); 
      $result[$class->getId()] = $this->getRate($request); 
     } 

     return $result; 
    } 

autoload.php - Линия 13 Линия 94

public function autoload($class) 
    { 
     if ($this->_collectClasses) { 
      $this->_arrLoadedClasses[self::$_scope][] = $class; 
     } 
     if ($this->_isIncludePathDefined) { 
      $classFile = COMPILER_INCLUDE_PATH . DIRECTORY_SEPARATOR . $class; 
     } else { 
      $classFile = str_replace(' ', DIRECTORY_SEPARATOR, ucwords(str_replace('_', ' ', $class))); 
     } 
     $classFile.= '.php'; 
     //echo $classFile;die(); 
     return include $classFile; 
    } 

functions.php - Строка 2 - линия 244

$errorMessage .= ": {$errstr} in {$errfile} on line {$errline}"; 
    if (Mage::getIsDeveloperMode()) { 
     throw new Exception($errorMessage); 
    } else { 
     Mage::log($errorMessage, Zend_Log::ERR); 
    } 

Сессия .php - линия 2 линия 108

 if (is_null($this->_lifeTime)) { 
      $configNode = Mage::app()->getStore()->isAdmin() ? 
        'admin/security/session_cookie_lifetime' : 'web/cookie/cookie_lifetime'; 
      $this->_lifeTime = (int) Mage::getStoreConfig($configNode); 

** UPDATE **

Я только что узнал, когда я снял 4-ю строку страницы категорий будут отображаться. Но (логически) без слоистого nav.

<catalog_category_layered translate="label"> 
     <label>Catalog Category (Anchor)</label> 
     <reference name="left"> 
      <block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/> 
     </reference> 
    </catalog_category_layered> 

Каталог/слой/view.phtml это выглядит следующим образом:

<?php if($this->canShowBlock()): ?> 
<div class="block block-layered-nav"> 
    <div class="block-content"> 
     <?php echo $this->getStateHtml() ?> 
     <?php if ($this->getLayer()->getState()->getFilters()): ?> 
      <div class="actions"><a href="<?php echo $this->getClearUrl() ?>"><?php echo $this->__('Clear All') ?></a></div> 
     <?php endif; ?> 
     <?php if($this->canShowOptions()): ?> 
      <dl id="narrow-by-list"> 
       <?php $_filters = $this->getFilters() ?> 
       <?php foreach ($_filters as $_filter): ?> 
       <?php if($_filter->getItemsCount()): ?> 
        <dt><?php echo $this->__($_filter->getName()) ?></dt> 
        <dd><?php echo $_filter->getHtml() ?></dd> 
       <?php endif; ?> 
       <?php endforeach; ?> 
      </dl> 
      <script type="text/javascript">decorateDataList('narrow-by-list')</script> 
      <script type="text/javascript"> 
       jQuery(function($){ 
        $(".block-layered-nav dt").click(function(){ 
         if($(this).next("dd").css("display") == "none"){ 
          $(this).next("dd").slideDown(200); 
          $(this).removeClass("closed"); 
         } else { 
          $(this).next("dd").slideUp(200); 
          $(this).addClass("closed"); 
         } 
        }); 
       }); 
      </script> 
     <?php endif; ?> 
    </div> 
</div> 
<?php endif; ?> 

Я до сих пор не найти вопрос об этом.

-

Я надеюсь, что кто-то может помочь мне решить эту проблему.

+0

Пожалуйста, вашего кода, в противном случае мы не можем вам помочь. – ByteHamster

+0

Спасибо! Я разместил коды в вопросе. – Laurenze

+0

Просто введите код (не используйте фрагмент кода). Фрагменты кода предназначены только для HTML/CSS/Javascript. :) – ByteHamster

ответ

0

Проверьте, существует ли приложение/Mage.php. Также проверьте его разрешения. Создать новый файл в корневом каталоге с помощью следующего кода:

require_once("app/Mage.php"); 
umask(0); 
Mage::app(); 

error_reporting(E_ALL | E_STRICT); 
ini_set('display_errors', 1); 
Mage::init(); 
+0

Кажется, не работает. Я только что обнаружил, что только категории привязки пустые. – Laurenze

+0

мой код не работает? как насчет файла Mage.php и его разрешений? – zhartaunik

+0

Нет, я добавил ваш код в index.php. Mage.php существует, и я уверен, что я получил разрешения на 777, по умолчанию было 644. – Laurenze