Modx Revo + Chrome + Uploadify = "Опаньки". В чём дело?
Добрый день. Столкнулся с такой проблемой. У меня есть свой сниппет, который получает _POST данные и вставляет их в базу посредством xPDO API. Но когда захожу на страницу добавления или когда нажимаю кнопку «Добавить», мне выдаёт вот такую фигню: «Опаньки...» — support.google.com/chrome/answer/95669?p=e_awsnap&rd=1, и это происходит именно в браузере Chrome. Во всех остальных браузерах всё в порядке, при чём даже в браузерах на основе Chrome (Yandex-браузер, к примеру). Но когда удаляю вызов сниппета со страницы, то всё хорошо даже в хроме.
Скажите, пожалуйста, в чём может быть дело? На странице гугла решения не нашёл, в поисковиках тоже.
Вот код сниппета:
Скажите, пожалуйста, в чём может быть дело? На странице гугла решения не нашёл, в поисковиках тоже.
Вот код сниппета:
// Сниппет Uploadify v0.01 Beta
if($callNum == '') { $callNum = '0'; } // В который раз вызываем скрипт на странице.. если один раз - не указывать.. по умолчанию стоит "0"
if($id == '') { $id = ''; }
if($uid == '') { $uid = $modx->user->get('id'); }
if($blockFiles == '') { $blockFiles = 'queue'; }
if($prefixFiles == '') { $prefixFiles = 'uploFile'; }
$hash = spl_object_hash($modx);
if(!$_SESSION['uploCallNum'] OR $_SESSION['uploCallNumHash'] != $hash) {
$_SESSION['uploCallNum']='0';
$_SESSION['uploCallNumHash']=$hash;
?>
<script src="js/uploadify/jquery.uploadify.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="js/uploadify/uploadify.css" />
<?
}
?>
<div id="<?=$blockFiles?>"></div>
<div style="clear:both"></div>
<input id="file_upload_<?=$blockFiles?>" name="file_upload_<?=$blockFiles?>" type="file" multiple="true" />
<script type="text/javascript">
<? $timestamp = time(); ?>
$(function() {
$('#file_upload_<?=$blockFiles?>').uploadify({
'formData' : {
'id' : '<?=$id?>',
'uid' : '<?=$uid?>',
'callNum' : '<?=$_SESSION['uploCallNum']?>',
'prefixFiles' : '<?=$prefixFiles?>',
'timestamp' : '<?=$timestamp?>',
'token' : '<?=md5('unique_salt' . $timestamp)?>'
},
'queueID' : '<?=$blockFiles?>',
'buttonImage' : '/images/browse-btn.png',
'swf' : '/js/uploadify/uploadify.swf',
'uploader' : '/js/uploadify/uploadify.php',
'removeCompleted' : false,
'fileSizeLimit' : '2999999',
'fileTypeDesc' : 'Файлы изображений',
'fileTypeExts' : '*.gif; *.png; *.jpg; *.jpeg; *.JPG; *.JPE; *.jpe',
'itemTemplate' : '\
<div id="${fileID}" class="uploadify-queue-item">\
<div style="padding:10px 10px 5px;">\
<div class="cancel">\
<a href="javascript:if(confirm(\'Уверены, что хотите удалить данный файл?\')) { $(\'#${instanceID}\').uploadify(\'cancel\', \'${fileID}\'); }">X</a>\
</div>\
<span class="fileName">${fileName} (${fileSize})</span><span class="data"></span>\
<div class="">\
<input type="hidden" name="files<?=($prefixFiles?'['.$prefixFiles.']':'')?>[${fileID}][filePath]" value="/uploads/<?=($uid?$uid.'/':'')?><?=($prefixFiles?$prefixFiles.'/':'')?><?=time()?>_${fileID}" />\
<input type="hidden" name="files<?=($prefixFiles?'['.$prefixFiles.']':'')?>[${fileID}][fileOldName]" value="${fileName}" />\
<input type="text" name="files<?=($prefixFiles?'['.$prefixFiles.']':'')?>[${fileID}][fileName]" value="" placeholder="Введите описание файла" />\
</div>\
</div>\
<div class="uploadify-progress"><div class="uploadify-progress-bar"> </div></div>\
</div>'
});
});
</script>
<?
$_SESSION['uploCallNum'] = $_SESSION['uploCallNum']+1;
return '';
Комментарии: 7
Помещай «return;» в разные места сниппета и смотри с какой строки начинается такая ошибка.
Спасибо! Оказалось, что проблема не в этом сниппете, а в том, где идёт вызов Uploadify… выше обновил код сниппета. Не знаете, почему хром так реагирует на JS код вызова uploadify?
Конечно, я его тестил даже. Но я к сожалению не нашёл в нём того, что мне нужно. А нужно мне, чтобы он привязывался к определённому префиксу + id, чтобы когда добавляем какую-то запись в таблицу, картинки загруженные с помощью uploadify привязывались к этой записи по уник. префиксу и id (этой записи). Также, если мы допустили ошибки в форме добавления какой-то записи, при перезагрузке страницы картинки загруженные пользователем сохранялись и выводились ему. Ну и при редактировании, чтобы была возможность отредактировать описание картинки и удалить её, в случае необходимости.
То есть, вместо работы с таблицей БД готового дополнения ты предпочитаешь написать с нуля вообще всё?
Ну, удачи, что ли.
Ну, удачи, что ли.
Да я уже написал, Василий. Давненько. Правда не так элегантно, как у тебя, но работает. :) Однако вот такая вот проблема всплыла… и к сожалению она не от меня зависит, почему-то… :(
Василий, можно ли будет используя твоё готовое дополнение Uploadify как-то перехватывать массив с загруженными картинками для сохранения их названий в другой таблице, кастомной.
В документации не нашел ничего похожего и думаю — стоит ли покупать его? Получится ли как-то перехватывать пути к картинкам и записывать их в своей таблице…
В документации не нашел ничего похожего и думаю — стоит ли покупать его? Получится ли как-то перехватывать пути к картинкам и записывать их в своей таблице…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.