我正在重新设计一个客户端的顶级类别页面,我希望通过使其具有动态性来面向未来的设计。为了进一步澄清,我希望每当客户端添加,编辑或删除当前级别以下的类别时,它都会反映在前端而不需要编辑代码。
现在,我发现了一些关于该主题的博客文章,甚至还有一篇论坛帖子: http://www.templatemonster.com/help/magento-listing-sub-categories-on-a-category-page.html how to display thumbnail from category using getThumbnailUrl() in Magento
然而,这些都是以不同的方式处理它。 Stack帖子也引导我: http://www.douglasradburn.co.uk/getting-category-thumbnail-images-with-magento/
我发现我需要添加拉动缩略图的功能(Magento的方式)。但是,这就是我需要的!这里的最终目标是使用类别后端的缩略图,而不是图像。我们正在按照预期在其他地方使用Image。我还希望能够从后端到前端引入类别描述,以便添加一些额外的信息,如链接,真实描述等。
如果有人可以帮助我吗?我浏览了上面的例子和链接,但是,Thumbnail图像并没有拉到前端,总的来说,我只是得到了一些奇怪的行为。当我自己进一步研究时,任何提示都会受到赞赏。
谢谢!
答案 0 :(得分:0)
请尝试以下代码。我用这个
实现了同样的功能<?php $category_path = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA)."catalog/category/"; ?>
<?php if (!Mage::registry('current_category')) return ?>
<?php $_categories = $this->getCurrentChildCategories() ?>
<?php $_count = is_array($_categories)?count($_categories):$_categories->count(); ?>
<?php if($_count): ?>
<div class="static-page-listing static-page-listing1">
<ul class="products-grid">
<?php $num = 0; ?>
<?php foreach ($_categories as $_category): ?>
<?php if($_category->getIsActive()):
$num++;
$selImage = "SELECT value FROM catalog_category_entity_varchar WHERE attribute_id = '126' AND entity_id = '".$_category->getId()."'";
$catImage = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchOne($selImage);
if(!$catImage) $catImage = "no_image.jpg"; ?>
<li class="category-item <?php if($num%2==0) echo 'item-right'?>">
<a href="<?php echo $this->getCategoryUrl($_category) ?>">
<div style="float:left; width:100%;">
<img src="<?php echo $category_path.$catImage?>">
</div>
<div>
<h3><?php echo $this->htmlEscape($_category->getName()) ?></h3>
<h6 style = "color:red;">VIEW ALL</h6>
</div>
</a>
</li>
<?php endif; ?>
<?php endforeach ?>
</ul>
</div>
<?php endif; ?>
答案 1 :(得分:0)
NEW UPDATE:
以下代码有效:
<?php echo $cur_category->getDescription(); ?>
但是,您需要确保检查您的范围!没有意识到我的个人商店范围没有被检查以遵循“所有范围”的默认值,我修复了这一点,并且上面的代码在添加到“描述”区域时对我有效!
谢谢Stack!
上一次更新:
我现在有代码工作,我在网上找到,它涉及我添加一个功能来拉取类别缩略图。有用!以下是模板的标记:
<div class="category-products">
<ul class="products-grid">
<?php
$_categories=$this->getCurrentChildCategories();
if($_categories->count()):
$categorycount = 0;
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 ($categorycount == 0){
$class = "first";
}
elseif ($categorycount == 3){
$class = "last";
}
else{
$class = "";
}
?>
<li class="item <?=$class?>">
<a href="<?php echo $cur_category->getURL() ?>" title="<?php echo $this->htmlEscape($cur_category->getName()) ?>">
<img src="<?php echo $cur_category->getThumbnailUrl() ?>" width="100" alt="<?php echo $this->htmlEscape($cur_category->getName()) ?>" />
</a>
<h2>
<a href="<?php echo $cur_category->getURL() ?>" title="<?php echo $this->htmlEscape($cur_category->getName()) ?>">
<?php echo $this->htmlEscape($cur_category->getName()) ?>
</a>
</h2>
<p>
DESCRIPTION
</p>
</li>
<?php
endif;
if($categorycount == 3){
$categorycount = 0;
echo "</ul>\n\n<ul class=\"products-grid\">";
}
else{
$categorycount++;
}
endforeach;
endif;
?>
</ul>
现在,在您看到“DESCRIPTION”的地方,我想从后端提取类别描述数据并将其输出到那里。基本上,允许动态创建/修订顶级类别页面。
我怎么能拉出描述呢?我不是Magento的专家,也许我错过了一些基本的东西,但我无法让它发挥作用。
谢谢!