gpt4 book ai didi

Magento 类别缩略图

转载 作者:行者123 更新时间:2023-12-04 09:41:43 25 4
gpt4 key购买 nike

我正在尝试使用 Magento 类别缩略图,但它不起作用。我在网上学习了很多教程(例如 http://www.douglasradburn.co.uk/getting-category-thumbnail-images-with-magento/ ),
他们都提到了这个功能:

$_category->getThumbnail()

这应该在类别模型中。我正在运行 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>

(我试图将缩略图用作它所在的菜单项)

得到它的工作。秘诀是您需要使用以下代码重新查询完整类别数据:
Mage::getModel('catalog/category')->load($_category->getId())->getThumbnail()

我有点遵循本教程:

http://www.h-o.nl/blog/using_category_images_in_your_magento_navigation/

用于在菜单中包含类别缩略图。

谢谢

最佳答案

就其值(value)而言,您的解决方案有效但效率很低。

使用:

Mage::getModel('catalog/category')->load($_category->getId())->getThumbnail()

将每个类别的页面加载时间增加百分之几,甚至可能是十分之一秒。

这样做的原因是您在获取模型集合并获取其中的项目时遇到了麻烦,然后您将添加新的数据库调用来获取每个类别的完整数据。您只需确保首先收集完整的类别数据。

您之前拥有的内容不起作用的原因是因为类别集合没有被告知它需要选择哪些属性。它实际上只是从 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>

事实上,理想情况下,您希望覆盖 ->getStoreCategories()添加通配符过滤器的函数。

我建议开通 app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php并学习编写了哪些非常酷的集合函数。掌握 EAV Collections 就像 Magento 开发人员的成人礼。一旦你这样做,你将势不可挡!

希望这可以帮助。

关于Magento 类别缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10644443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com