En este tutorial, voy a demostrar la configuración del módulo personalizado en el back-end de Magento. Siempre es útil proporcionar un conjunto de opciones configurables del módulo en el back-end, lo que permite a los administradores configurar fácilmente las configuraciones específicas del módulo. Repasaremos el proceso de configuración de la configuración del módulo creando un módulo personalizado en Magento.
Como desarrollador, durante el proceso de creación de módulos personalizados, puede sentir que sería bueno si pudiera transferir el control de ciertas configuraciones específicas de módulos al back-end. Magento le permite lograr esto utilizando un sistema de configuración basado en archivos XML. Solo necesita configurar los archivos de acuerdo con las convenciones de Magento, ¡y serán recogidos de forma automática! La mayoría de las veces, tendrá que lidiar con una gran cantidad de configuraciones configurables proporcionadas por los módulos principales mientras configura la tienda de cliente básica..
Supongo que está familiarizado con el proceso básico de creación de módulos en Magento. Este es un buen artículo, si desea obtener más información sobre los módulos personalizados en Magento. Dicho esto, Magento sigue la convención sobre el paradigma de configuración, que debería facilitar las cosas si eres un novato en el proceso de desarrollo de módulos personalizados..
Para el curso de este tutorial, crearé un módulo personalizado básico llamado "CustomConfig" que proporciona la configuración de back-end bajo el Sistema> Configuración menú. Aquí está la lista de archivos necesarios para la configuración deseada:
app / etc / modules / Envato_All.xml
: Es un archivo usado para habilitar nuestro módulo personalizado..app / code / local / Envato / CustomConfig / etc / config.xml
: Es un archivo de configuración del módulo..app / code / local / Envato / CustomConfig / etc / system.xml
: Es un archivo que declara las opciones de configuración de nuestro módulo..app / code / local / Envato / CustomConfig / Model / Options.php
: Es un archivo modelo que proporciona las opciones para ciertos elementos de configuración de forma.app / code / local / Envato / CustomConfig / Helper / Data.php
: Es un archivo usado por el sistema de traducción Magento..Para empezar, crearemos un archivo habilitador de módulos. Cree un archivo "app / etc / modules / Envato_All.xml" y pegue el siguiente contenido en ese archivo. Hemos utilizado "Envato" como espacio de nombres de nuestro módulo y "CustomConfig" como nombre de nuestro módulo. Habilitará nuestro módulo "CustomConfig" por defecto.
cierto local
A continuación, necesitamos crear un archivo de configuración del módulo. Cree "app / code / local / Envato / CustomConfig / etc / config.xml" y pegue el siguiente contenido en ese archivo.
0.0.1 Envato_CustomConfig_Helper Envato_CustomConfig_Model Sección de configuración personalizada
Debe estar familiarizado con el modelo y la declaración de la clase auxiliar según las convenciones de Magento. Por supuesto, el
tag es nuevo para usted, que es algo que nos preocupa en el contexto de este tutorial. Revisemos cada etiqueta en detalle para entender lo que significa.
los
La etiqueta se utiliza para definir los recursos del lado de administración. En nuestro ejemplo, la página de configuración de nuestro módulo es un recurso. Además, hemos usado el
etiqueta para envolver un
etiqueta, lo que significa que solo será accesible para usuarios autenticados.
Las siguientes dos etiquetas se utilizan para definir la ruta de acceso de nuestra página de configuración de back-end. Por lo tanto, la ruta a nuestra página de configuración se parece a "admin / system / config / customconfig_options". Por supuesto, la última etiqueta.
Debe ser único para que no entre en conflicto con otras extensiones..
Avanzando, definamos el archivo más importante, "system.xml". Cree "app / code / local / Envato / CustomConfig / etc / system.xml" y pegue el siguiente contenido en ese archivo.
1 configuración personalizada texto 1 1 1 1 texto 1 1 1 1 texto 1 1 1 1 Ejemplo de campo de texto. texto 2 1 1 1 seleccionar customconfig / options 1 1 1 1 Ejemplo de campo de selección. radios customconfig / options 2 1 1 1 Ejemplo de campo de radios.. selección múltiple customconfig / options 3 1 1 1 Ejemplo de campo multiselect.
Como puede haber adivinado, este archivo es responsable de mostrar una página de configuración de nuestro módulo en el back-end. Echemos un vistazo más de cerca a algunas de las etiquetas importantes en ese archivo.
los
La etiqueta se utiliza para definir las pestañas que se mostrarán en el lado izquierdo de la página de configuración. Y el
La etiqueta se usa para definir secciones debajo de cada pestaña..
Tratemos de entenderlo a través de un ejemplo. Ir Sistema> Configuración en la parte de atrás de Magento. Notarás que hay diferentes pestañas como General, Catálogo, Clientes, etc.
Debajo de cada pestaña, verás diferentes secciones también. Por ejemplo, bajo la Avanzado etiqueta, hay Administrador, Sistema, Avanzado y Desarrollador secciones En nuestro caso, tendremos un Ajustes de configuración personalizados sección bajo el Pestaña de configuración personalizada.
A continuación, utilizamos el
etiqueta para agrupar campos de configuración similares juntos. Por ejemplo, le gustaría mostrar campos relacionados con la imagen y campos relacionados con el correo electrónico en diferentes secciones. Para eso, hemos definido.
y
etiquetas.
Finalmente, envolvemos los campos de cada sección con el
etiqueta. En nuestro ejemplo, proporcionamos un campo de texto bajo el conjunto de campos "Sección Uno", mientras que otros campos como el cuadro de selección, el botón de opción y la selección múltiple están disponibles bajo el conjunto de campos "Sección Dos". Así que eso es todo para el archivo "system.xml".
A continuación, vamos a crear un archivo modelo "app / code / local / Envato / CustomConfig / Model / Options.php".
1, 'label' => 'One'), array ('value' => 2, 'label' => 'Two'), array ('value' => 3, 'label' => 'Three'), array ('valor' => 4, 'etiqueta' => 'Cuatro'));
No es nada especial aquí: solo se utiliza para enviar opciones a un campo de formulario de radio y seleccionar el campo de formulario en el formulario de configuración.
Finalmente, necesitaremos crear el archivo "app / code / local / Envato / CustomConfig / Helper / Data.php" solo para asegurarnos de que el sistema de traducción de Magento funcione correctamente. Es casi un archivo vacío, pero debería estar allí según las convenciones!
Hemos terminado con la configuración de archivos. En la siguiente sección, veremos cómo se ve en el back-end de Magento.
Recorra el Back-End para probar la configuración personalizada
Dirígete al final de Magento y borra todos los cachés. Se puede llegar yendo a Sistema> Gestión de caché.
Ahora ve a Sistema> Configuración para abrir la página de configuración. Usted debe notar PESTAÑA DE CONFIGURACIÓN PERSONALIZADA en el lado izquierdo de la página. Debajo de eso, el Ajustes de configuración personalizados El enlace está disponible, y al hacer clic en eso se abrirá una página de configuración para nuestro módulo. Si no puede verlo, intente cerrar sesión en la sección de administración y vuelva a iniciar sesión.
Es una interfaz bonita que se trabaja fuera de la caja, ¿no es así? Puedes jugar un poco, rellenar el formulario y hacer clic en el Guardar configuración Botón para confirmar los cambios, y Magento se encargará del resto..
Para acceder a los valores de los parámetros de configuración en el código, puede usar el
getStoreConfig
método estático Por ejemplo, puede recuperar el valor delcustom_field_one
parámetro usando la siguiente sintaxis:Mage :: getStoreConfig ('customconfig_options / section_one / custom_field_one');La sintaxis es bastante simple: debe usar el patrón "section_name / group_name / field_name" como se define en el archivo system.XML.
Conclusión
La configuración del sistema de administración es una de las partes más sólidas y útiles de Magento. ¡Magento le permite conectar parámetros de configuración personalizados muy fácilmente, gracias a la capacidad de extensión de uno de los sistemas de comercio electrónico más poderosos! Comparte tus pensamientos utilizando el siguiente feed!