Единственно что, так это я не понял нафига делать

Единственно что, так это я не понял нафига делать такую замудренность в виде base(Path/Url)Relative. Ведь можно же было всё это автоматически определять по наличию/отсутствию слэша/MODX_BASE_PATH в начале строки basePath/baseUrl медиасоурса и, исходя из этого, формировать конечный адрес. Т.е., к примеру, вот кусок кода моего компонента:

function getFileUrl ($input) {
    $fileUrl = $this->fileHandler->getDirectoryFromFile($input);
    // если в $input из сниппета пришла строка вида - "filename.ext", т.е. без слэшей и папок
    if ($fileUrl == './') {
        $fileUrl = '';
    }
    $inputUrlType   = '';
    // если адрес относительный
    if (!$this->isAbsoluteUrl($fileUrl)) {
        // значит пришёл адрес вида "images/picture.jpg"
        $inputUrlType = 'relative';
    }
    // если абсолютный, но не существующий и не содержащий MODX_BASE_PATH в начале строки
    else if (!file_exists($fileUrl) && strpos($fileUrl, $this->basePath) !== 0) {
        // значит пришёл адрес вида "/images/picture.jpg"
        $inputUrlType = 'absolute';
    } else {
        // иначе пришёл полный физический путь.
        // так сделаем же из него абсолютный!
        $fileUrl = '/'. substr($fileUrl, strlen($this->basePath));
        $inputUrlType = 'absolute';
    }
    $fileUrl = $this->fileHandler->sanitizePath($fileUrl);
    $fileUrl = $this->fileHandler->postfixSlash($fileUrl);

    $this->inputUrlType = $inputUrlType;
    $this->fileUrl      = $fileUrl;
    return $this->fileUrl;
}
function getFilePath () {
    switch ($this->inputUrlType) {
        // если файл пришёл в виде относительного урл
        case 'relative':
            $filePath = $this->basePath .'/'. $this->baseUrl .'/'. $this->fileUrl;
            break;
        // если файл пришёл в виде абсолютного урла
        case 'absolute':
            $filePath = $this->basePath .'/'. $this->fileUrl;
            break;
    }
    $this->filePath = $this->fileHandler->sanitizePath($filePath);
    return $this->filePath;
}
function isAbsoluteUrl ($path) {
    $path = $this->fileHandler->sanitizePath($path);
    return (substr($path, 0, 1) == '/');
}

И вот здесь абсолютно пофигу — пришёл ли относительный путь, абсолютный или вообще полный физический — всё корректно обработается и вернутся правильные fileUrl и filePath. Поэтому эти 2 настройки (base(Path/Url)Relative) поначалу меня и ввели в замешательство — я думал, что такое, как и у меня, должно на автомате обрабатываться :-)