URL-адрес бэкэнда octobercms выдает ошибку 404

Я создаю плагин Octobercms. Я создал форму, но я также хочу загрузить изображение в форму.

У меня есть модальная ссылка на текстовое поле ввода, поэтому я могу просматривать и загружать изображения. но проблема в том, что я пытаюсь, я все время получаю ошибку 404.

Я создаю новый контент на http://www.domain.com/admin/author-name/plugin-nam/plugin-name/create. С URL-адресом все в порядке, см. форму.

Но мой модальный вызов php-скрипта на http://www.domain.com/plugins/author-name/plugin-name/app/image-manager/image.php, и я получаю ошибку 404.

Полагаю, мне нужно установить что-то routes.php, но я не знаю, что мне нужно установить, потому что у меня есть Route::get('*/file-manager/image.php', 'author-name\plug-name\app\file-manager\image.php');


person Wouter    schedule 22.03.2015    source источник


Ответы (1)


Для этого можно использовать структуру AJAX. Вместо вызова скрипта попробуйте использовать частичный _image.htm. В атрибутах формы используйте data-request="onImageUpload" data-request-update="'image': '#image'", а в create.htm используйте makePartial('image', ['image' => $image] ) ?>

В конструкторе контроллера создайте переменную для $image и изначально установите для нее значение null. Создайте функцию onImageUpload() с кодом загрузки изображения, а также задайте для этой переменной путь к загруженному изображению. Итак, теперь, когда вы загружаете изображение, оно не только выполняет любой пользовательский код, который вы использовали в image.php, внутри самого onImageUpload(), а не имеет отдельный файл image.php, а также обновляет изображение при загрузке.

Частичный _image.htm должен иметь код как

{% if image %}
    <img src="{{image}}" />
{% endif %}

И create.htm должен иметь

<div id="image">{{ "{% partial \"image\" %}" }}</div>

Именно там, где вы хотите, чтобы изображение появилось

person Saifur Rahman Mohsin    schedule 22.03.2015