Загрузка файла в LS 0.5.1
В самом общем смысле идея и ее реализация должна быть такой:
-жмем кнопку в панели markitup
-по нажатию на кнопку вылазит окно в котором выбираем файл
— далее жмем «Загрузить»
— Аякс обрабатывает нажатие кнопки «загрузить» (EventUploadFile) и запускает php скрипт, который непосредственно грузит файл в uploads/file и сообщает о результатах
Заткнулся я на втором пункте. Но начнем по порядку. Первое за что я зацепился это шаблон window_load_img.tpl. Решил взять его за основу.
Переименовал файл window_load_img.tpl в window_load_file.tpl и написал в нем код, который представлен ниже.
Это просто форма, которую я хочу отобразить по нажатию на значок в markitup панели. Значок и обработка нажатия на значок находится в файле markup_settings.js. Нас интересует это:
{name: ls.lang.get('panel_image'), className:'editor-picture', key:'P', beforeInsert: function(h) { $('#form_upload_img').jqmShow(); } }
Копируем и меняем в соотв с id формы для загрузки файла. Также я поменял className и ls.lang.get('panel_file') для того, чтобы указать свой рисунок в стилях.
{name: ls.lang.get('panel_file'), className:'editor-file', key:'X', beforeInsert: function(h) { $('#form_upload_file').jqmShow(); } },
beforeInsert — это метод который вызывется до вставки в текстовое поле элемента. function(h) — имя функция, которая должна вызваться по этому событие. jqmShow() — это метод, для показывания всплывающего окна с id form_upload_file.
Также я предварительно включил следующие строки в actions/ActionTopic/add.tpl
Я ожидаю, что по нажатию на кнопку с классом editor-file я получу окошко window_load_file.tpl. Но увы этого не происходит.
Причина в том, что после загрузки страницы создания топика в исходном коде я вижу следующее.
у формы с id = form_upload_img class=«upload-form popup jqmWindow jqmID1», а у формы с id = form_upload_file class=«upload-form popup jqmWindow».
Проблема скрыта в файле jquery.jqmodal.js, так как в нем происходит добавление этого самого jqmID, но каким способом я так понять и не смог.
Прошу помощи господа. Пока мне просто нужно отобразить форму расположенную в файле window_load_file.tpl по нажатию на кнопку в панели markitup.
Заранее благодарен
-жмем кнопку в панели markitup
-по нажатию на кнопку вылазит окно в котором выбираем файл
— далее жмем «Загрузить»
— Аякс обрабатывает нажатие кнопки «загрузить» (EventUploadFile) и запускает php скрипт, который непосредственно грузит файл в uploads/file и сообщает о результатах
Заткнулся я на втором пункте. Но начнем по порядку. Первое за что я зацепился это шаблон window_load_img.tpl. Решил взять его за основу.
Переименовал файл window_load_img.tpl в window_load_file.tpl и написал в нем код, который представлен ниже.
<form method="post" action="" class="upload-form popup jqmWindow" enctype="multipart/form-data" id="form_upload_file">
<h3>{$aLang.uploadimg}</h3>
<div>
<input type="button" value="{$aLang.uploadimg_submit}" class="button" onclick="ls.ajaxUploadImg('form_upload_file','{$sToLoad}');" />
<input type="button" value="{$aLang.uploadimg_cancel}" class="button jqmClose" />
</div>
</form>
Это просто форма, которую я хочу отобразить по нажатию на значок в markitup панели. Значок и обработка нажатия на значок находится в файле markup_settings.js. Нас интересует это:
{name: ls.lang.get('panel_image'), className:'editor-picture', key:'P', beforeInsert: function(h) { $('#form_upload_img').jqmShow(); } }
Копируем и меняем в соотв с id формы для загрузки файла. Также я поменял className и ls.lang.get('panel_file') для того, чтобы указать свой рисунок в стилях.
{name: ls.lang.get('panel_file'), className:'editor-file', key:'X', beforeInsert: function(h) { $('#form_upload_file').jqmShow(); } },
beforeInsert — это метод который вызывется до вставки в текстовое поле элемента. function(h) — имя функция, которая должна вызваться по этому событие. jqmShow() — это метод, для показывания всплывающего окна с id form_upload_file.
Также я предварительно включил следующие строки в actions/ActionTopic/add.tpl
{include file='window_load_file.tpl' sToLoad='topic_text'}
Я ожидаю, что по нажатию на кнопку с классом editor-file я получу окошко window_load_file.tpl. Но увы этого не происходит.
Причина в том, что после загрузки страницы создания топика в исходном коде я вижу следующее.
<form id="form_upload_img" class="upload-form popup jqmWindow jqmID1" enctype="multipart/form-data" action="" method="post">
<form id="form_upload_file" class="upload-form popup jqmWindow" enctype="multipart/form-data" action="" method="post">
у формы с id = form_upload_img class=«upload-form popup jqmWindow jqmID1», а у формы с id = form_upload_file class=«upload-form popup jqmWindow».
Проблема скрыта в файле jquery.jqmodal.js, так как в нем происходит добавление этого самого jqmID, но каким способом я так понять и не смог.
Прошу помощи господа. Пока мне просто нужно отобразить форму расположенную в файле window_load_file.tpl по нажатию на кнопку в панели markitup.
Заранее благодарен
1 комментарий