Страница 1 из 1

Работа с формами v5.7

СообщениеДобавлено: 05 дек 2014, 14:21
rusonline
Прошу помочь - при заполнении формы выходит ошибка
Class 'Concrete\Block\Form\FileImporter' not found

В PHP включено данное расширение, где же еще включить эту опцию, чтобы форма работала с загрузкой файлов?

Спасибо.

Сразу еще вопрос:, почему в форме не реализована поддержка загрузки нескольких файлов., как, например в диалогах? Можно ли применить данный загрузчик к форме?

Re: Работа с формами v5.7

СообщениеДобавлено: 09 дек 2014, 11:01
rusonline
Друзья!, - разве никто не сталкивался с этим? --ищу-копаю везде, но не могу разобраться без вас.. (

Re: Работа с формами v5.7

СообщениеДобавлено: 09 дек 2014, 13:15
Count_Raven
Ну, для начала нужно разобраться вот с этим:
Class 'Concrete\Block\Form\FileImporter' not found


Надо выяснить почему этот класс не найден. Без него работать не будет.
Файл-то с классом вообще существует? Права доступа на него нормальные стоят?

Re: Работа с формами v5.7

СообщениеДобавлено: 09 дек 2014, 13:45
rusonline
Спасибо за реакцию, уважаемый Count_Raven!
Версию 5.7 скачал с оф сайта и ничего не менял, - но данный файл по указанному пути отсутствует..(

Re: Работа с формами v5.7

СообщениеДобавлено: 09 дек 2014, 15:40
Count_Raven
Не, по указанному пути его и не должно быть. Этот класс находится в ядре по адресу /concrete/src/File/Importer.php

А с формой, это, короче, баг в 5.7.

Откройте файл /concrete/blocks/form/controller.php

там будет такое начало:
Код: Выделить всё
<?php
namespace Concrete\Block\Form;
use Loader;
use \Concrete\Core\Block\BlockController;
use User;
use Page;
use UserInfo;
use Exception;
class Controller extends BlockController {


Добавьте туда
Код: Выделить всё
use FileImporter;


Должно получиться типа:
Код: Выделить всё
<?php
namespace Concrete\Block\Form;
use Loader;
use \Concrete\Core\Block\BlockController;
use FileImporter;
use User;
use Page;
use UserInfo;
use Exception;
class Controller extends BlockController {


Отправил им на баг-трекер информацию о проблеме.

Re: Работа с формами v5.7

СообщениеДобавлено: 09 дек 2014, 22:56
Count_Raven
Ответили, что это уже было исправлено на GitHub и войдет в следующий релиз.
Нашел этот commit.

Если не хочется ждать следующего релиза, то можете просто взять этот файл с GitHub, там ещё есть изменения, кроме тех, о которых я написал.

Вот изменения, связанные с этим моментом:
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку

Re: Работа с формами v5.7

СообщениеДобавлено: 09 дек 2014, 23:48
guyasyou
А сделать себе сборку С5 из GitHub сложно? И будет ли такая сборочка работать?

Re: Работа с формами v5.7

СообщениеДобавлено: 10 дек 2014, 00:32
rusonline
Спасибо Вам! Это исправлено и заработало! _кул.

но если бы прикрутить к формам flash upload, чтобы не по одному файлу.., а как в "диалогах" - сразу несколько..

Re: Работа с формами v5.7

СообщениеДобавлено: 10 дек 2014, 09:15
Count_Raven
guyasyou писал(а):А сделать себе сборку С5 из GitHub сложно? И будет ли такая сборочка работать?

Нет, просто клонируйте себе репозиторий локально и пользуйтесь или там ещё есть кнопочка справа "Download ZIP" - можно скачать архивом.
Когда еще 5.7 в релиз не вышла я её с GitHub и брал посмотреть.

Re: Работа с формами v5.7

СообщениеДобавлено: 10 дек 2014, 09:23
Count_Raven
rusonline писал(а):но если бы прикрутить к формам flash upload, чтобы не по одному файлу.., а как в "диалогах" - сразу несколько..

Ну, это не совсем верно по крайней мере по следующим причинам:

1. Flash лучше стараться никогда не использовать. Сама компания Adobe (производитель Flash) даже рекомендует не использовать Flash и по возможности переходить везде на HTML5/JavaScript. Они даже перестали официально производить Flash для Linux/Android кроме Google Chrome. В любом случае Flash это не есть гуд и лучше использовать более современные решения.

2. Блок Form предназначен для создания простых форм и там не ставилось целью создать комбаин. Для более продвинутых форм для Concrete5 5.6 были коммерческие дополнения, если не ошибаюсь, одно из них называлось Advanced Forms, там было больше возможностей. Если создается какая-то серьезная/сложная форма, то я бы для этого писал отдельное собственное дополнение. С другой стороны, в принципе, никто не мешает взять блок Form, клонировать его и внести изменения для поддержки multiple files upload - там не так много дел на самом деле.