Отображение категорий систем в TYPO3-FE
Я пытаюсь создать свое собственное расширение с помощью Extension Builder. До сих пор все работало очень хорошо, но теперь у меня есть проблема, и я не могу найти решение:
Мое расширение выглядит так: вы можете добавить новые записи в бэкэнд под List
(запись на правой панели). Эти записи затем отображаются в веб-интерфейсе. При добавлении новых записей в горизонтальной панели навигации есть возможность связать эту запись с определенными категориями. Я уже делал это с каждой записью. Но как я могу отобразить эту категорию во фронтэнде. Это должен быть только один <div>
лайк Linked Categories: CATEGORY
, Кажется, что нет ViewHelper, который может отображать все связанные категории.
Я уже много гуглил, но меня это просто смутило: кажется, что это невозможно с простым ViewHelper. Было решение, где нужно было редактировать контроллер. Но мне это не понравилось, потому что тогда я не могу продолжать работать с Extension Builder или он перезаписывается. Я также посмотрел в коде tx_news. Кажется, что все категории находятся в переменной, которая может быть зациклена. Но в моем расширении <f:debug>{categories}
был всегда NULL
,
Нет ли ViewHelper, который может отображать категории или что-то еще? Может быть, хороший учебник (я хорош в PHP, но плохо знаком с TYPO3).
Большое спасибо заранее, Феликс
PS: я использую TYPO3 CMS 7.6.9
1 ответ
Extension Builder - это просто "кикстартер", который помогает вам определить ваши модели и действия, отношения и т. д. Он не сделает больше этого. Поэтому, когда вы создали свой черновик расширения, лучше забыть о компоновщике расширений и попытаться понять структуру расширения extbase (MVC, TCA, localconfig, typoscript,...). Если вам нужно добавить новое свойство, сделайте это вручную. Вы узнаете намного больше о своем расширении и о том, как оно работает.
Сказав это, вы должны будете самостоятельно настроить расширение, чтобы добавить категории. Есть несколько способов сделать это: вы можете добавить свою собственную систему категорий, добавив свою собственную модель категории, или использовать API категории TYPO3 https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Categories/Index.html
Также нет видоискателя категории plug&play. Если вы хотите иметь возможность перечислять свои записи по категориям, вам необходимо настроить свой контроллер. Вы можете добавить некоторые функциональные возможности к существующему на, например. ваш listAction, чтобы он считывал аргументы, отправленные этому действию (список категорий, по которым вы хотите фильтровать), или создайте новый, называемый, например, categoryAction.
ссылка на extbase: https://docs.typo3.org/typo3cms/ExtbaseFluidBook/b-ExtbaseReference/Index.html
Stackru вопрос о категориях в контроллере: контроллеры и шаблон (как правильно фильтровать результаты или давать аргументы через бэкэнд?)
Итог: - пропустите компоновщик расширений - научитесь самостоятельно настраивать MVC
Вы всегда можете присоединиться к свободному каналу TYPO3: https://typo3.slack.com/ это бесплатно, и люди очень полезны
хорошо