1

我正在研究支付网关。但我有问题我做了谷歌研究但找不到任何解决方案我希望我能在这里得到解决方案所以我在这里发帖

按照我的 system.xml 代码块

<title translate="label">
    <label>Title</label>
    <comment><![CDATA[<img src="/media/billmate/images/billmate_bank_s.png" />]]></comment>
    <frontend_type>text</frontend_type>
    <sort_order>3</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
</title>

在这个块中,问题现在在评论标签中,我在这里放置静态链接/media/billmate/images/billmate_bank_s.png,请任何人建议我如何使其成为动态

4

2 回答 2

2

来自的元素system.xml可以有动态注释。评论可以通过模型呈现。
您需要像这样声明注释字段:

<comment>
    <model>module/adminhtml_comment</model>
</comment>

现在您需要使用别名创建模型module/adminhtml_comment

<?php
class Namespace_Module_Model_Adminhtml_Comment{
    public function getCommentText(){ //this method must exits. It returns the text for the comment
        return "Some text here";
    }
}

喜欢以下

<title translate="label">
    <label>Title</label>
    <comment>
        <model>module/adminhtml_comment</model>
    </comment>
    <frontend_type>text</frontend_type>
    <sort_order>3</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
</title>

getCommentText方法返回值

于 2013-11-06T14:11:54.050 回答
0

添加到 system.xml 文件中

<field id="row_payment_us_free" translate="label" type="select" sortOrder="5" showInDefault="1" showInStore="1" showInWebsite="1" canRestore="1">
    <label>Payment US Free</label>
    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
    <comment><model>VendoreName\ModuleName\Model\SystemConfigComment</model></comment>
</field>

应用程序/代码/供应商名称/模块名称/模型

SystemConfigComment.php

<?php

namespace VendoreName\ModuleName\Model;

use Magento\Framework\UrlInterface;

class SystemConfigComment implements \Magento\Config\Model\Config\CommentInterface
{
    protected $urlInterface;

    public function __construct(
        UrlInterface $urlInterface
    ) {
        $this->urlInterface = $urlInterface;
    }

    public function getCommentText($elementValue)
    {
        $url = $this->urlInterface->getUrl('adminhtml/system_config/edit/section/payment');

        return 'Require to enable <a href="' .$url . '#row_payment_us_free" target="_blank">Zero Subtotal Checkout</a>payment method for Zero Subtotal order.';
    }
}
于 2021-09-06T08:50:45.517 回答