Feature #69814
closedModuleTemplate API
100%
Description
Challenge¶
Currently all DocHeaders are implemented on their own.
This means we have about 80 DocHeaders which are equal but not the same.
The main challenge is to provide extension developers with all tools they need to build decent backend modules while maintaining control of the docHeader itself.
Solution¶
We will provide a replacement for DocumentTemplate
which provides an easy-to-use API which is on the other hand flexible enough to tackle all tasks we currently think of.
At the same time we will remove the amount of duplicate marker based templates.
The API uses the Fluent-API approach and has been built to supply maximum IDE code completion support.
Parts of a docHeader¶
Currently a typical docHeader is split up into the following sections:- Top Bar
- Context Sensitive Help Icon
- Select Menu(s)
- Path
- RecordInformation incl. Clickmenu
- Bottom Bar
- Left Button Bar
- Right Button Bar
API Components¶
Buttons¶
InputButton¶
Used to generate a <button>
element.
LinkButton¶
Used to generate links
SplitButton¶
A mixed component accepting multiple button objects and renders them into a condensed form.
Examples of usages¶
Adding a button¶
$openInNewWindowButton = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar()
->makeLinkButton()
->setHref('#')
->setTitle($this->getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:labels.openInNewWindow', TRUE))
->setIcon($this->iconFactory->getIcon('actions-window-open', Icon::SIZE_SMALL))
->setOnClick(htmlspecialchars($aOnClick));
$this->moduleTemplate->getDocHeaderComponent()->getButtonBar()->addButton($openInNewWindowButton, ButtonBar::BUTTON_POSITION_RIGHT);
Adding a menu with menu items¶
$languageMenu = $this->moduleTemplate->getDocHeaderComponent()->getModuleMenuRegistry()->makeMenu()
->setIdentifier('_langSelector')
->setLabel($this->getLanguageService()->sL('LLL:EXT:lang/locallang_general.xlf:LGL.language', TRUE));
$menuItem = $languageMenu->makeMenuItem()
->setTitle($lang['title'] . $newTranslation)
->setHref($href);
if((int)$lang['uid'] === $currentLanguage) {
$menuItem->setActive(TRUE);
}
$languageMenu->addMenuItem($menuItem);
$this->moduleTemplate->getDocHeaderComponent()->getModuleMenuRegistry()->addMenu($languageMenu);
Updated by Gerrit Code Review about 9 years ago
- Status changed from In Progress to Under Review
Patch set 22 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 23 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 24 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 25 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 26 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 27 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 28 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 29 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 30 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 31 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 32 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 33 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 34 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 35 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 36 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 37 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 38 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 39 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 40 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 41 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 42 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 43 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 44 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 45 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 46 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 47 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 48 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 49 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 50 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 51 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 52 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 53 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 54 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 55 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Anja Leichsenring about 9 years ago
- Sprint Focus changed from On Location Sprint to Stabilization Sprint
Updated by Gerrit Code Review about 9 years ago
Patch set 56 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Gerrit Code Review about 9 years ago
Patch set 57 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43041
Updated by Mathias Schreiber about 9 years ago
- Target version changed from 7.5 to 7 LTS
- Sprint Focus changed from Stabilization Sprint to Remote Sprint
Updated by Gerrit Code Review about 9 years ago
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43465
Updated by Gerrit Code Review about 9 years ago
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43465
Updated by Gerrit Code Review about 9 years ago
Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43465
Updated by Gerrit Code Review about 9 years ago
Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43465
Updated by Gerrit Code Review about 9 years ago
Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43465
Updated by Gerrit Code Review about 9 years ago
Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43465
Updated by Gerrit Code Review about 9 years ago
Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43465
Updated by Gerrit Code Review about 9 years ago
Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43465
Updated by Gerrit Code Review about 9 years ago
Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43465
Updated by Gerrit Code Review about 9 years ago
Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/43465
Updated by Mathias Schreiber about 9 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset cf26e30e58b4f109e43ee75158f855ac1167778a.
Updated by Riccardo De Contardi about 7 years ago
- Status changed from Resolved to Closed