Tot*_*ile 7 thumbnails magento categories
我正在尝试使用Magento类别缩略图,但它无法正常工作.我在网上跟踪了很多教程(例如http://www.douglasradburn.co.uk/getting-category-thumbnail-images-with-magento/),所有这些教程都提到了这个功能:
$_category->getThumbnail()
Run Code Online (Sandbox Code Playgroud)
这应该是在Category模型中.我正在运行Magento 1.6,我无法在任何地方找到这个功能.我还下载了1.5和1.7,在那里查看,无处可寻.当我运行代码时,它没有给我任何错误,但是没有输出任何内容.
这是我的完整代码:
<ul id="nav">
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php echo $_category->getThumbnail(); ?>
<?php echo $this->drawItem($_category) ?>
<?php endforeach ?>
</ul>
Run Code Online (Sandbox Code Playgroud)
(我试图将缩略图用作存在的菜单项)
搞定了.秘诀是您需要使用以下代码重新查询FULL类别数据:
Mage::getModel('catalog/category')->load($_category->getId())->getThumbnail()
Run Code Online (Sandbox Code Playgroud)
我有点遵循本教程:
http://www.ho.nl/blog/using_category_images_in_your_magento_navigation/
在菜单中有类别缩略图.
谢谢T.
Mag*_*Guy 12
对于它的价值,您的解决方案可行,但效率很低.
使用:
Mage::getModel('catalog/category')->load($_category->getId())->getThumbnail()
Run Code Online (Sandbox Code Playgroud)
将为每个类别添加几百分之一甚至十分之一秒的页面加载时间.
这样做的原因是您已经遇到了获取模型集合并获取其中的项目的麻烦,然后您将添加新的数据库调用来获取每个类别的完整数据.您只需确保首先收集完整的类别数据.
你以前没有工作的原因是因为没有告诉类别集合需要选择哪些属性.它实际上只是从catalog_category_entity表返回平面数据,而不是与任何属性表连接.
你需要做的可能更多的是这些方面:
<ul id="nav">
<?php foreach ($this->getStoreCategories()->addAttributeToSelect("*") as $_category): ?>
<?php echo $_category->getThumbnail(); ?>
<?php echo $this->drawItem($_category) ?>
<?php endforeach ?>
</ul>
Run Code Online (Sandbox Code Playgroud)
实际上,理想情况下,您希望覆盖->getStoreCategories()函数以添加通配符过滤器.
我建议打开app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php并学习编写什么样的非常酷的集合函数.掌握EAV系列就像是Magento开发人员的成年礼.一旦你这样做,你将是不可阻挡的!
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
22895 次 |
| 最近记录: |