2013-05-20 1 views
2

Друзья,Как вы получите файл загрузки модуля Param (поля формы) для работы в Joomla 2.5 (серверной)

Я пытаюсь получить поле Загрузить файл формы, чтобы работать на Joomla 2.5 (+0,11) , По какой-то причине я не могу загрузить файл.

Как только я нажимаю «Сохранить», поле загрузки файла говорит «Нет файла».

Я искал документы и обсуждения безрезультатно. Я нашел информацию о том, как сделать загрузку файла на компонентную часть - используя PHP, конечно.

Я прикрепил свой код файла XML (но удалил личную идентификационную информацию и т. Д.).

Я очень ценю любую помощь в этом, отличную от других сообщений в Stack, которые сосредоточены на решении PHP. Я ищу это, используя параметры модуля.

http://docs.joomla.org/File_form_field_type

<?xml version="1.0" encoding="utf-8"?> 
<extension 
     type="module" 
     version="2.5" 
     client="site" 
     method="upgrade"> 
    <version>2.5.0</version> 
    <config> 
     <fields name="params" > 
      <fieldset name="basic"> 
       <field name="file1" type="file" label="Upload" description="Upload a file" size="10" /> 
      </fieldset> 
     </fields> 
    </config> 
</extension> 

Это говорит в документации, чтобы использовать ENCTYPE = «многослойную/форм-данных» в поле формы, однако я не уверен, где что будет здесь ... Я попытался обертывание поля в поле формы и используя это, я также попытался настроить его на элементы конфигурации и полей безрезультатно.

Любая помощь очень ценится, спасибо друзьям.

+0

Я не уверен, что вы можете заставить это работать. Всякий раз, когда я использую это в компоненте, я должен сам добавить обработку загрузки. Я не думаю, что это сработает без него. Что вы пытаетесь сделать с этим файлом? Возможно, вам удастся использовать тип поля Media, если файл является образом. –

+0

Файлы, скорее всего, будут PDF/xml/doc. Из того, что я понимаю, большинство людей обрабатывают загрузку вручную; Я просто чувствую, что, поскольку для этого есть параметр модуля, разработчики Joomla могли записать его в ... (или это дикая охота на гуся) – Jaime

ответ

1

Недавно я столкнулся с той же проблемой, загрузив файл из внешнего компонента компонента/модуля.

Из того, что я нашел, что я могу вам сказать, что:

  • с использованием типа file просто генерирует HTML, но не функциональность.
  • тип media вы можете загружать файлы, как правило, изображения и фотографии. Я не имел успеха с pdf/xml/doc (особенно, чтобы медиа-менеджер отображал их, чтобы я мог выбрать один - есть представление, которое показывает только медиафайлы). Для некоторых типов документов вам необходимо настроить некоторые проверки безопасности, чтобы разрешить загрузку этих файлов.
  • Тип fildlist создает выпадающий список доступных файлов, поэтому вы можете выбрать его.

Возможное решение (я не пробовал, но переосмысление того, что я пробовал, это может работать). 1 Загрузите файл со СМИ. 2. Обновите страницу, сохранив ее. 3. Выберите файл из раскрывающегося списка.

Дайте мне знать, если это поможет.

+0

Ха-ха, да, это именно то, что я нашел. Media/filelist будет обходным путем, но я чувствую, что он не будет слишком профессиональным. Кажется, что компонент - единственный действительно чистый вариант, который у меня есть. Надеюсь, мы выясним, возможно ли это в конечном итоге. Было бы намного проще и проще для всех, если бы функциональность файла была встроена в модуль Joomla. Однако, спасибо; Я очень ценю ваше время и ответ! – Jaime

+0

Сообщите нам, если вы найдете достойное решение. –

1

Если у вас есть вспомогательный компонент и класс таблиц, вы можете легко использовать тип поля файла для обработки всего HTML-кода переднего плана и перегрузить метод хранилища в классе JTable. Вставьте следующие строки кода:

 $src = $form['jform']["tmp_name"]['document']; 
    $path = JPATH_ROOT . "/media/com_mycomponent/documents/"; 
    $name = $form['jform']['name']['document']; 
    $this->document = $name; 
    JFile::upload($src, $path . $name); 

Этот фрагмент кода предполагает, что имя поля является документом, и вы хотите сохранить, где когда-либо точек пути к.Однако это поможет вам сохранить фактический файл; вам нужно будет добавить логику в класс таблицы или модели для флага и изменить форму, чтобы отразить файл, который действительно загружен, но при этом по-прежнему предоставляет возможность изменения при необходимости.

У кого-нибудь есть предложения для этого lol?

 Смежные вопросы

  • Нет связанных вопросов^_^