我想在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) 我试图用 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 文件执行。
当禁用模块然后执行默认文件并阻止。
但是当我从配置中禁用模块时,默认文件和块不会执行。
请帮我解决这个问题
提前致谢。