Скажите, а у вас нет в планах полностью перейти на jQuery вместо mootools? Я так понимаю если я сам переделаю весь сайт на jQuery, то после очередного обновления всё сломается.
jQuery | |
Скажите, а у вас нет в планах полностью перейти на jQuery вместо mootools? Я так понимаю если я сам переделаю весь сайт на jQuery, то после очередного обновления всё сломается.
|
|
Скажите, а у вас нет в планах полностью перейти на jQuery вместо mootools? Я так понимаю если я сам переделаю весь сайт на jQuery, то после очередного обновления всё сломается. В планах нет, но Вы можете использовать любой удобный фреймворк - ничего критически важного на него не завязано (кроме тулбара в форме ответа, но он тоже не критичный ![]() По этой же причине не использую ajax на клиентской части. |
|
Вот организовал аплоад фото в модуле, все работает, решил прикрепить jquery плагин Uploadify, все настроил кроме указания пути к пхп обработчику..Опять те же грабли, так сказать. Не знаю или это нужно плагин сам копать..
Javascript
Почему то так не срабатывает в шаблоне.. |
|
А под /mymodule имеется ввиду адрес узла или Вы пытаетесь обратиться напрямую к каталогу с модулем?
Вообще у меня аналогичная конструкция с плагином Fancyaupload работает нормально. /mymodule-upload_image.ajax. В конце желательно указывать один из типов: xml, json, ajax, js - тогда в ответе сервера не будет содержаться отладочной информации ломающей парсинг js. |
|
Да, адрес узла.
получается url в браузере: mysite.ru/mymodule-upload_image.167/ Где 167 - уник id к которому "цепляется" фото. Тип .js указан. В настройках плагина тоже указал : Javascript
Так все работает и показуется загрузка файла. Но вот бэкэнд видимо найти он не может.:/ |
|
получается url в браузере: mysite.ru/mymodule-upload_image.167/ Должен получиться mysite.ru/mymodule-upload_image.167.js Так все работает и показуется загрузка файла. Но вот бэкэнд видимо найти он не может.:/ Ну тут лучше бы не гадать, а проверить чем-то вроде консоли firebug. |
|
Скажите, а у вас нет в планах полностью перейти на jQuery вместо mootools? Я так понимаю если я сам переделаю весь сайт на jQuery, то после очередного обновления всё сломается. Спасибо. Вы меня успокоили. Не могу я эти mootools Ваши. jQuery наше всё. А "тулбар в форме ответа" это где? В форуме? Так у меня форума не будет. |
|
Спасибо. Вы меня успокоили. Не могу я эти mootools Ваши. jQuery наше всё. В форуме, гостевой и прочих местах, где есть пользовательский ввод. За его генерацию отвечает скрипт bbcode.js. Если его убрать, то никакого тулбара просто не будет - ничего не обрушится ![]() Этот скрипт я написал с использованием mootools, но он очень простой и, думаю, Вам не составит труда, при необходимости, адаптировать его для работы с jQuery. |
|
странно..firebug вообще ничего не показывает.
Кстати у меня идет переадресация на этот адрес (/mymodule-upload_image) после заполнения первой формы PHP
Может быть в этом проблема? |
|
Генерация URL правильно выглядит так:
PHP
или вот так PHP
странно..firebug вообще ничего не показывает. Судя по описанию, у вас вообще не работает ajax запрос - получается обычная отправка формы. Отсюда и пустые показания firebug (вы же раздел "сеть" в нем смотрите?) и перезагрузка страницы с формой. |
|
Вот что мне еще подумалось: вполне возможно что этот скрипт использует flash загрузчик - это вполне может стать причиной пустой консоли firebug. Этот загрузчик в конце работы ожидает от скрипта некий ответ, а Вы вместо этого отправляете ему код переадресации. Надо посмотреть какой ответ отдает оригинальный скрипт. Ваш модуль должен отдавать точно такой же.
|
|
Вот что мне еще подумалось: вполне возможно что этот скрипт использует flash загрузчик - это вполне может стать причиной пустой консоли firebug. Этот загрузчик в конце работы ожидает от скрипта некий ответ, а Вы вместо этого отправляете ему код переадресации. Надо посмотреть какой ответ отдает оригинальный скрип. Ваш модуль должен отдавать точно такой же. да, именно flash и используется. Попробую, спасибо Вам за наводку ![]() |
|
Хм.. "поковырялся" немного, вроде бы ничего особенного.. Обработчик просто ловит то что передано аплоадером... Проверил - .swf, конечная папка куда все ложится, - все пути указаны верно. Но словить что идет в 'script' : '/mymodule-upload_image.js' не получается.
Значит просто ничего не идет обработчику, и проблема наверное во flash.. |
|
Думаю, флеш не виноват. Попробуйте вставить в файл index.php в корне сайта что-то вроде
PHP file_put_contents($_SERVER['DOCUMENT_ROOT'].'/storage/request.log', print_r($_GET, true).print_r($_POST, true)); и посмотрите что приходит в результате запроса от флешки. Или же попробуйте использовать "тяжелую артиллерию" для анализа запросов (что-то на подобие IEInspector HTTP Analyzer). Почти наверняка данные просто куда-то не туда посылаются. Там еще может быть проблема с передачей сессии - флеш этим тоже грешит. И еще одно - флеш плеер посылает другой юзерагент, нежели браузер, так что обратите внимание в настройках сайта на опцию "Защита сессии": стоит установить ее в режим "ip", или вообще отключить на период тестирования. |
|
Вот что получилось:
PHP
Значит вся проблема в параметре 'folder', хотя я задавал 'folder' : 'image',. Действительно данные нетуда отправляются. Наверное баг в самом плагине. Спасибо Вам за помощь ![]() |
|
Да нет, вроде бы все нормально как раз... Осталось проверить содержимое массива $_FILES...
|
|
хм я думал что [folder] => /mymodule-upload_image.167/image - так не правильно.
Тогда, сейчас проверю $_FILES. Вот что в массиве $_FILES PHP
|
|
Ну вот видите... файл присылает. Теперь надо тоже самое проверить внутри модуля и посмотреть куда он сохраняет файл. А затем отдать флешке корректный ответ.
|
|
Ну вот видите... файл присылает. Теперь надо тоже самое проверить внутри модуля и посмотреть куда он сохраняет файл. А затем отдать флешке корректный ответ. Очень благодарен Вам за помощь, сам тут бы точно не разобрался... Посмотрел что приходит в пхп обработчик фото, - передается $_GET. Остальные 2 массива пусты. |
|
Ну вот видите... файл присылает. Теперь надо тоже самое проверить внутри модуля и посмотреть куда он сохраняет файл. А затем отдать флешке корректный ответ. Очень благодарен Вам за помощь, сам тут бы точно не разобрался... Посмотрел что приходит в пхп обработчик фото, - передается $_GET,$_REQUEST. Остальные 2 массива пусты. А каким образом теперь проследить путь куда сохраняется сам файл? Т.к. на сервер он не доходит...? |
|
Посмотрел что приходит в пхп обработчик фото, - передается $_GET,$_REQUEST. Остальные 2 массива пусты. А каким образом теперь проследить путь куда сохраняется сам файл? Т.к. на сервер он не доходит...? На сервер файл доходит: Text
Надо проверять на каком этапе у Вас теряются данные. Попробуйте предложенный код вставить в начало index.php модуля. Причем, немного его модифицировать: PHP
Так файл не будет перезаписываться при каждом запросе и Вы сможете отследить все запросы (если где-то сдвоенные проскакивают). |
|
Понял, от всей души благодарен Вам за помощь. Буду набираться опыта и знаний
![]() Попробую довести поставленную задачу ![]() |
|
Добрый вечер! Все таки что - то да не так. Без jquery плагина, при загрузке в php аплоадер приходит массив $_FILES, и все ок.
PHP
С этим же плагином при идентичных php файлах далее index.php модуля ничего не доходит, в сам аплоадер доходит пустой массив...Данные теряються после index.php в корне модуля. ![]() |
|
То есть я правильно понимаю: в index.php модуля данные еще есть?
|
|
Я уже писал выше о проблемах которые надо решить при загрузке через флеш, но попробую написать еще раз:
1. Флеш корректно не передает идентификатор сессии. То есть отправляете файл как зарегистрированный пользователь, а приходит он уже от имени "гостя" - если у Вас стоит какая-то проверка прав, то их просто не хватит. Необходимо идентификатор сессии прикручивать к запросу ручками (наверняка в плагине есть такая опция). Собственно, об этом написано в самом первом пункте руководства по скрипту. 2. Флеш шлет другой юзерагент, нежели браузер, так что валидировать сессию по методу "ip+user_agent" нельзя, так как от браузера и от флеш-плагина они приходят разные. В итоге разрыв сессии и все прелести описанные в первом пункте. |
|
Я уже писал выше о проблемах которые надо решить при загрузке через флеш, но попробую написать еще раз: я сразу установил на "ip", что же, тогда буду дальше разбираться, спасибо! Да, в index.php все есть. |
|
А права как-то проверяете? если в index.php все приходит, а в обработчик нет - значит показывайте index.php
![]() |
|
А права как-то проверяете? если в index.php все приходит, а в обработчик нет - значит показывайте index.php ok ![]() PHP
|
|
Спорим что $user_id у Вас равен -1 и, как следствие, access('add') возвращает false?
![]() Если я прав - смотрите мое предыдущее сообщение. |
|
Спорим что $user_id у Вас равен -1 и, как следствие, access('add') возвращает false? Да, верно, ух и голову же я Вам заморочил своими вопросами ![]() Благодарю Вас. |