如何从Magento系统配置中获取数据

2020/10/31 15:42 · php ·  · 0评论

我只是在徘徊如何获取自定义模块的配置数据。可以从管理员设置配置,system->configuration以及如何将其拉入前端?

$configValue = Mage::getStoreConfig('sectionName/groupName/fieldName');

sectionNamegroupNamefieldName模块的etc / system.xml文件中。

上面的代码将自动获取当前查看的商店的配置值。

如果要获取当前查看的存储以外的任何其他存储的配置值,则可以将存储ID指定为getStoreConfig函数的第二个参数,如下所示:

$store = Mage::app()->getStore(); // store info
$configValue = Mage::getStoreConfig('sectionName/groupName/fieldName', $store);

您应该使用以下代码

$configValue = Mage::getStoreConfig(
                   'sectionName/groupName/fieldName',
                   Mage::app()->getStore()
               ); 

Mage::app()->getStore() 这将在获取值中添加商店代码,以便您可以获取当前商店的正确配置值,这将避免错误的商店值,因为magento也用于多个商店/视图,因此必须添加商店代码以获取magento中的任何内容。

如果我们配置了一个以上的商店或多个视图,则可以确保我们获取当前商店的值

Magento 1.x

(下面提供了magento 2示例)

sectionNamegroupNamefieldName在模块的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'));
?>

标识符/名称替换为要加载的模型的适当值,将字段/字段替换为要输出的属性的名称,其中可能包含{{...}}个事件,需要对其进行解析。

Magento 2.x

从任何扩展了\ Magento \ Framework \ View \ Element \ AbstractBlock的Block类中

$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/generationvar/di

例如,如果您想从config-> store电子邮件地址获取EMAIL ADDRESS。您可以从三明治商店指定您想要的地址:

$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);
本文地址:http://php.askforanswer.com/ruhecongmagentoxitongpeizhizhonghuoqushuju.html
文章标签: ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!