Atributos estáticos son atributos almacenados en la tabla principal de una entidad - para los productos del catálogo, catalog_product_entity
. Por ejemplo, el atributo sku
de productos de catálogo se define como static
. Magento siempre carga los atributos estáticos, y son útiles especialmente si desea recuperar información rápidamente u optimizar la búsqueda de datos. Un inconveniente de este tipo de atributos es que no puede tener valores específicos de la tienda, que es una de las ventajas del sistema Magento EAV.
Incluso si define un atributo como static
, Magento no lo tratará como tal a menos que tenga una columna correspondiente en la tabla de entidades principal. Si la columna no está ahí, Magento trata el atributo como varchar
por defecto y lo busca en la tabla varchar EAV para el modelo - para los productos, catalog_product_entity_varchar
.
Si desea utilizar atributos estáticos en su proyecto, debe hacer 2 cosas en sus scripts de instalación / actualización. Primero, debe agregar una columna a la tabla de entidad principal, con la definición de columna correcta. A continuación, debe instalar su atributo utilizando el addAttribute()
método y definir su atributo como static
. Consulte los scripts de instalación de Mage_Catalog
para comprender mejor cómo funcionan las cosas en este caso.
Si planea ejecutar consultas a menudo basadas en sus atributos estáticos personalizados, considere agregar un índice en la nueva columna para acelerar la recuperación de datos.