¿Cómo puedo agregar una nueva columna a la sales_flat_order_grid
tabla y asegurarme de que los valores se inserten correctamente allí?
La "fuente" de la nueva columna es una columna personalizada a la que hemos agregado sales_flat_order
, llamémosla foo
. AFAICT, hay tres formas foo
de aparecer en la cuadrícula de pedidos principal:
JOIN
Lasales_flat_order_grid
colección ensales_flat_order
.- Problema: los filtros ya no funcionan debido a columnas ambiguas (ya que ambas tablas tienen nombres de columna similares)
- Haga que la cuadrícula use
sales_flat_order
datos en lugar desales_flat_order_grid
.- Problema: las columnas no están indexadas, por lo que el filtrado es terriblemente lento. Parece una tontería agregar al índice los mismos datos indexados en la
sales_flat_order_grid
tabla no utilizada .
- Problema: las columnas no están indexadas, por lo que el filtrado es terriblemente lento. Parece una tontería agregar al índice los mismos datos indexados en la
- Agregue una nueva columna
sales_flat_order_grid
y asegúrese de que el valor se actualice allí
No puedo entender cómo sales_flat_order_grid
se está actualizando, por lo tanto, no sé cómo agregar esta nueva columna. ¿Alguna idea?
fuente
He hecho lo mismo Se agregó el campo 'order_type' en orden y se mostró en la cuadrícula. Funciona perfectamente en Magento ver 1.7.0.2
¿Cómo agregar el campo Tipo de orden en la cuadrícula de órdenes de venta en admin?
1) Tenemos que crear un archivo sql de instalación con el siguiente código.
2) Anule el archivo Mage_Adminhtml_Block_Sales_Order_Grid y agregue el código siguiente.
3) Cree un evento de observador para agregar / actualizar el valor del campo de tipo de orden
Abra su módulo / etc / config.xml
4) Cree un archivo de observador de la clase Mycompany_Mymodule_Model_Adminhtml_Observer
fuente
Solía seguir un código similar. Funciona bien
fuente