简体   繁体   English

Magento 2 安装 claue 主题后加载主页时出错

[英]Magento 2 after installing claue theme getting error while loading home page

I running magento2 using bitnami docker containers and I installed claue theme.我使用 bitnami docker 容器运行 magento2 并安装了 claue 主题。 After installing claue theme I am getting error while loading the landing page(home page).安装 claue 主题后,我在加载登录页面(主页)时出错。

Error:错误:

[php7:error] [pid 524] [client 172.18.0.1:36096] PHP Fatal error: Declaration of MGS\\Mpanel\\Helper\\Swatches\\Data::getProductMediaGallery(Magento\\Catalog\\Model\\Product $product) must be compatible with Magento\\Swatches\\Helper\\Data::getProductMediaGallery(Magento\\Catalog\\Model\\Product $product): array in /bitnami/magento/htdocs/app/code/MGS/Mpanel/Helper/Swatches/Data.php on line 0

Swatches/Data.php色板/Data.php

use Magento\Catalog\Model\Product as ModelProduct;

public function getProductMediaGallery(ModelProduct $product){
    if(!in_array($product->getData('image'), [null, self::EMPTY_IMAGE_VALUE], true)){
        $baseImage = $prodcut->getData('image');
    }else{
        $productMedaiAttributes = array_filter($product->getMediaAttributeValues(), function($value){
            return $value !== self::EMPTY_IMAGE_VALUE && $values !== null;
        });
        foreach ($productMediaAttributes as $attributeCode => $value){
            if($attributeCode !== 'swatch_image'){
                $baseImage = (string)$value;
                break;
            }
        }
    }
    
    if(empty($baseImage)){
        return [];
    }

    $resultGallery = $this->getAllSizeImages($product, $baseImage);
    $resultGallery['gallery'] = $this->getGalleryImages($product);
    return $resultGallery;
}

I am new to php and magento.我是 php 和 magento 的新手。 I am not able to find out how to solve this issue.我不知道如何解决这个问题。 kindly help to solve this issue.请帮助解决这个问题。 If any details is need kindly let me know.如果需要任何详细信息,请告诉我。

Thanks in advance.提前致谢。

As the error message says you have to make your method compatible with the one you overrided by adding the return type, (in this case : array ) at the end of your method declaration.正如错误消息所说,您必须通过在方法声明的末尾添加返回类型(在本例中为: array )使您的方法与您覆盖的方法兼容。 This line of your code : public function getProductMediaGallery(ModelProduct $product){ will become : public function getProductMediaGallery(ModelProduct $product): array {这行代码: public function getProductMediaGallery(ModelProduct $product){将变成: public function getProductMediaGallery(ModelProduct $product): array {

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM