Domanda

dicono che ci sono due temi in un pacchetto:

  • Base (Imposta come predefinito)
  • Bambino (Imposta come tema principale)

Sia contenere un local.xml nella cartella di layout -. Solo il local.xml dal tema bambino sarà caricato, in modo che qualsiasi CSS, JS aggiornamenti o layout nel Base local.xml non vengono caricati

Senza usare page.xml (così permettendo la stessa funzionalità local.xml ma con l'ereditarietà), come avrei un file XML per base e ed uno per il bambino che entrambi vengono chiamati?

Sarebbe questo richiederà la costruzione di un modulo con un unico scopo di aggiungere un file XML utilizzabile (ad esempio: base-local.xml)?

È stato utile?

Soluzione

Si sono corretti, e questo è un valido approccio e utilizzato per i siti con più temi. Ci sono un paio di ulteriori (poco conosciute, raramente utilizzati) opzioni che può essere utilizzato per gli aggiornamenti di layout che si applicano al negozio di ambiti diversi:. La maniglia negozio e la maniglia tema

Dalla azione di controllo superclasse Mage_Core_Controller_Varien_Action (link) :

public function addActionLayoutHandles()
{
    $update = $this->getLayout()->getUpdate();

    // load store handle
    $update->addHandle('STORE_'.Mage::app()->getStore()->getCode());

    // load theme handle
    $package = Mage::getSingleton('core/design_package');
    $update->addHandle(
        'THEME_'.$package->getArea().'_'.$package->getPackageName().'_'.$package->getTheme('layout')
    );

    // load action handle
    $update->addHandle(strtolower($this->getFullActionName()));

    return $this;
}

Per un negozio con il codice 'deutsch' e una configurazione tema del pacchetto di 'default', 'tedesco' tema, le seguenti maniglie si applicherebbe a quasi ogni vista, come la maggior parte vista li usano:

<STORE_deutsch>
<THEME_frontend_default_german>

Con l'implementazione queste maniglie può essere utilizzato più o meno allo stesso modo in cui <default />.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top