Domanda

ho aggiunto traduzione nelle mie cartelle di locale e anche caricato modelli e assegnato in config del sistema. Nulla sembra tradurre questo email. Quando mi guardo allo product_alert_stock tavolo vedo anche solo per il sito è stato salvato, ma i miei locali sono diversi a livello storeview.

Così, quando vado al mio storeview francese e clicca sul link di sottoscrivere, mettere la parte posteriore del prodotto in magazzino ed eseguire il cron catalog_product_alert, continuo a ricevere la posta inglese.

Tutte le idee su che cosa potrebbe è andato storto o se si tratta di un bug?

È stato utile?

Soluzione

Il TD; DR: Mi sarebbe classificarlo come un bug.

Un po 'di background:

Il negozio per le notifiche relative al prodotto sempre è determinato come segue in Mage_ProductAlert_Model_Email::send():

....
    $store      = $this->_website->getDefaultStore();
    $storeId    = $store->getId();
....
    $templateId = Mage::getStoreConfig($templateConfigPath, $storeId);
....
    Mage::getModel('core/email_template')
        ->setDesignConfig(array(
            'area'  => 'frontend',
            'store' => $storeId
        ))->sendTransactional(...)

Il modo che utilizza sempre l'archivio predefinito del sito web specificato. Il sito, a sua volta viene impostato durante la sottoscrizione. Questo è quando un cliente sottoscrive alle notifiche la corrente ID sito vengono memorizzati con il record di sottoscrizione:

    $model  = Mage::getModel('productalert/price')
        ->setCustomerId(Mage::getSingleton('customer/session')->getId())
        ->setProductId($product->getId())
        ->setPrice($product->getFinalPrice())
        ->setWebsiteId(Mage::app()->getStore()->getWebsiteId());
    $model->save();

Quindi, anche se il cliente ha registrato in, consente di dire, la vista negozio francese, e ha sottoscritto le notifiche nella vista negozio francese, se il negozio di default per il sito web sembra essere la vista negozio inglese, che specifica che verrà utilizzato template.

Per risolvere il comportamento, riscrivere Mage_ProductAlert_Model_Email::send() e utilizzare i clienti STORE_ID invece (per esempio).

Altri suggerimenti

Non so cosa potrebbe andare male, ma vorrei iniziare il debug come segue:

Verificare se siete sicuri al 100% che si sta modificando il modello giusto. Prova a modificare quello inglese che stai ricevendo, e verificare se l'e-mail riflette le modifiche. In caso contrario, il bingo, trovare quello giusto.

Se lo fa: prova se altre variabili dei negozi siano inserite correttamente nella e-mail, come negozio url:

<a href="{{store url=""}}">Store URL</a>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top