**修改模板并增加block**
步骤:
1.创建目录文件(以clatalog模块为例)
~~~
app/design/frontend/
├── <Vendor>/
│ │ ├──...<theme>/
│ │ │ ├── Magento_Catalog
│ │ │ | | ├──layout
| | | | | | |——catalog_category_view.xml
~~~
~~~
catalog_category_view.xml(这里的文件名字由于是继承请保持与原来的一致)
<?xml version="1.0"?>
<!--
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="category.image">
<action method='setTemplate'>
<argument name='template' xsi:type='string'>Njzz_Catalog::category/image.phtml</argument>
</action>
</referenceBlock>
</body>
</page>
name="category.image":你要修改的那个模板的名字;
Njzz_Catalog::category/image.phtml:你的模板位置
~~~
2.创建目录文件(以clatalog模块为例)
~~~
code/
├── <Vendor>/
│ │ ├──Clatalog/
│ │ │──Block/Catalog/Category/View.php
│ │ │──Controller/
| | |──etc/
| | | |——frontend
|——routes.xml
| | | |——module.xml
|——di.xml
| | |——View
| | | |——frontend
|——templates
|——category
|——image.phtml
| | |——composer.json
| | |——registration.php
~~~
routes.xml :路由配置
~~~
<?xml version="1.0"?>
<!--
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="catalog" frontName="catalog">
<module name="Njzz_Catalog" />
</route>
</router>
</config>
id="catalog":路由id
name="Njzz_Catalog" :配置作用模块
~~~
module.xml
~~~
<?xml version="1.0"?>
<!--
/**
* @copyright Copyright (c) 2015 X.commerce, Inc. (http://www.magentocommerce.com)
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Njzz_Catalog" setup_version="2.0.86">
</module>
</config>
~~~
image.phtml 模板文件
~~~
<?php
/**
* Category view template
*
* @var $block Njzz\Block\Catalog\Category\View
*/
?>
<?php
$_helper = $this->helper('Magento\Catalog\Helper\Output');
$_category = $block->getCurrentCategory();
$_imgHtml = '';
if ($_imgUrl = $_category->getImageUrl()) {
$_imgHtml = '<div class="category-image"><img src="' . $_imgUrl . '" alt="' . $block->escapeHtml($_category->getName()) . '" title="' . $block->escapeHtml($_category->getName()) . '" class="image" /></div>';
$_imgHtml = $_helper->categoryAttribute($_category, $_imgHtml, 'image');
/* @escapeNotVerified */ echo $_imgHtml;
}
$index=$block->index();
?>
/**
* Category view template
*
* @var $block Njzz\Block\Catalog\Category\View:自己在block写的类 命名空间 这样你在image.phtml中才能调 $index=$block->index();
*/
~~~
View.php:block文件
~~~
<?php
/**
* Created by PhpStorm.
* User: daimingkang
* Date: 2016/3/9
* Time: 9:49
*/
namespace Njzz\Catalog\Block\Catalog\Category;
//这里继承是扩充方法也可以覆盖父类方法
class View extends \Magento\Catalog\Block\Category\View{
public function index(){
var_dump($_SERVER);
}
}
~~~
di.xml:配置
~~~
<?xml version="1.0"?>
<!--
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\Catalog\Block\Category\View" type="Njzz\Catalog\Block\Catalog\Category\View" />
</config>
for="Magento\Catalog\Block\Category\View":原来的方法类的命名空间+类名
type="Njzz\Catalog\Block\Catalog\Category\View":现在类的命名空间+类名
~~~
composer.json
~~~
{
"name": "Njzz/Catalog",
"description": "N/A",
"require": {
"php": "~5.5.0|~5.6.0|~7.0.0"
},
"type": "magento2-module",
"version": "100.0.0",
"license": [
"OSL-3.0",
"AFL-3.0"
],
"autoload": {
"files": [ "registration.php" ],
"psr-4": {
"Njzz\\Catalog\\": ""
}
}
}
~~~
registration.php
~~~
<?php
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Njzz_Catalog',//
__DIR__
);
~~~
图片:
![](https://box.kancloud.cn/2016-03-09_56df9b4859807.png)
![](https://box.kancloud.cn/2016-03-09_56df9b4aedb7b.png)
- 前端开发
- 前端开发人员指南
- 介绍
- 主题模块路径规则符号
- 主题Themes
- 概括
- 创建主题
- magento主题结构
- 应用和配置管理主题
- 配置图片属性主题
- 主题继承
- 定位模板,布局和样式
- 布局layout
- 布局说明
- 布局文件类型
- 扩展继承布局
- 覆盖布局
- 公共布局任务定制
- 自定义布局图
- 模板Templates
- 模板定制演练
- 模板的基本概念
- 定制的模板插图
- 定制电子邮件模板
- 模板XSS安全
- 层叠样式表(css)
- 载入css
- magento继承修改模板.phtml
- 只修改phtml文字内容
- 在magento的block之前加内容
- PHP开发
- PHP开发人员指南
- 开发路线图
- composer简介
- 常见术语表
- 准备(开发快速启动)
- 组件类型和版本
- 有关组件文件结构
- 路线图制定和包装组件
- 建立
- composer.json文件
- 创建组件文件结构
- 定义你的配置文件
- 注册您的组件
- URN架构验证
- 命名部件
- 组件加载顺序
- 启用或禁用组件
- package包
- 打包组件
- 更新
- 验证
- 测试你的组件
- 加入CLI命令
- 命令命名指南
- 如何添加CLI命令
- 组件开发
- 服务合同
- 公共接口和API
- 服务合约设计模式
- 依赖注入
- 实例化对象与工厂
- 代理
- 代码生成
- EAV和扩展属性
- Magento的插件
- 路由
- 索引
- 配置服务网络的API
- 向后兼容性
- 消息队列
- 在开发过程中清除目录
- magento设置
- magento开发模式设置
- magento安装中文语言包
- 创建一个新的block
- magento后台操作
- 调试-页面phtml所在的目录
- magento添加分类
- 添加属性
- 属性组
- 组合商品
- 配置商品
- 虚拟商品
- 捆绑商品
- 可下载商品
- 商品促销设置
- CMS页面设置
- block使用
- connect使用
- 多店铺
- 联系我们
- paypal设置
- 物流运费
- 网站地图
- 订单处理
- 账号管理
- 网站货币设置
- google分析
- 页面默认设置
- Magento技巧积累
- 常用技巧
- magento2更改商品图片在网站中不同位置的大小
- magento的view里面的default.xml