我在 Magento 中为类别创建了一个自定义属性;但奇怪的是,我无法将它抓取到前端。从昨天开始,我一直在尝试解决这个问题,但无济于事。
我在不同的论坛上看到了多个主题,包括 SO。我尝试了多种解决方案。例如:
Mage::registry('current_category')->getAttributes()
还有以下内容:
Mage::getSingleton('catalog/layer')->getCurrentCategory()->getAttributes()
我相信它会做同样的事情。问题是,它们都返回以下我似乎无法弄清楚的错误:
致命错误:在 X:....\project\app\code\core\Mage\Catalog\Model\Category.php 第 289 行调用未定义的方法 Mage_Catalog_Model_Resource_Category_Flat::loadAllAttributes()
此外,尝试 var_dump getData() 不会返回此属性,即使它(该属性)确实存在于“管理类别”下的后端,即使它可以修改和保存并保持上次保存的方式当您刷新页面时。我还尝试了多种解决方案,建议使用循环遍历所有类别并获取属性;但这也没有用。
打印以下内容:
Mage::registry('current_category')->debug()
正如另一个线程建议的那样,没有返回我创建的属性,但它返回了默认属性。
我检查了多个站点,以确保在创建属性期间没有遗漏任何关键内容,到目前为止,我还没有发现任何遗漏的内容。
创建属性时;使用以下参数:
$this->addAttribute('catalog_category', 'used_by', array(
'group' => 'General',
'input' => 'textarea',
'type' => 'text',
'label' => 'Used by',
'backend' => '',
'visible' => true,
'required' => false,
'wysiwyg_enabled' => true,
'visible_on_front' => true,
'is_html_allowed_on_front' => true,
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
));
我的问题是:
- 如何获取我制作的自定义属性并在前端使用它?
- 要使属性在后端和前端正常运行,必须具备哪些参数?