Closed StepanRodionov closed 6 years ago
Приветствую, спасибо за работу :) Единственное надо переделать хелпер формы, если вы посмотрите на соседние хелперы, то обратите внимание что каждый метод независим друг от друга и не меняет состояние хелпера, у вас же состояние меняется после initForm()
в общем надо избавиться от $this->formId
да и сам метод initForm($formId, $what) можно переименовать в getFormById($formId)
Решение кривое было, согласен. Исходил из того, что форма главная сущность, остальные вспомогательные. Дополнительно еще выделил добавление поля в отдельный метод
Добрый день, по конструктуру всех хорошо :+1:
Единственное не надо передавать параметр с описанием
'description' => htmlspecialchars($this->getFieldValue('description'))
для этого параметра достаточно создать поле ввода
Решение кривое было, согласен. Исходил из того, что форма главная сущность, остальные вспомогательные. Дополнительно еще выделил добавление поля в отдельный метод
Как раз наоборот, хелпер важнее, так как его методы могут использоваться и в других миграциях, сделанных, например, вручную.
По коду хелпера пара вопросов, я в апи форм не вникал, там действительно без прямых запросов не обойтись?
и предлагаю убрать у метода public function getFormById($formId, $what)
параметр $what
вместо этого либо все вычислять сразу, либо сделать 2 доп метода getFormRights и getFormTemplates
Также если у вас есть публичные методы типа public function saveStatuses($formId, $statuses)
то должны быть методы и получения значений параметров для этого метода, например getFormId($filterOrCode)
и getStatuses($formId)
p.s. я в любом случае буду включать ваш код в модуль, но скорее всего внесу изменения если не увижу ваших правок :)
По коду хелпера пара вопросов, я в апи форм не вникал, там действительно без прямых запросов не обойтись?
Не нашел я в API нужных методов, поэтому начал искать в исходниках - там используются запросы напрямую. D7 представлений таблиц тоже не было. Короче говоря, скорее всего, только так можно
Также если у вас есть публичные методы типа public function saveStatuses($formId, $statuses)
то должны быть методы и получения значений параметров для этого метода, например
getFormId($filterOrCode)
иgetStatuses($formId)
Есть такие) getFormIdBySid($sid)
и getFormStatuses($formId)
Вообще, конечно, еще много чего можно прикрутить сюда, но, для того, чтобы оно было полезно, надо столкнуться с этой болью в каком-нибудь проекте. Наверняка что-то упустил, потому что не пользовался ранее какой-нибудь фишкой модуля
Сделал конструктор для миграции форм Он покрывает не все кейсы, особенно экзотические, но как упрощение миграции простых форм сойдет