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
?>

图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值