• Плагины
  • Плагин для вывода бэкенд форм во фронтенд

Нашел небольшой туториал. Испробовал в деле. вроде бы все хорошо.... но! Проходят только простые формы, загрузка файлов, обновление полей по зависимости выдают ошибки вида AjaxHandler form::onRefresh не найден, то есть выведенная форма пытается обратится к виджетам (которые доступны только в бэкенде).
Нашел в доке вот такой пример

Event::listen('cms.ajax.beforeRunHandler', function ((\Cms\Classes\Controller) $controller, (string) $handler) {
    if (strpos($handler, '::')) {
        list($componentAlias, $handlerName) = explode('::', $handler);
        if ($componentAlias === $this->getBackendWidgetAlias()) {
            return $this->backendControllerProxy->runAjaxHandler($handler);
        }
    }
});

То есть я могу перехватить запрос и обратиться к нужному виджету, но вот беда пример не рабочий.
Выдает ошибку Метод $this->getBackendWidgetAlias() не существует!
Помогите чем можете, очень хочется решить данный вопрос

Давайте сделаем Октябрь еще лучше! Предлагайте свои пути и решения

  • reazzon и max ответили на это сообщение.

    Cryden Почему форма вообще пытается обратится к бекенд виджетам? Что за маразм?

    У тебя есть фронтенд обработчик, к бекенду он не имеет никакого отношения. Как я вижу, тут недостаток инструцкии по которой делал форму. У меня есть проще инструкция, но она хотябы работает))

    • Cryden ответили на это сообщение.

      reazzon Потому что для создания используются методы бэкенд контроллера, такие же как и при отображении форм в админке. Задача была следующая, что беря ямл файл формы модели, мы могли вводить данные с фронта , имея форму аналогичную той, что админке и со всеми её аякс плюшками.

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

      • Koresh ответили на это сообщение.

        Cryden во фронте используются компоненты, а в бэке виджеты

        А разве не контроллеры используются в бэке?

        • Cryden ответили на это сообщение.

          Koresh Контроллеры используют виджеты (форма, лист)

          5 дней спустя

          max с него и делал