Здравствуйте, тоже столкнулся с такой проблемой... Решение нашел в течении часа! Все кроется в компоненте Опенкарта (/admin/controller/common/filemanager.php). Перед тем как загрузить список файлов контроллер проверяет путь к папке с помощью функции realpath() и сравнивает его с адресом папки указанным в (/admin/config.php -> DIR_IMAGE), в этом та и вся загвоздка при вызове realpath(DIR_IMAGE) он вернет адрес папки на которую ссылается сам симлинк.
Простой пример для понимания:
-- Допустим у вас есть общая папка со всеми сайтами -> [test1.com, test2.com]. Вам нужно что-бы папка с картинками из test1.com была и для test2.com!
1. Заходим в папку с сайтом test2.com и удаляем папку image
2. Создаем симлинк /test1.com/image -> /test2.com/image
[ теперь если вызвать realpath('/test2.com/image'), он вернет адрес => test1.com/image так как реальный путь к папке именно такой ]
3. Заходим в папку /admin на сайте test2.com и открываем config.php, далее находим строчку
4. Далее нам нужно изменить его для отредактировать вот так:
5. Вуаля! Все работает!
Почему?
Файловый менеджер открывает папку /test2.com/image и проверяет его реальный адрес и стравнивает его с установленным в config.php, соответственно symlink возвращет ссылку на /test1.com/image, а при сравнении двух строк /test1.com/image и /test2.com/image будет ошибка так как они не одинаковы! Поэтому он и не показывает файлы!