Я просто блуждаю по тому, как я могу получить данные конфигурации для своего настраиваемого модуля. Конфигурация может быть настроена из system->configuration
admin system->configuration
и как ее поместить в frontend?
$configValue = Mage::getStoreConfig('sectionName/groupName/fieldName');
sectionName , groupName и fieldName присутствуют в файле etc / system.xml вашего модуля.
Вышеприведенный код автоматически отображает значение конфигурации текущего просматриваемого хранилища.
Если вы хотите получить значение конфигурации любого другого хранилища, кроме текущего просматриваемого хранилища, тогда вы можете указать идентификатор хранилища в качестве второго параметра функции getStoreConfig
как getStoreConfig
ниже:
$storeId = 2; // ID of the store you want to fetch the value of $configValue = Mage::getStoreConfig('sectionName/groupName/fieldName', $storeId);
вы должны использовать следующий код
$configValue = Mage::getStoreConfig( 'sectionName/groupName/fieldName', Mage::app()->getStore() );
имя$configValue = Mage::getStoreConfig( 'sectionName/groupName/fieldName', Mage::app()->getStore() );
Mage::app()->getStore()
это добавит код хранилища в значениях выборки, чтобы вы могли получить правильные значения конфигурации для текущего хранилища, это позволит избежать неправильных значений хранилища, поскольку magento также используется для нескольких хранилищ / представлений, поэтому он должен добавить хранилище код для получения чего-либо в пурпуре.
если у нас больше настроенных хранилищ или нескольких просмотров, то это гарантирует, что мы получаем значения для текущего хранилища
(пример примера magento 2)
sectionName , groupName и fieldName присутствуют в файле etc / system.xml модуля.
Синтаксис PHP:
Mage::getStoreConfig('sectionName/groupName/fieldName');
В редакторе администратора, например, на странице CMS или в статическом блоке; описание / краткое описание категории каталога, каталога продукции и т. д.
{{config path="sectionName/groupName/fieldName"}}
Для подхода к работе «Внутри редактора» значение поля должно быть передано через фильтр для содержимого {{…}}, подлежащего разборке. Из этой статьи Magento сделает это для описания категорий и продуктов, а также страниц CMS и статических блоков. Однако, если вы выводите содержимое в свой собственный скрипт пользовательского вида и хотите, чтобы эти переменные были разобраны, вы можете сделать это следующим образом:
<?php $example = Mage::getModel('identifier/name')->load(1); $filter = Mage::getModel('cms/template_filter'); echo $filter->filter($example->getData('field')); ?>
Замена идентификатора / имени соответствующими значениями для загружаемой модели и поле с именем атрибута, который вы хотите вывести, который может содержать {{…}} вхождения, которые необходимо разбор.
Из любого класса Block, который расширяет \ Magento \ Framework \ View \ Element \ AbstractBlock
$this->_scopeConfig->getValue('sectionName/groupName/fieldName');
Любой другой класс PHP:
Если класс (и ни один из его родительских элементов) не вставляет \Magento\Framework\App\Config\ScopeConfigInterface
через конструктор, вам придется добавить его в свой класс.
// ... Remaining class definition above... /** * @var \Magento\Framework\App\Config\ScopeConfigInterface */ protected $_scopeConfig; /** * Constructor */ public function __construct( \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig // ...any other injected classes the class depends on... ) { $this->_scopeConfig = $scopeConfig; // Remaining constructor logic... } // ...remaining class definition below...
После того, как вы ввели его в свой класс, теперь вы можете получить значения конфигурации магазина с тем же примером синтаксиса, который приведен выше для классов блоков.
Обратите внимание, что после изменения списка параметров класса __construct () класса может потребоваться очистить созданные классы, а также каталог инъекций зависимостей: var/generation
& var/di
например, если вы хотите получить EMAIL ADDRESS из config-> сохранить адреса электронной почты. Вы можете указать, с какого магазина вы хотите получить адрес:
$store=Mage::app()->getStore()->getStoreId(); /* Sender Name */ Mage::getStoreConfig('trans_email/ident_general/name',$store); /* Sender Email */ Mage::getStoreConfig('trans_email/ident_general/email',$store);