我实际上可以通过安装脚本添加一个类别,但是由于某些原因,某些字段没有正确设置。这里是我的代码如何通过安装脚本添加类别到Magento?
$this->startSetup();
Mage::register('isSecureArea', 1);
$category = Mage::getModel('catalog/category');
$category->setPath('1/2') // set parent to be root category
->setName('Category Name')
->setUrlKey('category-name')
->setIsActive(0)
->setIncludeInMenu(1)
->setInfinitescroll(1)
->setDisplayMode('PAGE')
->setLandingPage($idToCmsBlock)
->setPageLayout('anotherLayoutThanDefault')
->setCustomUseParentSettings(0)
->setCustomLayoutUpdate('<reference name="head"><action method="addCss"><stylesheet>css/somecss.css</stylesheet></action></reference>')
->save();
$this->endSetup();
运行此脚本后,我有一个使用EAVs表中设置的所有值创建的类别。 但是,即使我重新编制扁平表,扁平表也会缺少displayMode,landingPage,pageLayout,customLayoutUpdate。
奇怪的是,如果我去管理员,我可以看到所有这些领域正确设置,但如果我在我的前台去大多数这些领域被忽略。我将不得不去管理员,取消这些价值,并重新设置他们为每个人正常工作。
也让我说我使用setEnabled(1),我的类别将在管理中“启用”,但不显示在前端。
PS:我有平面类别激活,如果我禁用它似乎工作正常,但如果我重新索引它仍然无法正常工作。
到目前为止,我认为我能够发现它与平板电脑有关。如果我禁用他们,我的类别将正常工作。 – zzarbi