MIGX -мультизагрузка:проблема с источниками файлов.

С подачи dashukin, воспользовался этой инструкцией rtfm.modx.com/extras/revo/migx/migx.tutorials/migx.use-resource-specific-media-source-and-multifile-uploader Создал источник файлов ResourceMediaPath, MIGX — TV resourcealbum, конфигурацию resourcealbum Источники файлов создавал немного творчески, т.е. не [[migxResourceMediaPath? &pathTpl=assets/resourceimages/{id}/]], а [[migxResourceMediaPath? &pathTpl=assets/img/rooms/{id}-{alias}/]]. Кроме того, я переименовал некоторые столбцы в таблицах на русский и добавил один свой новый столбец.

Проблема в том, что если жмякнуть на Upload Files, то в вызванном окне в ссылках отсутствует assets/img/rooms/. Т.е. домен_сайта//дальнейший адрес. Тогда как по-логике там должно быть домен_сайта/assets/img/rooms/дальнейший адрес.

Выглядит это примерно так: fd707a.png 260ba7.png eae034.png

Если у resourcealbum сменить источник файлов на дефолтный, то Ajax-Upload вроде работает. Но не грузить же теперь фотки в корень.

Собственно, о проблеме писал в другом сообществе modx.im/blog/questions/1281.html

Но я после этого перелапатил все сообщества по Modx, которые знал. Заметил, что на вопросы по этой теме отвечают долго и вот решил т.о. немного ускорить ответ. Вдруг здесь я его быстрее получу.

Comments

Шли в личку логин/пароль и ссылку на админку (прям на страницу, где эта мультизагрузка используется). Только так, чтобы там уже была эта ошибка с путями.

Все очень просто: в источниках надо выставлять не только путь на диске, но и УРЛ-путь. Они могут отличаться, но надо знать когда и как. А то так получается, что дисковая папка отличается, а УРЛ считается от коря.

P.S. сейчас все работает.

Продолжая тему хостингов, у нас на таймвебе было 15 сайтов на Millennium http://timeweb.ru/services/hosting/ Я читал раньше ваши отзывы о нём, но что-то не ахти он быстро работает. А на том, что вы видели, эво летает. Это с Рево такие проблемы. Кстати, было б здорово найти где-нибудь минимальные требования по оперативной памяти для рево.

А насчёт Ajax-Upload, как бы переименовать кнопки Upload Files и Load from mediasource? В /assets/components/migx/imageupload нашёл css и js, думал через скрипты загружается, так не нашёл, где они там прописаны…

Я тут высыплю ещё ворох вопросов, если на что-нибудь ответите — сделаете мне хорошо. Ну а нет — нету в ответах острой необходимости. По внешнему виду, длинна инпутов в окне MIGX, которое появляется, когда добавляешь фото обычным способом, не мультизагрузкой, чуть больше необходимого из-за этого оно не помещается в свой контейнер, вылезает, из-за этого не видно бордера справа. Тоже при переносе TV с помощью настройки форм.

Ещё вот какое дело, у меня в таблице есть столбец «Метка». По умолчанию о 1 и нужен, чтобы можно было разделить фотографии метками на группу и вывести в разных частях страницы группы фоток с разными метками. Так вот, при массовой загрузке она не устанавливается автоматом. Первое, что приходит в голову, добавить плагин, который будет проверять поле на пустату при сохранении и если пусто — ставить 1. Но может есть способ лучше? Возможно ли добавить массовое действие, удаление отмеченных чекбоксом, скажем? Самый последний вопрос: созданные по инструкции параметры Источников файлов

Add three new settings to the media source:

thumbX: 200 thumbY: 200 maxFiles: 20

Почему-то невозможно редактировать. Нажимаю " редактировать — появляется меню — меняю параметры — жму «выполнить» — ничего не происходит и не меняется.

Ещё раз спасибо, что выручили. И извиняюсь, за назойливость — приставучисть. ))

Эво везде летает. Что ему не летать? Там весь двиг — несколько файлов. Рево гораздо более требовательный. Минимальные требования Рево проверяет при установке.

А насчёт Ajax-Upload, как бы переименовать кнопки Upload Files и Load from mediasource?

Сорри, но это не полезу ковырять. Это приятности, а не критическая поломка.

За красотой ко мне не обращайтесь. Я даже не прочитаю такое. Я серверный программист, а не верстальщик, дизайнер или типа того. Мне это все не интересно.

Не буду. Это ж админка, я предположил, что кривость в ней — результат того, что я там что-то поставил не так. Но если это нормально, то стили-то я подправлю.

А я не знаю нормально или нет. Я за такими вещами не слежу. А MigX вообще всего пару раз использовал, почти по принуждению.

А не подскажете, как в плагине получить Источник файлов для ресурса? Я там выше заикнулся про плагин по некоторым дополнительным полям. Хочу по дороге ещё фото на ресайз отправить и в ячейке migx сохранить. Как-то так. Мне на 'input' => $photo нужно подать картинку и путь к ней. Но в migx же путь не храниться, у неё свой источник файлов Можно собирать это assets/img/rooms/{id}-{alias} как-то так.

 $id=$resource-&get('id');
 $alias=$resource-&get('alias');
 $patch= 'assets/img/rooms/'.$id.'-'.$alias;

Но наверно более правильно было бы получить путь, как-то обратившись к TV resourcealbum? Честно гуглил на тему русскоязычные ресурсы. Английского хватает. чтобы понять конкретные страницы документации, но копаться, искать что-то в документации тяжело. Как вообще получить все параметры тв? Пробовал в консоли ввести

$tv = $modx->getObject('modTemplateVar',array('name'=>'resourcealbum'));
    echo '<pre>';
    print_r($tv);
    echo '</pre>';

Пути там точно не увидел.

Я точно не знаю твоей задачи (и уже давай на Ты). Но в общих чертах дам наколку: TV не хранит пути самого сурса. Все берется из него. То есть в момент рендеринга TV-шки, она смотрит какой медиасурс назначен ей, и обращается уже к нему, чтобы плучить актуальное значение пути. Следовательно, всегда и нужно работать с медиасурсом непосредственно. Я вот так это делаю:

// Получаем объект
if(!$id OR !$source = $modx->getObject('sources.modMediaSource', $id)){return '';};
// Инициализируем 
$source->initialize(); 
// $callback - getBaseUrl или getBasePath
$result = $source->$callback($params);
unset($source);
return $result;