Мне нужно создать пользовательского пользователя FE с некоторыми пользовательскими полями.
Кроме того, его необходимо назначать через интерфейс другим группам пользователей.
Вы можете найти мой первый подход Вот. Не получилось так хорошо.
Второй подход состоял в том, чтобы создать другое расширение и следовать руководству, которое показано Вот.
Первое, что я сделал, это добавил \TYPO3\CMS\Extbase\Domain\Model\FrontendUser
в поле Расширить класс существующей модели для моей CustomFEU-модели.
Затем я создал другую модель, которую назвал FEgroup, и сопоставил ее с таблицей. fe_groups
, После этого я подключил отношение n: m к CustomFEU.
Когда я пытаюсь создать новый CustomFEU с new
действие, он возвращает белую пустую страницу после отправки формы, и ни один пользователь не добавляется.
Единственное, что я обнаружил, было то, что /Classes/Domain/Repository/
папка пуста
TYPO3 7.6.8
Хотя я еще не редактировал файлы, вот они:
модель / контроллер / Настроить
Кто-нибудь сталкивался с подобными проблемами?
Сначала вам нужно создать репозитории, которые будут обрабатывать новые модели пользователей и групп пользователей.
Во-вторых, вы пытаетесь сохранить пользователя с $this->customFEURepository->add($newCustomFEU);
и переменная customFEURepository не существует. Лучше всего его ввести, это должен быть репозиторий, который вы должны сначала создать. Вы можете ввести это так:
/**
* CustomFEUController
*/
class CustomFEUController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{
/**
* @var \Vendor\Feregistration\Repository\CustomFEURepository
* @inject
*/
protected $customFEURepository;
// other code ...
}
Не забудьте очистить системный кеш после добавления аннотаций внедрения, иначе это не сработает.
И последнее, но не менее важное: я не вижу отображения таблицы базы данных для вашей модели. Вам нужно добавить его в свой TypoScript (setup.txt)
config.tx_extbase.persistence.classes {
Vendor\Feregistration\Domain\Model\CustomFEU {
mapping {
recordType = 0
tableName = fe_users
}
}
Vendor\Feregistration\Domain\Model\FEGroups {
mapping {
recordType = 0
tableName = fe_groups
}
}
}
Других решений пока нет …