¿Cómo puedo establecer los valores predeterminados por sitio web en config.xml?

13

Con los módulos personalizados, prefiero poner la configuración del sistema en config.xml (la parte de configuración predeterminada). Esto hace que sea más fácil cuando transfiero el código de mi máquina local a un entorno de desarrollo / puesta en escena / en vivo, ya que no necesito ingresar al administrador y volver a ingresar a la configuración. También hay otros beneficios: puede ser más rápido hacer cosas en un editor de texto y siempre puede tener un valor predeterminado sensato si hay algo en config.xml para eso.

Me gustaría hacer esto para una tienda Magento de múltiples sitios web que tiene diferentes precios de envío para diferentes sitios web (y vistas de la tienda). Por el momento, mis tiendas se llaman 'euro', 'usd' y 'gbp'. La vista 'euro' toma los valores predeterminados del administrador sin anulación en el nivel del sitio web, mientras que las vistas 'gbp' y 'usd' están con la anulación en el nivel del sitio web.

    ...
    <default>
    <carriers>
        <my_courier>
            <stuff_goes_here_such_as_price/>
            <price>15.00</price>
            ...
        </my_courier>
    </carriers>
</default>

Gato de henry
fuente

Respuestas:

21

Puede agregar esto usando el <stores>nodo en su config.xml de la siguiente manera.

<stores>
    <store_code>

También puede hacer esto a nivel de sitio web con el <websites>nodo en su config.xml de la siguiente manera.

<websites>
    <website_code>

Los únicos ejemplos de esto en el código central están en el lado del administrador porque estos son los únicos sitios web o tiendas que están garantizados para estar en el sistema. Mira app/code/core/Mage/Adminhtml/etc/config.xmlpor un ejemplo.

<websites>
    <admin>
        <web>
            <routers>
                <frontend>
                    <disabled>true</disabled>
                </frontend>
            </routers>
            <default>
                <no_route>admin/index/noRoute</no_route>
            </default>
        </web>
    </admin>
</websites>
David modales
fuente
No sabia esto! ¿Puede expandirse para mostrar esto con valores predeterminados de ejemplo para que quede claro a dónde va?
Jonathan Hussey
¡Muchas gracias! Sospecho que tendré que experimentar un poco para lograr que esto funcione realmente con mi módulo en particular, ¡pero es genial aprender algo nuevo! ¡Gracias de nuevo!
El gato de Henry
@David Manners: en realidad está funcionando bien. Siguiente pregunta: las casillas de verificación de 'uso predeterminado', ¿cómo puedo desactivarlas a nivel de tienda / sitio web?
El gato de Henry
¡Vale la pena señalar que esto también funciona en Magento 2!
Josh Davenport