- New content element "Feedback Overview" (CType fecomment_overview):
the current FE user's feedback state under content.feedbackOverview,
so the overview page renders like any other page instead of a
front-end special case
- Rendered as USER_INT inside the cached page JSON (EXT:headless replaces
the field per request): data is per user, visitors without a session
get {"allowed": false} - verified that nothing leaks from the cache
- One implementation for both consumers: the new FeedbackState service
builds the state payload; the API middleware delegates to it
- State payload (API and element) gained canSubmit and actions (all
write endpoints with method and URL), so the front end needs no
hard-coded endpoints for the submit button below the ticket list
- New site set evomedien/fe-comment carries the TypoScript, added to the
site configuration; icon fecomment-overview
16 lines
590 B
Plaintext
16 lines
590 B
Plaintext
# "Feedback Overview" content element as headless JSON (2026-10-09):
|
|
# content.feedbackOverview = the payload of GET /api/fe-comment/state.
|
|
# USER_INT on purpose - the data is per FE user; EXT:headless caches the page
|
|
# and replaces only this field on every request.
|
|
tt_content.fecomment_overview < lib.contentElementWithHeader
|
|
tt_content.fecomment_overview {
|
|
fields {
|
|
content {
|
|
fields {
|
|
feedbackOverview = USER_INT
|
|
feedbackOverview.userFunc = Evomedien\FeComment\UserFunc\OverviewJsonRenderer->render
|
|
}
|
|
}
|
|
}
|
|
}
|