【问题标题】:Opencart: change image folderOpencart:更改图像文件夹
【发布时间】:2014-05-30 01:30:15
【问题描述】:

我有 OpenCart 1.5.5.1 并尝试更改图像文件夹但结果出乎意料。

我的opencart安装在www.example.com/opencart/

我修改了config.php和admin/config.php如下:

// HTTP
define('HTTP_SERVER', 'http://example.com/opencart/');

// HTTPS
define('HTTPS_SERVER', 'https://example.com/opencart/');

// DIR
define('DIR_APPLICATION', '/home/example/public_html/opencart/catalog/');
define('DIR_SYSTEM', '/home/example/public_html/opencart/system/');
define('DIR_DATABASE', '/home/example/public_html/opencart/system/database/');
define('DIR_LANGUAGE', '/home/example/public_html/opencart/catalog/language/');
define('DIR_TEMPLATE', '/home/example/public_html/opencart/catalog/view/theme/');
define('DIR_CONFIG', '/home/example/public_html/opencart/system/config/');
define('DIR_IMAGE', '/home/example/public_html/opencart/image2/');
define('DIR_CACHE', '/home/example/public_html/opencart/system/cache/');
define('DIR_DOWNLOAD', '/home/example/public_html/opencart/download/');
define('DIR_LOGS', '/home/example/public_html/opencart/system/logs/');

当我现在查看该站点时,所有图像都消失了,不是损坏了,而是消失了。 将文件夹名称更新为“image2”后,图像显示已损坏,当我查看图像 URL 时,我看到:

 http://example.com/opencart/image/data/Logos/logo.png

所以不知何故它仍在寻找“图像”文件夹。 当我将图像文件夹移到 opencart 文件夹之外时,它变得更加奇怪,例如从/home/example/public_html/opencart/image2//home/example/public_html/image2/

那么图片url还是:

example.com/opencart/image/data/Logos/logo.png

当我将 config.php 中的 HTTP_SERVER 行更改为 http://example.com/opencart2 图片仍然损坏,但图片网址现在是:

example.com/opencart2/image/data/Logos/logo.png

谁能告诉我我做错了什么?我是否太天真地认为 DIR_IMAGE 定义指向图像所在的文件夹?

无论如何,我这样做的原因是我希望两个 opencart 商店共享同一个图像文件夹。所以: 1号店:

/home/example/public_html/opencart/

2号店:

/home/example/public_html/opencart2/

图片文件夹:

/home/example/public_html/image/

有什么办法吗?

提前致谢

【问题讨论】:

  • 您是否更新了两个配置文件中的图像文件夹路径?
  • 是的,我做到了,config.php 和 admin/config.php 显示相同

标签: php opencart


【解决方案1】:

我遇到了同样的问题。

文件 /catalog/model/tool/image.php

第 51 && 53 行大约:

return $this->config->get('config_ssl') . 'image/' . $new_image;

return $this->config->get('config_url') . 'image/' . $new_image;

和文件

/catalog/controller/common/header.php

第 24 行 && 30 左右

$this->data['icon'] = $server . 'image/' . $this->config->get('config_icon');
$this->data['logo'] = $server . 'image/' . $this->config->get('config_logo');

这些行正在覆盖您的配置。

您可以简单地替换 'image' 或做一些技巧来添加 DIR_IMAGE 相关信息。

我猜他们会在以后的版本中纠正这个错误。

问候, 亚历克斯

【讨论】:

  • 谢谢,好像是这样,不过我现在换成Prestashop了
【解决方案2】:

你需要改变in的路径 目录/模型/工具/image.php admin/model/tool/image.php


return $this->config->get('config_ssl') . 'image/' . $new_image;
to 
return $this->config->get('config_ssl') . 'image2/' . $new_image;

【讨论】:

    【解决方案3】:

    不,图片路径错误!

    应该是

    商店1

    define('DIR_IMAGE', '/home/example/public_html/opencart/image/');

    商店2

    define('DIR_IMAGE', '/home/example/public_html/opencart2/image/');

    【讨论】:

      【解决方案4】:

      要更改图像文件夹,请检查您是否已完成以下操作:

      • 在 config.php 和 admin/config.php 中正确设置 define('DIR_IMAGE', '/absolute_path/to/image_folder');
      • 在 opencart 1.5.6 中,您还必须设置 define('HTTP_IMAGE', 'http://example.com/image_folder/');define('HTTPS_IMAGE', 'http(s)://example.com/image_path/');
      • 将图像文件夹重命名为 image_folder
      • 如果您创建了一个新文件夹,请确保权限设置正确(image_folder 文件夹和所有子文件夹为 755,图像文件为 644)
      • 已删除系统/缓存中的文件

      【讨论】:

      • 谢谢 我尝试清空系统缓存,但还是一样。
      • 好的,我升级到了 1.5.6 版,但还是一样。 HTTP_IMAGE 似乎也没有做任何事情。肯定不可能这么难。谁能告诉我他们是否可以重命名他们的图像文件夹,更新两个 config.php 并告诉我它是否有效?
      猜你喜欢
      • 2022-11-10
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 2013-03-01
      相关资源
      最近更新 更多