10 сент. 2013 г., 15:10

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/дальнейший адрес. Выглядит это примерно так ? ? ? Если у resourcealbum сменить источник файлов на дефолтный, то Ajax-Upload вроде работает. Но не грузить же теперь фотки в корень. Собственно, о проблеме писал в другом сообществе modx.im/blog/questions/1281.html Но я после этого перелапатил все сообщества по Modx, которые знал. Заметил, что на вопросы по этой теме отвечают долго и вот решил т.о. немного ускорить ответ. Вдруг здесь я его быстрее получу.
Шли в личку логин/пароль и ссылку на админку (прям на страницу, где эта мультизагрузка используется). Только так, чтобы там уже была эта ошибка с путями.
Все очень просто: в источниках надо выставлять не только путь на диске, но и УРЛ-путь. Они могут отличаться, но надо знать когда и как. А то так получается, что дисковая папка отличается, а УРЛ считается от коря.
?
P.S. сейчас все работает.
Поклон вам, выручили.
Продолжая тему хостингов, у нас на таймвебе было 15 сайтов на Millennium 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;
P.S. следует учитывать, что в данном случае используется текущий контекст.

Добавить комментарий