我只是想知道如何获取自定义模块的配置数据.配置可以从管理员设置system->configuration
,如何在前端拉它?
Muk*_*ain 151
$configValue = Mage::getStoreConfig('sectionName/groupName/fieldName');
Run Code Online (Sandbox Code Playgroud)
sectionName,groupName和fieldName存在于模块的etc/system.xml文件中.
上面的代码将自动获取当前查看的商店的配置值.
如果要获取当前查看的商店之外的任何其他商店的配置值,则可以将商店ID指定为该getStoreConfig
功能的第二个参数,如下所示:
$store = Mage::app()->getStore(); // store info
$configValue = Mage::getStoreConfig('sectionName/groupName/fieldName', $store);
Run Code Online (Sandbox Code Playgroud)
小智 23
你应该使用以下代码
$configValue = Mage::getStoreConfig(
'sectionName/groupName/fieldName',
Mage::app()->getStore()
);
Run Code Online (Sandbox Code Playgroud)
Mage::app()->getStore()
这将在获取值中添加商店代码,以便您可以获得当前商店的正确配置值,这将避免不正确的商店值,因为magento也用于多个商店/视图,因此必须添加商店代码以获取magento中的任何内容.
如果我们配置了多个商店或多个视图,那么这将确保我们获得当前商店的价值
Dar*_*ton 19
(下面提供的magento 2示例)
sectionName,groupName和fieldName存在于模块的etc/system.xml文件中.
PHP语法:
Mage::getStoreConfig('sectionName/groupName/fieldName');
Run Code Online (Sandbox Code Playgroud)
在管理员的编辑器中,例如CMS页面或静态块的内容; 目录类别,目录产品等的描述/简短描述
{{config path="sectionName/groupName/fieldName"}}
Run Code Online (Sandbox Code Playgroud)
对于"在编辑器内"工作方式,必须通过过滤器传递字段值,以便解析出{{...}}内容.开箱即用,Magento将针对类别和产品描述以及CMS页面和静态块执行此操作.但是,如果要在自己的自定义视图脚本中输出内容并希望解析这些变量,则可以这样执行:
<?php
$example = Mage::getModel('identifier/name')->load(1);
$filter = Mage::getModel('cms/template_filter');
echo $filter->filter($example->getData('field'));
?>
Run Code Online (Sandbox Code Playgroud)
将标识符/名称替换为要加载的模型的适当值,并使用要输出的属性的名称替换字段,该字段可能包含需要解析的{{...}}次出现.
从任何扩展\ Magento\Framework\View\Element\AbstractBlock的Block类
$this->_scopeConfig->getValue('sectionName/groupName/fieldName');
Run Code Online (Sandbox Code Playgroud)
任何其他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...
Run Code Online (Sandbox Code Playgroud)
将它注入到类中后,现在可以使用上面给出的块类的相同语法示例来获取存储配置值.
请注意,在修改任何类的__construct()参数列表之后,您可能必须清除生成的类以及依赖项注入目录: var/generation
&var/di
归档时间: |
|
查看次数: |
116074 次 |
最近记录: |