前端的Magento 1.7类别属性

时间:2013-07-04 17:42:08

标签: magento attributes magento-1.7 categories frontend

我在Magento中为类别创建了自定义属性;但奇怪的是,我无法把它抓到前端。自昨天以来,我一直试图找到解决方案,但无济于事。

我在不同论坛上看过多个帖子,包括SO。我尝试了多种解决方案。例如:

Mage::registry('current_category')->getAttributes()

还有以下内容:

Mage::getSingleton('catalog/layer')->getCurrentCategory()->getAttributes()

我认为我做同样的事情。问题是,它们都返回了以下错误,我似乎无法弄清楚:

  

致命错误:调用未定义的方法   Mage_Catalog_Model_Resource_Category_Flat :: loadAllAttributes()in   X:.... \ project \ app \ code \ core \ Mage \ Catalog \ Model \ Category.php就行了   289

此外,尝试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,
));

我的问题是:

  1. 如何获取我制作的自定义属性并在其中使用它 前端?
  2. 该属性的具有的参数是什么 在后端和前端正常运行?

1 个答案:

答案 0 :(得分:0)

如果打开平面目录,Magento中的集合页面将使用平面表。

如果添加任何额外的属性,将不在平台中。

索引是更新平面表的方法。

因此,当您为新创建的属性添加了重新索引列并添加了数据时。