De hecho, puedo agregar una categoría a través de la secuencia de comandos de configuración; por algún motivo, algunos de los campos no se configuran correctamente. He aquí es mi código¿Cómo agregar una categoría a Magento mediante el script de configuración?
$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();
Después de ejecutar este script, tengo una categoría creada con todo el valor establecido en la tabla Eavs. Sin embargo, en la tabla plana faltarán displayMode, landingPage, pageLayout, customLayoutUpdate incluso si vuelvo a indexar la tabla plana.
Lo extraño es que si entro en el administrador, puedo ver todos los campos correctamente configurados, pero si voy a mi interfaz la mayoría de esos campos se ignoran. Tendré que recurrir al administrador, deshacer esos valores y restablecerlos para que cada uno de ellos funcione correctamente.
También decir que utilizo setEnabled (1), mi categoría será "habilitar" en el administrador pero no aparecerá en la interfaz.
PD: tengo la Categoría plana activada, si la desactivo parece funcionar bien, pero si la vuelvo a indexar, todavía no funciona.
Hasta ahora creo que pude descubrir que estaba relacionado con las tablas planas. Si los desactivo, mis categorías funcionarán correctamente. – zzarbi