Мне нужно создать многоязычный статический блок. Пока что я создал статический блок с идентификатором delivery_returns.
Я звоню в каталог \ product \ view.phtml так:
$deliveryBlock = Mage::getModel('cms/block')->load('delivery_returns');
echo $deliveryBlock->getTitle();
echo $deliveryBlock->getContent();
Я понимаю, что для перевода этого блока:
- Я должен просто создать еще один.
- Выберите мой нужный язык из поля store_view
- и оставьте статический идентификатор блока таким же, как и у оригинала.
Этот метод работает с 'footer_links', а также с другим созданным мною статическим блоком, называемым header_links, но, очевидно, он не работает с блоком delivery_returns. Изменение языка магазина не загружает соответствующий переведенный блок 'delivery_returns'
Что мне не хватает? Есть ли лучший способ добиться этого?
cms
localisation
store-view
blocks
Ruuter
источник
источник
Ответ ниже говорит об установке идентификатора магазина перед загрузкой модели, но, как отмечено @benmarks в комментарии ниже, в этом нет необходимости, как это происходит в _toHtml () блока.
Как и во многих других моделях магов, попробуйте установить желаемый идентификатор магазина перед загрузкой модели:
источник
cms/block
делает во время рендеринга; см.Mage_Cms_Block_Block::_toHtml()
(ссылка)Mage_Cms_Block_Block::_toHtml()
.Mage_Core_Model_Block
чего устанавливается идентификатор магазина.Я сделал это одним из нескольких способов:
Вы можете использовать `{{translate text =" text to translate "}} в любой статической блочной странице cms, применяя следующий обходной путь:
-
Больше информации / источник:
http://jagdeepbanga.com/blog/magento_how_add_translation_ability_into_cms_page_or_static_block.html
источник
Вы можете скачать модуль, который я создал на основе этого ответа, отсюда: https://github.com/miguelbalparda/MB_Translate/ Он предоставляет встроенный переводчик Magento на страницах CMS / Block.
источник