小编San*_*utt的帖子

Magento 2:在head标签之后添加自定义脚本

我想在head标签开始后添加自定义脚本.

喜欢.

<head>
<script>console.log("I'm loaded!");</script>
Run Code Online (Sandbox Code Playgroud)

我试图在default_head_blocks.xml中添加代码

<referenceContainer name="head.additional">
      <block class="Custom\Module\Block\Success" template="Custom_Module::success/head.phtml"/>
</referenceContainer>
Run Code Online (Sandbox Code Playgroud)

=>输出:

<script>console.log("I'm loaded!");</script>
</head>
Run Code Online (Sandbox Code Playgroud)

此代码在head标记结束之前使用add script.

请检查以下代码

Block => Custom/Module/Block/Onepage/Success.php

namespace Custom\Module\Block\Onepage;
    use Magento\Framework\View\Element\Template;

    class Success extends \Magento\Checkout\Block\Onepage\Success {

    public function getOrder() 
        {
            $objectManager =\Magento\Framework\App\ObjectManager::getInstance();
            $helper = $objectManager->get('Custom\Module\Helper\Data');

            $lastOrderId = $this->getOrderId();

            if (empty($lastOrderId)) 
            {
                return null;
            }
              $orderData = $objectManager->create('Magento\Sales\Model\Order')->loadByIncrementId($this->getOrderId());

            return $orderData;
        }

    }
Run Code Online (Sandbox Code Playgroud)

Helper => Custom\Module\Helper\Data.php

namespace Custom\Module\Helper;
class Data extends \Magento\Framework\App\Helper\AbstractHelper
{

    /**
     * @param \Magento\Framework\App\Helper\Context $context
     */
    protected $_request;

    public function __construct(
        \Magento\Framework\App\Helper\Context $context,
        \Magento\Framework\App\Request\Http …
Run Code Online (Sandbox Code Playgroud)

php xml magento magento2

8
推荐指数
1
解决办法
9297
查看次数

Magento 2:我想在覆盖块 xml 中添加 ifconfig

我试图用 phtml 文件覆盖块

供应商\magento\module-checkout\view\frontend\success.phtml

到我的文件

app\code\Custom\Module\view\frontend\checkout\success.phtml

和 xml 文件是 checkout_onepage_success.xml

<referenceBlock name="checkout.success">
       <action method="setTemplate" ifconfig="custom_general/general/active">
            <argument name="template" xsi:type="string">Custom_Module::checkout/success.phtml</argument>
        </action>
</referenceBlock>
Run Code Online (Sandbox Code Playgroud)

当我从配置中启用模块时,然后使用我的块和 phtml 文件执行。

当禁用模块然后执行默认文件并阻止。

但是当我从配置中禁用模块时,默认文件和块不会执行。

请帮我解决这个问题

提前致谢。

php xml magento magento2 magento2.1

6
推荐指数
1
解决办法
5537
查看次数

标签 统计

magento ×2

magento2 ×2

php ×2

xml ×2

magento2.1 ×1