20.Adding Javascript and CSS via Layout XML

这里写图片描述
class 属性代替了 type 属性。
referenceBlock 节点代替了 reference 节点。


In Magento 2, a container is a special sort of block that only contains other blocks. Containers are conceptually similar to the text/list blocks in Magento 1, although their implementation is very different. 

Container 是只包含其他 block 的。概念上相当于 Magento1 的 text/list block 对象。


这里写图片描述
虽然 root 是 Container ,但是 referenceBlock 仍然可以更新.


这里写图片描述
default.xml 相当于 Magento1的 < default />节点


这里写图片描述
有些 top level tag 下是head,body; 而有些却是 referenceBlock,referenceContainer


这里写图片描述
这里写图片描述
这里写图片描述


这里写图片描述
不在嵌套 block 输出。

通过变量输出:
这里写图片描述
这里写图片描述
这里写图片描述


通过 XML 增加
这里写图片描述
这里写图片描述

通过 PHP 增加:
这里写图片描述
这里写图片描述

配置 Asset Repository
这里写图片描述

<?php

namespace Test\First\Block;
class Head extends \Magento\Framework\View\Element\Template
{
    public $assetRepository;
    public function __construct(
        \Magento\Framework\View\Element\Template\Context $context,
        array $data = [],
        \Magento\Framework\View\Asset\Repository $assetRepository
    )
    {
        $this->assetRepository = $assetRepository;
        return parent::__construct($context, $data);
    }
}

在模板中添加:
这里写图片描述

<?php
$asset_repository = $this->assetRepository;
$asset  = $asset_repository->createAsset('Pulsestorm_JavascriptCssExample::test.js');
$url    = $asset->getUrl();
?>
<!-- Hello There -->
<script src="<?php echo $url; ?>"></script>

结果:
这里写图片描述

http://alanstorm.com/magento_2_javascript_css_layout_woes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值