MaxHub
Полезности по Maxsite CMS

Как сделать общую папку uploads?

Вопросы-ответы / 1 мая 2015

Хочу сделать многоязычный сайт, установил 2 движка: один в корне, другой в подкаталоге.Вопросы:

  1. Можно ли сделать один общий каталог "uploads"?
  2. Можно ли использовать общий /system и другие?
Alex 3 1325
Комментариев: 3
  1. Никогда такого не делал, поэтому могу только теоретизировать. Так вот, теоретически, вторую задачу можно решить внеся некие правки в корневой файл index.php сайта, который вы расположили в подпапке. Там (в index.php) происходит определение констант, на основе которых потом вычисляются все пути. В частности, для папки system вас должен интересовать код:

    // Path to the system folder
    define('BASEPATH', str_replace("\\", "/", $system_path));
    // Path to the front controller (this file)
    define('FCPATH', str_replace(SELF, '', __FILE__));
    // Name of the "system folder"
    define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));

    С первой задачей, т.е. с папкой uploads ситуация немного сложнее, т.к. она появляется уже на прикладном уровне (т.е. уровне движка, а не фрейморка). Её первоначальное определение происходит в \application\libraries\maxsite_lib.php. Код:

    $this->config['uploads_dir'] = FCPATH . 'uploads/';

    Ключ uploads_dir принадлежит глобальной переменной $MSO. Можно попробовать переопределить его в файле \application\maxsite\mso_config.php. Там есть примеры в комментариях. Т.е. нужно прописать что-то типа такого кода:

    $MSO->config['uploads_dir'] = 'здесь свой путь до папки uploads';

    Буду благодарен, если попробуете и опишите здесь свои результаты.

  2. Спасибо!

    /system не стал трогать пару мегабайт погоды не делают, а в ядре я ничего менять не собираюсь.

    Было важным переназначить пути для /uploads, чтоб не плодить одинаковые файлы изображений.

    Также решил сделать общим /cache, чтоб можно было сбрасывать кэш всех языковых версий одновременно.

    Еще переназначил пути для /templates и /plugins, чтоб менять в одном месте. Используя общие /templates и /plugins нельзя будет сделать отдельный языковой файл для каждого шаблона/плагина, нужно будет все переводы хранить в одном файле в \application\maxsite\common\language\.

    Для переопределения переменных, как выше написал Илья, правил файл \application\maxsite\mso_config.php,

    переопределил следующие переменные:

    $MSO->config['uploads_url']
    $MSO->config['uploads_dir']
    $MSO->config['cache_dir']
    $MSO->config['templates_url']
    $MSO->config['templates_dir']
    $MSO->config['plugins_url']
    $MSO->config['plugins_dir']

    Пока что все работает как и хотелось, будут какие-то косяки напишу.

  3. Почему не сделать просто симлинки? В mc это всего один хоткей нажать. Я так с пяток своих сайтов перелинковывал. Плагины, движок и т.п. даже всякие там сапы.... Не вижу смысла вообще заморачиваться с путями для такой задачи. И обновление всех сайтов проходило довольно быстро.

    Единственное, где я с путями в конфигах ковырялся, это поменял расположение плагинов и тем. Ибо слишком длинные пути по умолчанию. Немного напрягали ) В сурсе можно гляунть - http://zenway.ru/

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Вход / регистрация или войти без комментирования
  Имя и сайт используются только при регистрации

Авторизация MaxSiteAuth. Войти через loginza

(обязательно)