删除Magento 2中的默认产品库

贾纳卡·多姆巴拉

如您所知,Magento 2的产品页面中有fotorama JavaScript库和放大镜。我需要知道如何从产品页面中将其删除。我只需要产品图片。

在我的app\design\frontend\Mypackage\mytheme\Magento_Catalog\templates\product\view\gallery.phtml文件中,我删除了:

<script type="text/x-magento-init">
{
    "[data-gallery-role=gallery-placeholder]": {
        "mage/gallery/gallery": {
            "mixins":["magnifier/magnify"],
            "magnifierOpts": <?php /* @escapeNotVerified */
echo $block->getMagnifier(); ?>,
            "data": <?php /* @escapeNotVerified */
echo $block->getGalleryImagesJson(); ?>,
            "options": {
                "nav": "<?php /* @escapeNotVerified */
echo $block->getVar("gallery/nav"); ?>",
                "loop": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/loop"); ?>,
                "keyboard": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/keyboard"); ?>,
                "arrows": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/arrows"); ?>,
                "allowfullscreen": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/allowfullscreen"); ?>,
                "showCaption": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/caption"); ?>,
                "width": <?php /* @escapeNotVerified */
echo $block->getImageAttribute('product_page_image_medium', 'width'); ?>,
                "thumbwidth": <?php /* @escapeNotVerified */
echo $block->getImageAttribute('product_page_image_small', 'width'); ?>,
                "thumbheight": <?php /* @escapeNotVerified */
echo $block->getImageAttribute('product_page_image_small', 'height')
    ?: $block->getImageAttribute('product_page_image_small', 'width'); ?>,
                "height": <?php /* @escapeNotVerified */
echo $block->getImageAttribute('product_page_image_medium', 'height')
    ?: $block->getImageAttribute('product_page_image_medium', 'width'); ?>,
                "transitionduration": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/transition/duration"); ?>,
                "transition": "<?php /* @escapeNotVerified */
echo $block->getVar("gallery/transition/effect"); ?>",
                "navarrows": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/navarrows"); ?>,
                "navtype": "<?php /* @escapeNotVerified */
echo $block->getVar("gallery/navtype"); ?>",
                "navdir": "<?php /* @escapeNotVerified */
echo $block->getVar("gallery/navdir"); ?>"
            },
            "fullscreen": {
                "nav": "<?php /* @escapeNotVerified */
echo $block->getVar("gallery/fullscreen/nav"); ?>",
                "loop": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/fullscreen/loop"); ?>,
                "navdir": "<?php /* @escapeNotVerified */
echo $block->getVar("gallery/fullscreen/navdir"); ?>",
                "arrows": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/fullscreen/arrows"); ?>,
                "showCaption": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/fullscreen/caption"); ?>,
                "transitionduration": <?php /* @escapeNotVerified */
echo $block->getVar("gallery/fullscreen/transition/duration"); ?>,
                "transition": "<?php /* @escapeNotVerified */
echo $block->getVar("gallery/fullscreen/transition/effect"); ?>"
            },
            "breakpoints": <?php /* @escapeNotVerified */
echo $block->getBreakpoints(); ?>
        }
    }
}

在我的app\design\frontend\Mypackage\mytheme\etc\view.xml文件中,我删除了:

  <!-- Gallery and magnifier theme settings. Start -->
    <var name="gallery">
        <var name="nav">thumbs</var> <!-- Gallery navigation style (false/thumbs/dots) -->
        <var name="loop">true</var> <!-- Gallery navigation loop (true/false) -->
        <var name="keyboard">true</var> <!-- Turn on/off keyboard arrows navigation (true/false) -->
        <var name="arrows">true</var> <!-- Turn on/off arrows on the sides preview (true/false) -->
        <var name="caption">false</var> <!-- Display alt text as image title (true/false) -->
        <var name="allowfullscreen">true</var> <!-- Turn on/off fullscreen (true/false) -->
        <var name="navdir">horizontal</var> <!-- Sliding direction of thumbnails (horizontal/vertical) -->
        <var name="navarrows">true</var> <!-- Turn on/off on the thumbs navigation sides (true/false) -->
        <var name="navtype">slides</var> <!-- Sliding type of thumbnails (slides/thumbs) -->
        <var name="transition">
            <var name="effect">slide</var> <!-- Sets transition effect for slides changing (slide/crossfade/dissolve) -->
            <var name="duration">500</var> <!-- Sets transition duration in ms -->
        </var>
        <var name="fullscreen">
            <var name="nav">thumbs</var> <!-- Fullscreen navigation style (false/thumbs/dots) -->
            <var name="loop">true</var> <!-- Fullscreen navigation loop (true/false/null) -->
            <var name="keyboard">true</var> <!-- Turn on/off keyboard arrows navigation (true/false/null) -->
            <var name="arrows">false</var> <!-- Turn on/off arrows on the sides preview (true/false/null) -->
            <var name="caption">false</var> <!-- Display alt text as image title (true/false) -->
            <var name="navdir">horizontal</var> <!--Sliding direction of thumbnails in full screen(horizontal/vertical)  -->
            <var name="thumbwidth">150</var> <!-- Width of thumbnails in fullscreen -->
            <var name="thumbheight">150</var> <!-- Height of thumbnails in fullscreen -->
            <var name="navigation_carousel">true</var> <!-- Display navigation thumbs as carousel (true/false) -->
            <var name="transition">
                <var name="effect">dissolve</var> <!-- Sets transition effect for slides changing (slide/crossfade/dissolve) -->
                <var name="duration">500</var> <!-- Sets transition duration in ms -->
                <var name="carousel">true</var> <!-- Display navigation thumbs as carousel (true/false) -->
            </var>
        </var>
    </var>

    <var name="magnifier">
        <var name="fullscreenzoom">5</var>  <!-- Zoom for fullscreen (integer)-->
        <var name="top"></var> <!-- Top position of magnifier -->
        <var name="left"></var> <!-- Left position of magnifier -->
        <var name="width"></var> <!-- Width of magnifier block -->
        <var name="height"></var> <!-- Height of magnifier block -->
        <var name="eventType">hover</var> <!-- Action that atcivates zoom (hover/click) -->
        <var name="enabled">false</var> <!-- Turn on/off magnifier (true/false) -->
    </var>

    <var name="breakpoints">
        <var name="mobile">
            <var name="conditions">
                <var name="max-width">767px</var>
            </var>
            <var name="options">
                <var name="options">
                    <var name="navigation">dots</var>
                </var>
            </var>
        </var>
    </var>
    <!-- end. Gallery and magnifier theme settings -->

但没有运气。删除上面的代码将导致删除产品图像和色板功能。谁能帮我这个?有什么方法可以让我在保留色板功能的同时删除产品图集并进行缩放?任何帮助表示赞赏。谢谢你。

丹尼尔

如果只想显示产品的主图像,则不必删除图库。

您可以在view.xml文件中禁用放大镜和全屏​​功能。

...
<var name="gallery">
    ...
    <var name="allowfullscreen">false</var> <!-- Turn on/off fullscreen (true/false) -->
    ...
</var>
...
<var name="magnifier">
    ...
    <var name="enabled">false</var> <!-- Turn on/off magnifier (true/false) -->
    ...
</var>
...

并使用这个简单的模块,该模块允许您在图库中仅显示主图像。

基本文件夹:app \ code

文件:Example / OneImage / composer.json

{
    "name": "example/oneimage",
    "description": "OneImage module for Magento 2",
    "type": "magento2-module",
    "version": "1.0.0",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "require": {
        "php": "~5.5.0|~5.6.0|~7.0.0",
        "magento/module-catalog": "~100.0"
    },
    "autoload": {
        "files": [
            "registration.php"
        ],
        "psr-4": {
            "Example\\OneImage\\": ""
        }
    }
}

文件:Example / OneImage / registration.php

<?php

use \Magento\Framework\Component\ComponentRegistrar;

ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Example_OneImage', __DIR__);

文件:Example / OneImage / etc / module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Example_OneImage" setup_version="1.0.0">
        <sequence>
            <module name="Magento_Catalog"/>
        </sequence>
    </module>
</config>

文件:Example / OneImage / etc / frontend / di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Catalog\Model\Product">
        <plugin name="ExampleOneImagePlugin" type="Example\OneImage\Plugin\Model\Product" sortOrder="1" />
    </type>
</config>

文件:Example / OneImage / Plugin / Model / Product.php

<?php

namespace Example\OneImage\Plugin\Model;

/**
 * Plugin for \Magento\Catalog\Model\Product
 */
class Product
{
    /**
     * Retrieve media gallery images
     *
     * @return \Magento\Framework\Data\Collection
     */
    public function afterGetMediaGalleryImages(\Magento\Catalog\Model\Product $product, $images)
    {
        $mainImage = null;
        foreach ($images  as $key => $image) {
            if ($product->getImage() == $image->getFile()) {
                $mainImage = $image;
                break;
            }
        }
        $images->clear();
        if ($mainImage) {
            $images->addItem($mainImage);
        }
        return $images;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除 WooCommerce 单个产品库中的缩略图编号

来自分类Dev

Magento以编程方式从类别中删除产品

来自分类Dev

如何删除 Magento 2 产品页面中的数量框

来自分类Dev

无法从新删除的产品Magento中删除未使用的图像

来自分类Dev

从Magento菜单中删除元素

来自分类Dev

Magento-删除产品类型选项

来自分类Dev

Magento-删除产品类型选项

来自分类Dev

Ajax从magento的购物车中删除产品

来自分类Dev

从magento字段中的数组中删除值

来自分类Dev

在Magento中通过编程方式删除客户

来自分类Dev

删除选项在Magento中不起作用

来自分类Dev

从Magento模板中删除所有块

来自分类Dev

Magento如何从布局中删除类

来自分类Dev

在Magento中删除网站无法删除商店和商店视图

来自分类Dev

删除magento产品页面上单个项目的数量

来自分类Dev

当我尝试删除产品时,Magento中出现错误

来自分类Dev

如何从Magento删除所有相关的产品链接?

来自分类Dev

在Magento2中以编程方式删除块

来自分类Dev

如何使用Magento中的观察者从产品网格中删除MassAction

来自分类Dev

如何使用Magento中的观察者从产品网格中删除MassAction

来自分类Dev

如何从Magento 2.0 Luma模板中删除“我的愿望清单”和“比较产品”块?

来自分类Dev

如何从magento的右侧栏中删除比较产品和我的购物车

来自分类Dev

Magento-从CMS页上的页脚中删除块

来自分类Dev

从Magento的销售/报价中删除自定义属性

来自分类Dev

Magento从CMS页面中删除“其他脚本”

来自分类Dev

从Magento发票pdf中删除运输方式和付款方式

来自分类Dev

如何在Magento社区中删除多个送货地址?

来自分类Dev

Magento隐藏/删除交易电子邮件中的价格

来自分类Dev

如何在magento 1.9中删除右侧边栏

Related 相关文章

  1. 1

    删除 WooCommerce 单个产品库中的缩略图编号

  2. 2

    Magento以编程方式从类别中删除产品

  3. 3

    如何删除 Magento 2 产品页面中的数量框

  4. 4

    无法从新删除的产品Magento中删除未使用的图像

  5. 5

    从Magento菜单中删除元素

  6. 6

    Magento-删除产品类型选项

  7. 7

    Magento-删除产品类型选项

  8. 8

    Ajax从magento的购物车中删除产品

  9. 9

    从magento字段中的数组中删除值

  10. 10

    在Magento中通过编程方式删除客户

  11. 11

    删除选项在Magento中不起作用

  12. 12

    从Magento模板中删除所有块

  13. 13

    Magento如何从布局中删除类

  14. 14

    在Magento中删除网站无法删除商店和商店视图

  15. 15

    删除magento产品页面上单个项目的数量

  16. 16

    当我尝试删除产品时,Magento中出现错误

  17. 17

    如何从Magento删除所有相关的产品链接?

  18. 18

    在Magento2中以编程方式删除块

  19. 19

    如何使用Magento中的观察者从产品网格中删除MassAction

  20. 20

    如何使用Magento中的观察者从产品网格中删除MassAction

  21. 21

    如何从Magento 2.0 Luma模板中删除“我的愿望清单”和“比较产品”块?

  22. 22

    如何从magento的右侧栏中删除比较产品和我的购物车

  23. 23

    Magento-从CMS页上的页脚中删除块

  24. 24

    从Magento的销售/报价中删除自定义属性

  25. 25

    Magento从CMS页面中删除“其他脚本”

  26. 26

    从Magento发票pdf中删除运输方式和付款方式

  27. 27

    如何在Magento社区中删除多个送货地址?

  28. 28

    Magento隐藏/删除交易电子邮件中的价格

  29. 29

    如何在magento 1.9中删除右侧边栏

热门标签

归档