Agregue un atributo EAV al modelo de entidad de orden
Cree un nuevo módulo local o tome uno existente, en el que coloque los cambios / adiciones necesarios.
Cree un atributo EAV para el modelo de orden ejecutando el código php como se muestra a continuación:
$ c = array (
‘entity_type_id’ => 11, // 11 es el id del modelo de entidad “ventas / pedido”. Esto podría ser diferente en
¡nuestro sistema!
- ¿Qué se siente al tomar Strattera para ADD?
- ¿El beneficio de ejercicio combinado adhd más que agregar desatento?
- ¿Es común que las personas con ADD / ADHD estudien mejor en aviones que en otros lugares?
- ¿Cómo es dar tutoría a alguien con ADD / ADHD?
- ¿Se pueden diagnosticar TDA y TEPT como bipolares?
¡Mire la tabla de la base de datos “eav_entity_type” para la ID correcta!
‘attribute_code’ => ‘myorder_customercomment’,
‘backend_type’ => ‘text’, // MySQL-DataType
‘frontend_input’ => ‘textarea’, // Tipo del campo de formulario HTML
‘is_global’ => ‘1’,
‘is_visible’ => ‘1’,
‘is_required’ => ‘0’,
‘is_user_defined’ => ‘0’,
‘frontend_label’ => ‘Comentario del cliente’,
);
$ attribute = new Mage_Eav_Model_Entity_Attribute ();
$ attribute-> loadByCode ($ c [‘entity_type_id’], $ c [‘attribute_code’])
-> setStoreId (0)
-> addData ($ c);
$ attribute-> save ();
Este código debe ejecutarse una vez en el entorno Magento propuesto, para que se cree el atributo eav. Una opción para hacer esto es crear y ejecutar un archivo PHP como el siguiente:
<? php
require_once ‘app / Mage.php’;
umask (0);
Mage :: app (‘por defecto’);
// Agrega el código que quieres ejecutar aquí:
?>
Agrega un campo de área de texto HTML en una de las plantillas de pago
Sobrescriba una plantilla de pago para agregar el campo del área de texto para comentarios / observaciones. Hicimos esto en el archivo app / design / frontend / default / default / template / checkout / onepage / agreement.phtml. Coloque el nuevo área de texto dentro del formulario (apertura y cierre de etiquetas de formulario) para asegurarse de que la variable se envíe. (Tenga en cuenta que debe “habilitar los Términos y condiciones” en Sistema-> Configuración en el Panel de administración si desea colocar el área de texto en agreement.phtml. Puede habilitarlo a través del Panel de administración de Magento: Sistema-> Configuración-> Ventas -> Realizar pedido-> Opciones de pago-> Habilitar términos y condiciones)
<textarea name = "myCustomerOrderComment" id = "myCustomerOrderComment" style = ”width: 450px;
altura: 100px; ”>
En la comprobación Agarra el comentario enviado de las variables de solicitud
Después de que el cliente realizó el pedido, capture el comentario enviado de las variables de solicitud y llame al establecedor creado automáticamente para el atributo de comentario del pedido, lo hicimos con una clase auxiliar a la que llama el evento checkout_type_onepage_save_order al realizar el pedido.
Para esto, necesitará una configuración xml en su módulo local (app / code / local / MyCompany / MyOrder / etc / config.xml):
0.1.0
MyCompany_MyOrder_Helper
modelo
MyCompany_MyOrder_Helper_CustomerOrderComment
setCustomerOrderComment
Y también necesita la clase de ayuda (app / code / local / MyCompany / MyOrder / Helper / CustomerOrderComment.php):
<? php
clase MyCompany_MyOrder_Helper_CustomerOrderComment extiende Mage_Core_Helper_Abstract
{
función pública setCustomerOrderComment ($ observador)
{
$ orderComment = $ this -> _ getRequest () -> getPost (‘myCustomerOrderComment’, false);
$ observer-> getEvent () -> getOrder () -> setMyorderCustomercomment ($ orderComment);
}
}
Eso es todo lo que necesita para guardar el comentario automáticamente en Magento. Ahora, como último paso, todo lo que tiene que hacer es personalizar las plantillas donde desee que se muestre el comentario (no olvide escapar de los datos con algo como htmlspecialchars ()):
<? php
// Si hay un objeto de orden:
echo $ _order-> getMyorderCustomercomment ();
// Si solo tiene el ID de pedido (por ejemplo, 11), primero debe crear una instancia:
$ _order = Mage :: getModel (‘sales / order’) -> load (11);
echo $ _order-> getMyorderCustomercomment ();
?>
Para saber más con videos gratis, visite: Proceso de pedido de Magento