类别图标图像未显示在 Magento 2,波尔图主题中

问题描述

我是 magento2 的新手,致力于开发多个商店。自过去几个小时以来,一直被以下问题困住。非常感谢任何积极的回应

我创建了 2 个网站,每个网站有一个商店,每个商店有一个商店视图。

enter image description here

现在,在 PortoStoreView 中,我尝试通过添加类别图标来修改导航菜单。因此,在管理面板的“类别”部分下,我创建了新类别并设置其图标。但它不显示图像

enter image description here

所以,我检查它并发现,这是由于图像的 URL 无效。认情况下,图像存储在以下文件夹中: store\pub\media\catalog\category

但它正在访问以下路径(如检查中所见)以显示图像。

enter image description here

在其他地方,例如产品页面,它运行良好,正在显示图像。但就在导航栏上,它运行起来很奇怪。

附加信息: 在我的根文件夹中,我创建了一个文件PortoStore 并在其中添加了 index.html 和 .htaccess 文件。 如果您需要任何其他信息,请询问。

解决方法

不同网址的多店铺请按照以下流程

  1. 安装 Magento 并为主站点正常配置服务器 https://www.myprimarydomain.com

  2. 现在,在“管理”>“商店”>“设置”>“所有商店”下创建一个新网站、商店和商店视图

  3. 转到管理 > 商店 > 设置 > 配置 > 常规 > Web

  4. 这是最重要的一步,因为不选择二级商店,您可以失去对网站管理面板的访问权限。

从顶部的商店配置中选择二级商店:

  1. 根据https://www.mysecondarydomain.com配置Base Url和安全Base Url并保存配置。

  2. 现在在 magento2 安装的根目录下创建一个子目录(任何名称,假设是次要的)。

  3. 将 index.php 和 .htaccess 文件从 Magento2 的根目录复制到子文件夹。

  4. 替换 index.php 中的代码:

<?php
  $bootstrap = \Magento\Framework\App\Bootstrap::create(BP,$_SERVER);

  /** @var \Magento\Framework\App\Http $app */

  $app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);

  $bootstrap->run($app);
?>


<?php

$params = $_SERVER;

    $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'secondary'; 
    //Webite code as same in admin panel which we entered in step 2

    $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';

    $bootstrap = \Magento\Framework\App\Bootstrap::create(BP,$params);

   /** @var \Magento\Framework\App\Http $app */

    $app = $bootstrap->createApplication('Magento\Framework\App\Http');

    $bootstrap->run($app);
?>

和代码:

require __DIR__ . '/app/bootstrap.php';

require __DIR__ . '/../app/bootstrap.php';