Magento2 产品详情页添加自定义内容

2023-10-11 07:10

本文主要是介绍Magento2 产品详情页添加自定义内容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自定义内容,只需要依照原路经在自己模块下新建相同的路径内容,

添加自定义内容

step1.新建/xxx/xxx/Block/Product/View/Extra.php


<?php
/*** Created by PhpStorm.* User: denson* Date: 16-9-19* Time: 下午15:51*/
namespace xxx\xxx\Block\Product\View;
use Magento\Catalog\Block\Product\AbstractProduct;
class Extra extends AbstractProduct //注意继承对象
{public function getSomething(){return 'something';}
}

step2.新建/xxx/xxx/view/frontend/layout/catalog_product_view.xml


<?xml version="1.0"?>
<body><referenceContainer name="product.info.main"><block class="xxx\xxx\Block\Product\View\Extra"name="product.view.extra"template="xxx_xxx::product/view/extra.phtml"after="product.info.overview"></block></referenceContainer>
</body>

step3.新建/xxx/xxx/view/frontend/templates/product/view/extra.phtml


<?php
$_product = $block->getProduct();echo $_product->getName();
?>
<h3>This is Add Custom Content in Catalog Product View Page</h3>

打开前台,可以看到效果

图片描述

添加Tab选项

继续在catalog_product_view.xml中添加 代码,如下


<?xml version="1.0"?>
<page layout="2columns-left" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body><!--添加自定义内容--><referenceContainer name="product.info.main"><block class="xxx\xxx\Block\Product\View\Extra"name="product.view.extra"template="xxx_xxx::product/view/extra.phtml"after="product.info.overview"></block></referenceContainer><!--详情页添加Tab选项--><referenceBlock name="product.info.details"><block class="Magento\Catalog\Block\Product\View" name="demo.tab" template="xxx_xxx::demo_tab.phtml" group="detailed_info" ><arguments><argument translate="true" name="title" xsi:type="string">Demo Tab</argument></arguments></block></referenceBlock>
</body>
</page>

接在在veiw/templates/下创建tab_demo.phtml文件


<?php
// get current product
$product = $block->getProduct();
echo $product->getName();
// Use product according to your requirement
?>

图片描述

这篇关于Magento2 产品详情页添加自定义内容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/186422

相关文章

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

SpringBoot AspectJ切面配合自定义注解实现权限校验的示例详解

《SpringBootAspectJ切面配合自定义注解实现权限校验的示例详解》本文章介绍了如何通过创建自定义的权限校验注解,配合AspectJ切面拦截注解实现权限校验,本文结合实例代码给大家介绍的非... 目录1. 创建权限校验注解2. 创建ASPectJ切面拦截注解校验权限3. 用法示例A. 参考文章本文

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

C#高效实现Word文档内容查找与替换的6种方法

《C#高效实现Word文档内容查找与替换的6种方法》在日常文档处理工作中,尤其是面对大型Word文档时,手动查找、替换文本往往既耗时又容易出错,本文整理了C#查找与替换Word内容的6种方法,大家可以... 目录环境准备方法一:查找文本并替换为新文本方法二:使用正则表达式查找并替换文本方法三:将文本替换为图

聊聊springboot中如何自定义消息转换器

《聊聊springboot中如何自定义消息转换器》SpringBoot通过HttpMessageConverter处理HTTP数据转换,支持多种媒体类型,接下来通过本文给大家介绍springboot中... 目录核心接口springboot默认提供的转换器如何自定义消息转换器Spring Boot 中的消息

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

Linux从文件中提取特定内容的实用技巧分享

《Linux从文件中提取特定内容的实用技巧分享》在日常数据处理和配置文件管理中,我们经常需要从大型文件中提取特定内容,本文介绍的提取特定行技术正是这些高级操作的基础,以提取含有1的简单需求为例,我们可... 目录引言1、方法一:使用 grep 命令1.1 grep 命令基础1.2 命令详解1.3 高级用法2

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp