- 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
26 lines
990 B
PHP
26 lines
990 B
PHP
<?php
|
|
|
|
defined('TYPO3') or die();
|
|
|
|
// "Feedback Overview": the current FE user's feedback state as JSON
|
|
// (content.feedbackOverview, rendered by OverviewJsonRenderer). Place it on
|
|
// the overview page (extension setting overviewPid). No plugin options.
|
|
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(
|
|
[
|
|
'label' => 'Feedback Overview',
|
|
'description' => 'The logged-in user\'s open feedback summary (items, attachments, notes, recipients) as JSON for the front end.',
|
|
'value' => 'fecomment_overview',
|
|
'icon' => 'fecomment-overview',
|
|
'group' => 'plugins',
|
|
],
|
|
'CType',
|
|
'fe_comment'
|
|
);
|
|
|
|
$GLOBALS['TCA']['tt_content']['types']['fecomment_overview']['showitem'] = '
|
|
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
|
|
--palette--;;general,
|
|
--palette--;;headers,
|
|
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
|
|
--palette--;;hidden';
|