如何从类别在Magento使用getThumbnailUrl()显示缩略图(how to displ

2019-08-02 03:01发布

我有蜜蜂试图使这项工作,但没有运气,基本上我需要显示的内容块上的主菜单类别和我一样,但现在我需要到旁边的类别名称显示的内容块内的缩略图categorie。 我创建的应用程序/德兴/ fronend /默认/主题/模板/目录/导航/ category_listing.php,看起来像内一个新的自定义模块:

<div class="box layered-nav">
    <div class="head">
    </div>
    <div class="border-creator">
      <div class="narrow-by">
          <dl id="narrow-by-list">

         <dd>
         <ol>        
        <?php foreach ($this->getStoreCategories() as $_category): ?>
            <dt>
             <a href="<?php echo $this->getCategoryUrl($_category) ?>"<?php if ($this->isCategoryActive($_category)): ?> class="active"<?php endif ?>><?php echo $this->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> 

            </dt>
        <?php endforeach ?>

       </ol>
      </dd>
      </dl><script type="text/javascript">decorateDataList('narrow-by-list')</script>
    </div>
   </div>
</div>

然后我加入到这个应用程序/代码/核心/法师/目录/型号/ Categorie.php

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

任何想法,为什么不拉和显示图像? 我已经加入到使用管理控制台中的类别,清除缓存并刷新数据,任何想法?

Answer 1:

使用此功能,下面显示的类别缩略图

   public function getThumbnailImageUrl() 
   {
      $url = false;

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

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

然后,使用任何类别:

$ _imageUrl = $这 - > getCurrentCategory() - > getThumbnailImageUrl()

你可以得到的缩略图。

请参阅本文http://www.douglasradburn.co.uk/getting-category-thumbnail-images-with-magento/



Answer 2:

有没有需要改变应用程序/代码/本地/法师/目录/型号/ 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}' />";


Answer 3:

这里是我的解决方案上的Magento 1.7.0.2工作

创建子文件categories.phtml

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

注意到从哪里拉的缩略图。 您需要在您的网站添加的绝对路径www.yourwebsitenamehere.com以下。

子categories.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.phpapp/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;

}

后端Magento的。
1.选择目录>管理类别。
2.创建或编辑主要的类别,将显示来自子类别的缩略图。
3.在显示设置标签
4.显示模式:仅静态块
5. CMS块:子类别清单
6.是否锚:无
7.缩略图:选择你的文件

如果您没有看到您的修改一定要清空Magento缓存。



文章来源: how to display thumbnail from category using getThumbnailUrl() in Magento