Mit neuester Version 1.8.1 CE cookie_restriction_notice_block
ging an before_body_end
in - Layout (/app/design/frontend/base/default/layout/page.xml). Die Benutzer wissen jedoch nichts über diesen Hinweis und es wird auch nicht erwartet, dass sie Cookies zulassen.
Ich habe diesen Code einfach ungesetzt global_cookie_notice block
aus before_body_end
und legen Sie sie in after_body_start
in der Layout - Datei local.xml
in meinem Thema:
<reference name="before_body_end">
<action method="unsetChild"><name>global_cookie_notice</name></action>
</reference>
<reference name="after_body_start">
<block type="page/html_cookieNotice" name="global_cookie_notice" as ="global_cookie_notice" template="page/html/cookienotice.phtml" before="-" />
</reference>`
Ich kann jedoch nicht herausfinden, wie für verschiedene Geschäftsansichten übersetzt werden soll. Das Ändern des Texts wie gewohnt im CMS-Block in admin ( cookie_restriction_notice_block
) für verschiedene Geschäftsansichten hat bei mir nicht funktioniert.
Wie kann ich cookie_restriction_notice_block
für verschiedene Geschäftsansichten übersetzen ?
quelle
Antworten:
in app / code / core / Mage / Page / Block / Html / CookieNotice.php:
Vor dem Laden des Blocks sollten Sie die Store ID festlegen:
Sie können Ihre lokale App / code / local / Mage / Page / Block / Html / CookieNotice.php verwenden
quelle
Dieser Block wird vom CMS-Modul im Standardspeicherbereich installiert in
app/code/core/Mage/Cms/data/cms_setup/data-upgrade-1.6.0.0.1-1.6.0.0.2.php
:Die übersetzten Versionen, die Sie im Administrator erstellen möchten , funktionieren, solange sie auf den entsprechenden Speicherbereich beschränkt sind.
NB: Die Parameter des Datenladens können in debuggt werden
Mage_Cms_Model_Resource_Block::_getLoadSelect()
.quelle
cms_block_store
Tabelle nach demstore_id
Wert der englischen Version suchen?Nein, CMS-Blöcke werden nicht explizit in den Speicherbereich geladen. Die
load()
Methode endet mit einemfetchRow($select)
Aufruf, der nur die erste Zeile zurückgibt (sieheMage_Core_Model_Resource_Db_Abstract::load()
). In diesem Fall wurde der Block aus dem Installationsskript hinzugefügt.Die
Mage_Cms_Model_Resource_Block::_getLoadSelect()
Methode benötigt eine Geschäfts-ID, um diecms_block_store
Tabelle zu verbinden . Ohne Speicher - ID - Einstellung$object->getStoreId()
istNULL
...... ein Fehler, der immer noch besteht :( Denken Sie, https://magento.stackexchange.com/a/18380/46249 ist korrekt ...
quelle