视频地址:https://www.youtube.com/watch?v=b_QsgsPgF80
在控制器中1,在构造器中依赖注入pageFactory $resulepagefactory,
2,在方法execute中return下
return $this->resultPageFactory->create();这样就可以自动调用在view/frontened/layout/下命名好的xml文件了。然后编辑xml文件
3,每个xml文件都有一个referenceContainer name="content"这个是基础xml中的。用来展示具体的内容。所以在这个里面新建一个block
<block class = "固定的view/template" name = 'layout_example" template="Trainning_layoutexample::content.phtml" />
然后在view/frontened/templates/下新建 content.phtml文件在里面写混编就可以里。
真实的name = content这个container是在vendor/magento/module_theme/view/frontend/layout/default.xml中的。
在magento的整个项目中。所有的contain或者block的name都是唯一的。所以可以通过name找到任何自己需要的block,或者container。但是常用的就那些container,content,content.
magento中。默认在设置为meta中的title后,这个title在body中也会显示一份
所以用下面那个block page.main.title修改掉这个title。写法是固定的。
在controller中,也可以设置xml内的内容。并且这个的优先级是高于在xml中自己设置的。也就是说在控制器中设置的就会覆盖掉xml这是的内容;
可以看下调用方式:getconfig()的到所以的页面配置(meta)中的信息,然后得到getTitle,然后设置set
得到这个xml的所有的layout信息。getLayout()然后得到具体的block ,getBlock(‘block的名字’)调用这个block自己的方法。就是他指定的那个class中的方法。改名字就是setPageTitle改掉名字。