Как отобразить миниатюру из категории, используя getThumbnailUrl () в Magento

Я пытался сделать эту работу, но не повезло, в основном мне нужно отобразить категории главного меню в блоке контента, и я это сделал, но теперь мне нужно отобразить категорию миниатюр рядом с именем категории внутри блока контента. Я создал новый пользовательский модуль внутри app / desing / fronend / default / THEME / template / catalog / navigation / category_listing.php, который выглядит следующим образом:


    
    
    
      
          

         
                 
        getStoreCategories() as $_category): ?>
            
             <a href="?php echo $this-getCategoryUrl($_category) ?" ?php="" if="" ($this-iscategoryactive($_category)):="" ?=""> class="active">htmlEscape($_category->getName()) ?>
             <img src="?php echo $_category-getThumbnailUrl() ?" width="100" height="100" style="background:red; height: 100px; width: 100px; display: block" alt="?php echo $this-htmlEscape($_category-getName()) ?">
             </a> 

            
        

       
      
      decorateDataList('narrow-by-list')
    
   

А потом я добавляю это в приложение / код / ядро / маг / каталог / модель / категория.php

            public function getThumbnailUrl()
            {
                $url = false;
                if ($image = $this->getThumbnail()) {
                    $url = Mage::getBaseUrl('media').'catalog/category/'.$image;
                }
                return $url;
            }

Есть идеи, почему не тянет и не отображает изображение? Я уже добавил в категорию с помощью админ-панели, очистил кеш и обновил данные, есть идеи?

Ответы на вопрос(3)

Category.php

Это может быть легко сделано через эти строки кода ... попробуйте это ... его работы

$child= Mage::getSingleton('catalog/layer')->getCurrentCategory()->getId();

$imageSrc = Mage::getModel('catalog/category')->load($child)->getThumbnail();

$ThumbnailUrl = Mage::getBaseUrl('media').'catalog/category/'.$imageSrc;

echo "<img src="{$ThumbnailUrl}">";

чтобы отобразить уменьшенное изображение категории

   public function getThumbnailImageUrl() 
   {
      $url = false;

      if ($image = $this->getThumbnail()) {

         $url = Mage::getBaseUrl('media').'catalog/category/'.$image;
      }
      return $url;
   }

Затем, используя для любой категории:

$ _ImageUrl = $ this->getCurrentCategory () ->getThumbnailImageUrl ()

Вы можете получить уменьшенное изображение.

См. Эту статьюhttp://www.douglasradburn.co.uk/getting-category-thumbnail-images-with-magento/

Мое решение работает на Magento 1.7.0.2



Создайте файл sub -ateg.phtml

Location: app/design/fronend/YOUR-THEME/default/template/catalog/navigation/sub-categories.phtml  

Обратите внимание на то, где вытащить миниатюры изображений. Вам нужно будет добавить абсолютный путь вашего сайта вwww.yourwebsitenamehere.com ниже.

содержимое файла sub -ateg.phtml:

<div id="categories">
  <!--?php $_maincategorylisting = $this--->getCurrentCategory() ?>
  <!--?php $_categories = $this--->getCurrentChildCategories() ?>
  <!--?php if($_categories--->count()): ?>
     <!--? foreach($_categories as $_category): ?-->
        <!--? if($_category--->getIsActive()):
           $cur_category = Mage::getModel('catalog/category')->load($_category->getId());
           $layer = Mage::getSingleton('catalog/layer');
           $layer->setCurrentCategory($cur_category);
           $catName = $this->getCurrentCategory()->getName();
           if($_imageUrl = !$this->getCurrentCategory()->getThumbnailImageUrl()):
              ?>
              <!--?php /* Default subcategory jpg if no image exists */ ?-->
              <div class="category-box">
                 <div class="category-image-box">
                    <a href="<?php echo $this->getCategoryUrl($_category) ?>">
                       <img src="<?php echo $this->getSkinUrl('images/subcategory-default.jpg') ?>">
                    </a>
                 </div>
                 <div>
                    <p>
                       <a href="<?php echo $this->getCategoryUrl($_category) ?>"> <!--?php echo $catName ?--></a>
                    </p>
                 </div>
              </div>
           <!--? endif ?-->
           <!--? if($_imageUrl = $this--->getCurrentCategory()->getThumbnailImageUrl()): ?>
           <!--?php /* Displays the subcategory image */ ?-->
           <div class="category-box">
              <div class="category-image-box">

                 <a href="<?php echo $this->getCategoryUrl($_category) ?>">
                    <img src="http://www.yourwebsitenamehere.com/media/catalog/category/<?php echo $_imageUrl ?>">
                 </a>
              </div>
              <div>
                 <p>
                    <a href="<?php echo $this->getCategoryUrl($_category) ?>"> <!--?php echo $_category--->getName() ?></a>
                 </p>
              </div>
           </div>
        <!--? endif; endif; ?-->
     <!--? endforeach ?-->
     <!--?php $layer--->setCurrentCategory($_maincategorylisting); ?>
   <!--? endif; ?-->
</div>

Создать статический блок.

1. Заголовок блока: список подкатегорий

2. Идентификатор: подкатегории

3. Содержание:{{block type="catalog/navigation" template="catalog/navigation/sub-categories.phtml"}}

Создать файл Category.php

копияapp/code/core/Mage/Catalog/Model/Category.php вapp/code/local/Mage/Catalog/Model/Category.php, После копирования отредактируйте файл.

Оказавшись внутри файла, посмотрите возле строки 491. Найдите:

public function getImageUrl()
{
    $url = false;
    if ($image = $this->getImage()) {
        $url = Mage::getBaseUrl('media').'catalog/category/'.$image;
    }
    return $url;
}

После этого вставьте в:

/**
 * Retrieve thumbnail image URL
 *
 * @return string
 */
public function getThumbnailImageUrl($fullpath = false)
{

  $url = false;

  if ($image = $this->getThumbnail()) {

      if ($fullpath == true) {
          $url = Mage::getBaseUrl('media').'catalog/category/'.$image;
      } else {
          $url = $image;
     }
  }

  return $url;

}

Backend Magento.

1. Выберите Каталог> Управление категориями.

2. Создайте или отредактируйте основную категорию, в которой будут отображаться эскизы из подкатегорий.

3. На вкладке «Настройки дисплея»

4. Режим отображения: только статический блок

5. Блок CMS: список подкатегорий

6. Якорь: нет

7. Миниатюра изображения: выберите файл

Если вы не видите свои правки, обязательно очистите кеш Magento.

Ваш ответ на вопрос