Как программно отобразить логотип товарного раздела?

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Антон Коробко
  • Группа: Клиент
  • Сообщений: 30
  • Регистрация: 14.01.2015

02.09.2015 06:35

Обычную картинку раздела я получаю $_category->getImageUrl()...

МИниатюрку пытаюсь получить так $_category->getThumbnailUrl() - не работает..

Я так понимаю миниатюрка это расширение нашей сборки, поэтому на других форумах не могу получить информацию по вызовы этого свойста.

Выполнила в категории команду var_dump($_category);

и судя из списка свойств, то миниатюрки там нет:

object(Df_Catalog_Model_Category)[668]
  protected '_eventPrefix' => string 'catalog_category' (length=16)
  protected '_eventObject' => string 'category' (length=8)
  protected '_cacheTag' => string 'catalog_category' (length=16)
  protected '_useFlatResource' => boolean true
  private '_designAttributes' (Mage_Catalog_Model_Category) => 
    array
      0 => string 'custom_design' (length=13)
      1 => string 'custom_design_from' (length=18)
      2 => string 'custom_design_to' (length=16)
      3 => string 'page_layout' (length=11)
      4 => string 'custom_layout_update' (length=20)
      5 => string 'custom_apply_to_products' (length=24)
  protected '_treeModel' => null
  protected '_urlModel' => null
  protected '_defaultValues' => 
    array
      empty
  protected '_storeValuesFlags' => 
    array
      empty
  protected '_lockedAttributes' => 
    array
      empty
  protected '_isDeleteable' => boolean true
  protected '_isReadonly' => boolean false
  protected '_resourceName' => string 'df_catalog/category_flat' (length=24)
  protected '_resource' => null
  protected '_resourceCollectionName' => string 'df_catalog/category_flat_collection' (length=35)
  protected '_dataSaveAllowed' => boolean true
  protected '_isObjectNew' => null
  protected '_data' => 
    array
      'entity_id' => string '13' (length=2)
      'level' => string '3' (length=1)
      'path' => string '1/2/6/13' (length=8)
      'position' => string '2' (length=1)
      'is_active' => string '1' (length=1)
      'is_anchor' => string '1' (length=1)
      'url_key' => string 'milk' (length=4)
      'name' => string 'Колбасы / паштеты' (length=31)
      'image' => string 'ban_prod_3.png' (length=14)
      'request_path' => string 'products/milk.html' (length=18)
      'product_count' => string '8' (length=1)
  protected '_hasDataChanges' => boolean true
  protected '_origData' => 
    array
      'entity_id' => string '13' (length=2)
      'level' => string '3' (length=1)
      'path' => string '1/2/6/13' (length=8)
      'position' => string '2' (length=1)
      'is_active' => string '1' (length=1)
      'is_anchor' => string '1' (length=1)
      'url_key' => string 'milk' (length=4)
      'name' => string 'Колбасы / паштеты' (length=31)
      'image' => string 'ban_prod_3.png' (length=14)
      'request_path' => string 'products/milk.html' (length=18)
  protected '_idFieldName' => string 'entity_id' (length=9)
  protected '_isDeleted' => boolean false
  protected '_oldFieldsMap' => 
    array
      empty
  protected '_syncFieldsMap' => 
    array
      empty



подскажите, пожалуйста, как вытянуть мне миниатюрку для категории?

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

02.09.2015 06:50

Свойство товарных разделов thumbnail присутствует не только в Российской сборке Magento, но и в Magento Community Edition.
По умолчанию это свойство не загружается в товарные коллекции.
Для использования этого свойства на странице массового отображения товарных разделов надо обучиться загружать свойство в товарные коллекции.
Можно также загружать товарный раздел по-отдельности, но при массовом отображении товарных разделов это будет явно некачественным решением из-за напрасного расхода системных ресурсов.

Пример и правильной загрузки коллекции, и отображении миниаютры есть в Российской сборке Magento:
app/code/local/Df/Catalog/Block/Category/Navigation.php
app/design/frontend/rm/default/template/df/catalog/category/navigation.phtml

Совсем простой пример:
/** @var Df_Catalog_Model_Category $category */
$category = Df_Catalog_Model_Category::ld(555);
echo $category['thumbnail'];
echo Mage::getBaseUrl('media') . 'catalog/category/' . $category['thumbnail'];


Поделиться темой: