我已经为我的Magento2模块创建了一个配置屏幕,在此文件(System.xml)上,我有一个输入文本字段,如下所示:
<field id="postback_url" type="text"...>
<backend_model>Vendorname\Modulename\Model\Config\Source\Configs<backend_model>
</field>
我需要插入一个默认值。此值将为BaseUrl + / some-endpoint
如何在文本字段中插入默认值? 我不太确定如何在Magento2.x中完成它 在magento 1.x中,我使用了以下方法:
class myClassName extends Mage_Core_Model_Config_Data{
protected function _afterLoad(){
$this->setValue("my URL goes here");
}
但是显然,它在Magento 2.x上不起作用
提前谢谢!
答案 0 :(得分:0)
在您的模块etc文件夹中创建一个config.xml文件:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
<default>
<yoursectionid>
<yourgroupid>
<yourfieldid>somevalue</yourfieldid>
</yourgroupid>
</yoursectionid>
</default>
</config>
答案 1 :(得分:0)
例如,要在注释和/ comment中获取动态值,则应在模型类中使用Namespace \ ModuleName \ Model \ Config \ Source \ ConfigComment之类的东西,然后在Namespace \ ModuleName类中使用\ Model \ Config \ Source \ ConfigComment.php
class ConfigComment implements \Magento\Config\Model\Config\CommentInterface
{
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Store\Model\StoreManagerInterface $storeManager
) {
$this->_storeManager = $storeManager;
}
public function getCommentText($elementValue)
{
$baseurl = $this->_storeManager->getStore()->getBaseUrl();
return $baseurl;
}
}