Tengo un módulo personalizado con una página de back-end. En la grilla, muestro el correo electrónico del cliente como el nombre de usuario. De forma predeterminada, Magento agrega un filtro a cada columna en la grilla. Ahora, cuando intento filtrar por el correo electrónico del cliente, aparece una excepción que dice que mi tabla personalizada no tiene una columna de correo electrónico. Magento está tratando de encontrar eso en mi tabla personalizada. ¿Cómo puedo solucionar este problema o cómo puedo eliminar el campo de esa columna para que el administrador no pueda filtrar por ese campo? Gracias.Magento Desactivar campo de filtro a cuadrícula de administrador
Respuesta
Añadir la opción
'filter' => false
a la columna que desea quitar el filtro de en la vista de cuadrícula (por ejemplo, aplicación/código/core/Mago/Admi nHtml/Bloquear/Ventas/Pedido/Grid.php)
$this->addColumn('email', array(
'header' => Mage::helper('module')->__('Email'),
'align' =>'left',
'index' => 'email',
'filter' => false,
));
supongo que quería decir "¿cómo puedo eliminar el campo de esa columna para que el administrador puede 't filtro con este campo"
Si es así, te puedo decir cómo quitar el campo de correo electrónico.
abierto /app/code/local/Namespace/Module/Block/Adminthml/Module/Grid.php
En algún lugar de los _prepareColumns función protegida() que debe encontrar algo como:
$this->addColumn('email', array(
'header' => Mage::helper('module')->__('Email'),
'align' =>'left',
'index' => 'email',
));
Solo comenta estas líneas.
Y cuidado que, en el método __construct en el comienzo mismo de toda la clase, usted no tiene
$this->setDefaultSort('email');
Si es así, cambiarlo a
$this->setDefaultSort('id'); // if you have an id field in your module.
Si usted no tiene una columna de correo electrónico en la tabla personalizada, entonces supongo que está creando su red por unirse a la tabla personalizada a un núcleo tabla que contiene la dirección de correo electrónico de los usuarios, como customer_entity
.
Cuando filtra en una columna, Magento usa el índice de columna para producir la cláusula where. Que en su caso dará algo como WHERE email LIKE '%filter value%'
, pero no encontrará el correo electrónico en su tabla personalizada.
Puede solucionarlo usando filter_index
para indicar explícitamente a Magento qué tabla y qué columna usar al compilar la cláusula where. Intentar algo como esto
$this->addColumn('email', array(
'header' => Mage::helper('module')->__('Email'),
'index' => 'email',
'filter_index' => 'core_table.email',
));
donde core_table
es la tabla que se están uniendo con.
- 1. Magento desactivar la rejilla de clasificación y filtrado
- 2. Campo de elección de administrador de Django
- 3. Adición de encargo JS a un campo Django administrador
- 4. colección Magento - filtro por varios campos
- 5. Desactivar el botón "recargar cuadrícula" en nav
- 6. administrador de Django, objetos de filtro para formset en línea
- 7. clasificación de la columna de la cuadrícula Magento
- 8. Magento - Desactivar mediante programación la indexación automática
- 9. Magento - Magento actualización de 1.6.2 a 1.7.0.2
- 10. Desactivar tabstop entre columnas en una cuadrícula de datos WPF
- 11. Magento - Filtro de recopilación por matriz Mantener pedido
- 12. Magento - ¿Cómo consultar el nombre del rol de administrador?
- 13. Marco de eCommerce, Actualmente mirando a Magento
- 14. acceso a magento denegado
- 15. Blackberry - Administrador de campo vertical de desplazamiento automático
- 16. Magento campo de formulario de carga de imágenes
- 17. Agregando un campo personalizado al módulo de suscripción de Magento
- 18. filtro de campo ForeignKey de administración de Django
- 19. Magento - Comprobando si un administrador y un cliente están conectados
- 20. Magento: Administrador recibe correo electrónico en la nueva orden
- 21. Campos centrados horizontalmente en un administrador de campo vertical
- 22. Cómo desactivar/activar el editor WYSIWYG en Magento 1.4
- 23. Líneas de cuadrícula en excel a través de la interoperación
- 24. ¿puede un campo magento adminhtml depender de más de un campo o valor?
- 25. Administrador de Django: ¿Cómo puedo filtrar en un campo entero para un rango específico de valores?
- 26. Magento Obtener el filtro seleccionado en la Navegación en capas
- 27. Magento - valor predeterminado para el campo de administración
- 28. Desactivar campo de texto Enfoque automático en Javascript
- 29. cliente Deshabilitar en Magento
- 30. Administrador de Django: ¿Agregar TinyMCE solo a un campo de texto en particular?
ok, quiero mostrar la columna, pero elimine el campo en la parte superior de la columna, ¿cómo puedo hacer eso? –
si hago eso, elimino la columna, no quiero eliminar la columna, solo el campo en la parte superior, que se usa para filtrar –