FILIMONOV3 07 апреля 2015 1 17
Здравствуйте.
Подскажите пожалуйста, как подружить MIGX и dropbox-2.1.2-beta
dropbox-2.1.2 настроил, как разжевано тут же. Все работает jinini.com/index.php?q=blog/cg-graphics/mari/ — картинки тянутся с Dropbox.
Но при попытке создать галлерею на MIGX и тянуть в нее изображения с Dropbox, получаю вот такую ошибку
Fatal error: Call to a member function getOption() on a non-object in dropbox/model/dropbox/dropboxmediasource.class.php on line 1275

Более подробно проблему описал уже тут forums.modx.com/thread/?thread=84501&page=1
когда думал, что это у MIGX несварение. Но Бруно утверждает, что проблема на стороне dropbox-2.1.2-beta (там же в топике).

Буду признателен, за помощь в борьбе с этой ошибкой. dropbox-2.1.2 очень классная штука, позволила прицепить 1ТБ к сайту, для изображений. Но не знаю как подружить его с MIGX.
P.s.: c Gallery пришлось попрощаться, так как я не нашел как сменить ее медиаресурс на Dropbox.
17 комментариев
Fi1osof1
Fi1osof 08 апреля 2015г в 01:50 #
Пришлите мне на почту n.lanets@modxclub.ru данные доступа в вашу админку, я посмотрю что и как. И какая у вас версия MODX? Я у себя на MODX2.3 попробовал в миге галерею сделать с источником файлов Dropbox, все робит. joxi.ru/Q2KndEBsaoD1mj

А судя по ошибке просто не инициализировался контекст. К сожалению, некоторые процессоры в MODX не идеальны, иногда требуют передачи дополнительных параметров. К примеру в resource/create надо передавать context_key, хотя процессор мог бы получить его из объекта самого документа. Здесь видимо тот же случай. Но что интересно, в initialize() медиасурса контекст автоматически подхватывается. Судя по всему выполнение медиасурса идет без выполнения initialize(), или у пользователя нет прав на загрузку данного контекста (хотя в таком случае обламывалось бы все еще в методе initialize()). Пришлете доступы, изучу детальней.

P.s.: c Gallery пришлось попрощаться, так как я не нашел как сменить ее медиаресурс на Dropbox.
В системных настройках gallery.mediaSource. Но попрощаться видимо все равно придется. Что интересно, в Gallery из управления альбомами картинки создаются в Dropbox и удаляются, но затык именно в получении превьющки. Gallery юзает свой собственный не class-based процессор для этого, который не учитывает различные типы источников файлов. Если его в этом прокачать, то все будет робить как положено :) Но пока MIGX в этом плане более продвинутый получается. Собственно, я все чаще для галерей использую именно мигу, а не Gallery. Gallery годится именно для создания и вывода нескольких галерей на одной странице, но если задача на странице выводить только ее галерею, то мига здесь лучше подходит, так как выбирать в TV-Gallery определенную галерею именно для этого документа как минимум не удобно.
Fi1osof1
Fi1osof 08 апреля 2015г в 01:57 #
P.S. Добавил небольшой коммит в модуль. Странно, раньше все работало, а сейчас что-то с неймспейсами затык возник. Возможно из-за того, что я в настройках MODX-а установил медиасурс Dropbox как основной, и из-за этого несколько изменился механизм его инициализации. Так все работает.
F
FILIMONOV3 08 апреля 2015г в 11:50 #
Только дополз на работу, сейчас попробую сделать как Вы говорите.
Fi1osof1
Fi1osof 08 апреля 2015г в 12:11 #
Судя по всему выполнение медиасурса идет без выполнения initialize()
Собственно, так и есть. Отправил PR. Можете в оффоруме написать, что вопрос решенный.
F
FILIMONOV3 08 апреля 2015г в 12:25 #
О так вы все у меня исправили уже О_О
Спасибо!
Fi1osof1
Fi1osof 08 апреля 2015г в 12:40 #
Пожалуйста!
ПР уже принят, так что новая версия миги будет с фиксом.
F
FILIMONOV3 08 апреля 2015г в 12:31 #
Если честно, то у меня были изначально подозрения на Migx. Потому, что я когда поставил ваше дополнение, и сделал все по вашей инструкции, то больше и не лазил, не гуглил и т.п. — все работало. В статьи изображения тянутся с моего аккаунта дропбокса. А вчера начал делать галлерею. И вообще никак, хоть тресни. Я уже и ваше дополнение удалил и снова поставил. Расстроился кароче…
Написал Бруно, но он как то быстро соскочил на то, что косяк не в Migx, а у вас типа: )
Спасибо большое, что помогли разобраться.
Fi1osof1
Fi1osof 08 апреля 2015г в 12:40 #
Бывает.
Пожалуйста.
Fi1osof1
Fi1osof 08 апреля 2015г в 12:54 #
Картинкам добавьте классы «img img-responsive», будут подстраиваться под ширину. joxi.ru/823OeZKCqpMn2O
А иначе не размерно joxi.ru/8AnXDv9uxEXjmO
F
FILIMONOV3 08 апреля 2015г в 15:47 #
Это я не доделал просто.
Я пытался сделать по этому мануалу rtfm.modx.com/extras/revo/migx/migx.tutorials/migx.fancybox-images-with-seperate-placeholders-in-richtext-content
Уже написал Бруно. Не получается подключить fancybox.
forums.modx.com/thread/?thread=84501&page=2
Если в ТВшке ставить медиаресурс — файловая система. То все получается — создается превьюшка, при нажатии на которую — открывается в полный размер в новом окне. Тут конечно же есть проблема — не создается модальное окно, а просто открывается в новом окне.
Но вот если медиаресурс — дропбокс, то превью не создается — просто постится огромная картинка. И при нажатии на нее выскакивает предложение скачать ее себе на компьютер. Вот так все это выглядит jinini.com/index.php?q=gallery/photography/kids.html
F
FILIMONOV3 08 апреля 2015г в 15:49 #
Вот вопрос, может тут подскажут. Не по теме, но все же.
Вот так у меня стало, когда подключил SSL. jinini.com/index.php?q=gallery/photography/kids.html
Можно как то сделать, чтобы мои ссылки опять приобрели человеческий вид? Без «index.php?q=»
Fi1osof1
Fi1osof 08 апреля 2015г в 16:38 #
Сдается мне, что у вас просто правила подмены где-то не правильно прописаны, возможно что в нгинксе.
Fi1osof1
Fi1osof 08 апреля 2015г в 17:19 #
У вас там в .htaccess два правила:
#Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent 
#https://www.jinini.com when your cert only allows https://secure.jinini.com
RewriteCond %{SERVER_PORT} !^443
RewriteRule (.*) https://jinini.com/$1 [R=301,L]

# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


Есть предположение, что они срабатывают в следующей очередности (даже не предположение, а уже проверенный факт):
1. Так как файл не найден, УРЛ подменяется на index.php?q=УРЛ
2. Так как не 443 порт, то выполняется уже редирект, но уже с измененным УРЛом.

Вот и вся магия. А почему не 443? Потому что тег base прописан http:
F
FILIMONOV3 08 апреля 2015г в 17:26 #
понятно. не понятно только как исправить: )
Вернее вы изложили все очень подробно, но так как я 3D художник, то я все равно не понял как поправить.
Fi1osof1
Fi1osof 08 апреля 2015г в 17:36 #
RewriteCond %{SERVER_PORT} !^443
RewriteRule (.*) https://jinini.com/$1 [R=301,L]
Это я закомментировал. Теперь редиректа по порту не будет. Это во всяком случае не будет генерировать редиректы типа ?q=…
А теперь везде где у вас формируется тэг base с http, делайте чтобы https было.
Бесплатные консультации исчерпаны.
F
FILIMONOV3 08 апреля 2015г в 17:40 #
Так уже и достаточно: )
Спасибо!
Fi1osof1
Fi1osof 08 апреля 2015г в 17:47 #
Пожалуйста.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.