From b690b7d230449215c9a66ccacbedfc6aca3a0207 Mon Sep 17 00:00:00 2001 From: Roman Derlemenko <romanderlemenko@gmail.com> Date: Fri, 23 Apr 2021 12:12:40 +0300 Subject: [PATCH] [WIP][TASK] NL-3241 Add menu builder forms --- .gitignore | 2 + Classes/Domain/Model/Menu.php | 58 ++--- Classes/Domain/Model/MenuItem.php | 169 +++++++++++++-- Classes/Domain/Model/MenuItemContent.php | 49 +---- Classes/Domain/Model/MenuItemLink.php | 106 +--------- Classes/Domain/Model/MenuItemPage.php | 104 +-------- Configuration/Extbase/Persistence/Classes.php | 25 --- Configuration/ExtensionBuilder/settings.yaml | 1 + .../tx_nlmenubuilder_domain_model_content.php | 148 ------------- .../tx_nlmenubuilder_domain_model_link.php | 200 ------------------ .../tx_nlmenubuilder_domain_model_menu.php | 51 ++--- ...tx_nlmenubuilder_domain_model_menuitem.php | 153 ++++++++++++-- .../tx_nlmenubuilder_domain_model_page.php | 200 ------------------ .../tx_nlmenubuilder_domain_model_submenu.php | 130 ------------ ExtensionBuilder.json | 89 ++++++-- Resources/Private/Language/locallang.xlf | 27 ++- ..._tx_nlmenubuilder_domain_model_content.xlf | 14 -- ...csh_tx_nlmenubuilder_domain_model_link.xlf | 20 -- ...csh_tx_nlmenubuilder_domain_model_menu.xlf | 8 +- ...x_nlmenubuilder_domain_model_menugroup.xlf | 2 +- ...tx_nlmenubuilder_domain_model_menuitem.xlf | 21 +- ...csh_tx_nlmenubuilder_domain_model_page.xlf | 20 -- ..._tx_nlmenubuilder_domain_model_submenu.xlf | 11 - Resources/Private/Language/locallang_db.xlf | 30 ++- .../tx_nlmenubuilder_domain_model_menu.gif | Bin 4209 -> 5491 bytes ...x_nlmenubuilder_domain_model_menugroup.gif | Bin 4681 -> 5236 bytes ...ubuilder_domain_model_menuitem-content.svg | 1 + ...menubuilder_domain_model_menuitem-link.svg | 1 + ...menubuilder_domain_model_menuitem-page.svg | 1 + ...ubuilder_domain_model_menuitem-submenu.svg | 1 + ...tx_nlmenubuilder_domain_model_menuitem.gif | Bin 533 -> 6108 bytes ...nubuilder_domain_model_menuitemcontent.svg | 3 - ext_emconf.php | 4 +- ext_localconf.php | 10 +- ext_tables.sql | 13 +- 35 files changed, 523 insertions(+), 1149 deletions(-) delete mode 100644 Configuration/Extbase/Persistence/Classes.php delete mode 100644 Configuration/TCA/tx_nlmenubuilder_domain_model_content.php delete mode 100644 Configuration/TCA/tx_nlmenubuilder_domain_model_link.php delete mode 100644 Configuration/TCA/tx_nlmenubuilder_domain_model_page.php delete mode 100644 Configuration/TCA/tx_nlmenubuilder_domain_model_submenu.php delete mode 100644 Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_content.xlf delete mode 100644 Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_link.xlf delete mode 100644 Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_page.xlf delete mode 100644 Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_submenu.xlf create mode 100644 Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-content.svg create mode 100644 Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-link.svg create mode 100644 Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-page.svg create mode 100644 Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-submenu.svg delete mode 100644 Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitemcontent.svg diff --git a/.gitignore b/.gitignore index 629c224..997068d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ .idea .vscode +.gitattributes +.editorconfig /vendor/ /Documentation/ /Tests/ diff --git a/Classes/Domain/Model/Menu.php b/Classes/Domain/Model/Menu.php index fd82a0d..7f83e89 100644 --- a/Classes/Domain/Model/Menu.php +++ b/Classes/Domain/Model/Menu.php @@ -27,19 +27,19 @@ class Menu extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity protected $title = ''; /** - * menuItem + * menuGroup * - * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\NL\NlMenubuilder\Domain\Model\MenuItem> - * @TYPO3\CMS\Extbase\Annotation\ORM\Cascade("remove") + * @var \NL\NlMenubuilder\Domain\Model\MenuGroup */ - protected $menuItem = null; + protected $menuGroup = null; /** - * menuGroup + * menuItem * - * @var \NL\NlMenubuilder\Domain\Model\MenuGroup + * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\NL\NlMenubuilder\Domain\Model\MenuItem> + * @TYPO3\CMS\Extbase\Annotation\ORM\Cascade("remove") */ - protected $menuGroup = null; + protected $menuItem = null; /** * Returns the title @@ -85,6 +85,27 @@ class Menu extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity $this->menuItem = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage(); } + /** + * Returns the menuGroup + * + * @return \NL\NlMenubuilder\Domain\Model\MenuGroup menuGroup + */ + public function getMenuGroup() + { + return $this->menuGroup; + } + + /** + * Sets the menuGroup + * + * @param \NL\NlMenubuilder\Domain\Model\MenuGroup $menuGroup + * @return void + */ + public function setMenuGroup(\NL\NlMenubuilder\Domain\Model\MenuGroup $menuGroup) + { + $this->menuGroup = $menuGroup; + } + /** * Adds a MenuItem * @@ -110,7 +131,7 @@ class Menu extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity /** * Returns the menuItem * - * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\NL\NlMenubuilder\Domain\Model\MenuItem> $menuItem + * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\NL\NlMenubuilder\Domain\Model\MenuItem> menuItem */ public function getMenuItem() { @@ -127,25 +148,4 @@ class Menu extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity { $this->menuItem = $menuItem; } - - /** - * Returns the menuGroup - * - * @return \NL\NlMenubuilder\Domain\Model\MenuGroup $menuGroup - */ - public function getMenuGroup() - { - return $this->menuGroup; - } - - /** - * Sets the menuGroup - * - * @param \NL\NlMenubuilder\Domain\Model\MenuGroup $menuGroup - * @return void - */ - public function setMenuGroup(\NL\NlMenubuilder\Domain\Model\MenuGroup $menuGroup) - { - $this->menuGroup = $menuGroup; - } } diff --git a/Classes/Domain/Model/MenuItem.php b/Classes/Domain/Model/MenuItem.php index a30f667..b56df01 100644 --- a/Classes/Domain/Model/MenuItem.php +++ b/Classes/Domain/Model/MenuItem.php @@ -1,8 +1,6 @@ <?php namespace NL\NlMenubuilder\Domain\Model; -use ReflectionClass; - /*** * * This file is part of the "Menu Builder" Extension for TYPO3 CMS. @@ -10,7 +8,7 @@ use ReflectionClass; * For the full copyright and license information, please read the * LICENSE.txt file that was distributed with this source code. * - * (c) 2021 + * (c) 2021 * ***/ /** @@ -18,26 +16,66 @@ use ReflectionClass; */ class MenuItem extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity { + public const TYPE_PAGE = '0'; + public const TYPE_LINK = '1'; + public const TYPE_CONTENT = '2'; + public const TYPE_SUBMENU = '3'; + + /** + * Type of the menu item + * + * @var int + * @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty") + */ + protected $type = 0; /** * Name of the menu item - * + * * @var string * @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty") */ protected $title = ''; /** - * type - * - * @var int - * @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty") + * subtitle + * + * @var string */ - protected $type = 0; + protected $subtitle = ''; + + /** + * Optional link image + * + * @var \TYPO3\CMS\Extbase\Domain\Model\FileReference + * @TYPO3\CMS\Extbase\Annotation\ORM\Cascade("remove") + */ + protected $image = null; + + /** + * page + * + * @var string + */ + protected $page = ''; + + /** + * link + * + * @var string + */ + protected $link = ''; + + /** + * content + * + * @var string + */ + protected $content = ''; /** * Returns the title - * + * * @return string $title */ public function getTitle() @@ -47,7 +85,7 @@ class MenuItem extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity /** * Sets the title - * + * * @param string $title * @return void */ @@ -58,7 +96,7 @@ class MenuItem extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity /** * Returns the type - * + * * @return int $type */ public function getType() @@ -68,7 +106,7 @@ class MenuItem extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity /** * Sets the type - * + * * @param int $type * @return void */ @@ -76,4 +114,109 @@ class MenuItem extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity { $this->type = $type; } + + /** + * Returns the subtitle + * + * @return string $subtitle + */ + public function getSubtitle() + { + return $this->subtitle; + } + + /** + * Sets the subtitle + * + * @param string $subtitle + * @return void + */ + public function setSubtitle($subtitle) + { + $this->subtitle = $subtitle; + } + + /** + * Returns the image + * + * @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $image + */ + public function getImage() + { + return $this->image; + } + + /** + * Sets the image + * + * @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $image + * @return void + */ + public function setImage(\TYPO3\CMS\Extbase\Domain\Model\FileReference $image) + { + $this->image = $image; + } + + /** + * Returns the page + * + * @return string $page + */ + public function getPage() + { + return $this->page; + } + + /** + * Sets the page + * + * @param string $page + * @return void + */ + public function setPage($page) + { + $this->page = $page; + } + + /** + * Returns the link + * + * @return string $link + */ + public function getLink() + { + return $this->link; + } + + /** + * Sets the link + * + * @param string $link + * @return void + */ + public function setLink($link) + { + $this->link = $link; + } + + /** + * Returns the content + * + * @return string $content + */ + public function getContent() + { + return $this->content; + } + + /** + * Sets the content + * + * @param string $content + * @return void + */ + public function setContent($content) + { + $this->content = $content; + } } diff --git a/Classes/Domain/Model/MenuItemContent.php b/Classes/Domain/Model/MenuItemContent.php index a460f0c..06f0c2e 100644 --- a/Classes/Domain/Model/MenuItemContent.php +++ b/Classes/Domain/Model/MenuItemContent.php @@ -1,56 +1,19 @@ <?php -namespace NL\NlMenubuilder\Domain\Model; +namespace NL\NlMenubuilder\Domain\Model; -/*** - * - * This file is part of the "Menu Builder" Extension for TYPO3 CMS. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * (c) 2021 - * - ***/ /** - * Content + * MenuItem */ class MenuItemContent extends MenuItem { + public const TYPE = 2; + /** - * type + * Type of the menu item * * @var int * @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty") */ - protected $type = 0; - - /** - * content - * - * @var string - * @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty") - */ - protected $content = ''; - - /** - * Returns the content - * - * @return string $content - */ - public function getContent() - { - return $this->content; - } - - /** - * Sets the content - * - * @param string $content - * @return void - */ - public function setContent($content) - { - $this->content = $content; - } + protected $type = self::TYPE; } diff --git a/Classes/Domain/Model/MenuItemLink.php b/Classes/Domain/Model/MenuItemLink.php index bb6639a..0051416 100644 --- a/Classes/Domain/Model/MenuItemLink.php +++ b/Classes/Domain/Model/MenuItemLink.php @@ -1,113 +1,19 @@ <?php -namespace NL\NlMenubuilder\Domain\Model; +namespace NL\NlMenubuilder\Domain\Model; -/*** - * - * This file is part of the "Menu Builder" Extension for TYPO3 CMS. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * (c) 2021 - * - ***/ /** - * Link + * MenuItem */ class MenuItemLink extends MenuItem { + public const TYPE = 1; + /** - * type + * Type of the menu item * * @var int * @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty") */ - protected $type = 2; - - /** - * subtitle - * - * @var string - */ - protected $subtitle = ''; - - /** - * image - * - * @var \TYPO3\CMS\Extbase\Domain\Model\FileReference - * @TYPO3\CMS\Extbase\Annotation\ORM\Cascade("remove") - */ - protected $image = null; - - /** - * link - * - * @var string - * @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty") - */ - protected $link = ''; - - /** - * Returns the subtitle - * - * @return string $subtitle - */ - public function getSubtitle() - { - return $this->subtitle; - } - - /** - * Sets the subtitle - * - * @param string $subtitle - * @return void - */ - public function setSubtitle($subtitle) - { - $this->subtitle = $subtitle; - } - - /** - * Returns the image - * - * @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $image - */ - public function getImage() - { - return $this->image; - } - - /** - * Sets the image - * - * @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $image - * @return void - */ - public function setImage(\TYPO3\CMS\Extbase\Domain\Model\FileReference $image) - { - $this->image = $image; - } - - /** - * Returns the link - * - * @return string $link - */ - public function getLink() - { - return $this->link; - } - - /** - * Sets the link - * - * @param string $link - * @return void - */ - public function setLink($link) - { - $this->link = $link; - } + protected $type = self::TYPE; } diff --git a/Classes/Domain/Model/MenuItemPage.php b/Classes/Domain/Model/MenuItemPage.php index ca5aa8b..b3618ae 100644 --- a/Classes/Domain/Model/MenuItemPage.php +++ b/Classes/Domain/Model/MenuItemPage.php @@ -2,112 +2,18 @@ namespace NL\NlMenubuilder\Domain\Model; -/*** - * - * This file is part of the "Menu Builder" Extension for TYPO3 CMS. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * (c) 2021 - * - ***/ /** - * Page + * MenuItem */ class MenuItemPage extends MenuItem { + public const TYPE = 0; + /** - * type + * Type of the menu item * * @var int * @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty") */ - protected $type = 1; - - /** - * subtitle - * - * @var string - */ - protected $subtitle = ''; - - /** - * image - * - * @var \TYPO3\CMS\Extbase\Domain\Model\FileReference - * @TYPO3\CMS\Extbase\Annotation\ORM\Cascade("remove") - */ - protected $image = null; - - /** - * page - * - * @var string - * @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty") - */ - protected $page = ''; - - /** - * Returns the subtitle - * - * @return string $subtitle - */ - public function getSubtitle() - { - return $this->subtitle; - } - - /** - * Sets the subtitle - * - * @param string $subtitle - * @return void - */ - public function setSubtitle($subtitle) - { - $this->subtitle = $subtitle; - } - - /** - * Returns the image - * - * @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $image - */ - public function getImage() - { - return $this->image; - } - - /** - * Sets the image - * - * @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $image - * @return void - */ - public function setImage(\TYPO3\CMS\Extbase\Domain\Model\FileReference $image) - { - $this->image = $image; - } - - /** - * Returns the page - * - * @return string $page - */ - public function getPage() - { - return $this->page; - } - - /** - * Sets the page - * - * @param string $page - * @return void - */ - public function setPage($page) - { - $this->page = $page; - } + protected $type = self::TYPE; } diff --git a/Configuration/Extbase/Persistence/Classes.php b/Configuration/Extbase/Persistence/Classes.php deleted file mode 100644 index 85d0629..0000000 --- a/Configuration/Extbase/Persistence/Classes.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - -declare(strict_types = 1); - -return [ - \NL\NlMenubuilder\Domain\Model\MenuItem::class => [ - 'subclasses' => [ - \NL\NlMenubuilder\Domain\Model\MenuItemContent::class, - \NL\NlMenubuilder\Domain\Model\MenuItemPage::class, - \NL\NlMenubuilder\Domain\Model\MenuItemLink::class, - ] - ], - \NL\NlMenubuilder\Domain\Model\MenuItemContent::class => [ - 'tableName' => 'tx_nlmenubuilder_domain_model_content', - 'recordType' => 0, - ], - \NL\NlMenubuilder\Domain\Model\MenuItemPage::class => [ - 'tableName' => 'tx_nlmenubuilder_domain_model_page', - 'recordType' => 1, - ], - \NL\NlMenubuilder\Domain\Model\MenuItemLink::class => [ - 'tableName' => 'tx_nlmenubuilder_domain_model_link', - 'recordType' => 2, - ], -]; diff --git a/Configuration/ExtensionBuilder/settings.yaml b/Configuration/ExtensionBuilder/settings.yaml index 2196755..4c89278 100644 --- a/Configuration/ExtensionBuilder/settings.yaml +++ b/Configuration/ExtensionBuilder/settings.yaml @@ -56,6 +56,7 @@ overwriteSettings: Extension.svg: keep tx_nlmenubuilder_domain_model_menu.gif: keep tx_nlmenubuilder_domain_model_menugroup.gif: keep + tx_nlmenubuilder_domain_model_menuitem.gif: keep Private: #Language: merge #Templates: keep diff --git a/Configuration/TCA/tx_nlmenubuilder_domain_model_content.php b/Configuration/TCA/tx_nlmenubuilder_domain_model_content.php deleted file mode 100644 index 1706928..0000000 --- a/Configuration/TCA/tx_nlmenubuilder_domain_model_content.php +++ /dev/null @@ -1,148 +0,0 @@ -<?php -return [ - 'ctrl' => [ - 'title' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_content', - 'label' => 'title', - 'tstamp' => 'tstamp', - 'crdate' => 'crdate', - 'cruser_id' => 'cruser_id', - 'versioningWS' => true, - 'languageField' => 'sys_language_uid', - 'transOrigPointerField' => 'l10n_parent', - 'transOrigDiffSourceField' => 'l10n_diffsource', - 'delete' => 'deleted', - 'enablecolumns' => [ - 'disabled' => 'hidden', - 'starttime' => 'starttime', - 'endtime' => 'endtime', - ], - 'searchFields' => 'title,content', - 'iconfile' => 'EXT:nl_menubuilder/Resources/Public/Icons/tx_nlmenubuilder_domain_model_content.gif' - ], - 'interface' => [ - 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, content', - ], - 'types' => [ - '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, content, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], - ], - 'columns' => [ - 'sys_language_uid' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language', - 'config' => [ - 'type' => 'select', - 'renderType' => 'selectSingle', - 'special' => 'languages', - 'items' => [ - [ - 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages', - -1, - 'flags-multiple' - ] - ], - 'default' => 0, - ], - ], - 'l10n_parent' => [ - 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', - 'config' => [ - 'type' => 'select', - 'renderType' => 'selectSingle', - 'default' => 0, - 'items' => [ - ['', 0], - ], - 'foreign_table' => 'tx_nlmenubuilder_domain_model_content', - 'foreign_table_where' => 'AND {#tx_nlmenubuilder_domain_model_content}.{#pid}=###CURRENT_PID### AND {#tx_nlmenubuilder_domain_model_content}.{#sys_language_uid} IN (-1,0)', - ], - ], - 'l10n_diffsource' => [ - 'config' => [ - 'type' => 'passthrough', - ], - ], - 't3ver_label' => [ - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.versionLabel', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'max' => 255, - ], - ], - 'hidden' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.visible', - 'config' => [ - 'type' => 'check', - 'renderType' => 'checkboxToggle', - 'items' => [ - [ - 0 => '', - 1 => '', - 'invertStateDisplay' => true - ] - ], - ], - ], - 'starttime' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime', - 'config' => [ - 'type' => 'input', - 'renderType' => 'inputDateTime', - 'eval' => 'datetime,int', - 'default' => 0, - 'behaviour' => [ - 'allowLanguageSynchronization' => true - ] - ], - ], - 'endtime' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime', - 'config' => [ - 'type' => 'input', - 'renderType' => 'inputDateTime', - 'eval' => 'datetime,int', - 'default' => 0, - 'range' => [ - 'upper' => mktime(0, 0, 0, 1, 1, 2038) - ], - 'behaviour' => [ - 'allowLanguageSynchronization' => true - ] - ], - ], - - 'title' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_content.title', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'eval' => 'trim,required' - ], - ], - 'content' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_content.content', - 'config' => [ - 'type' => 'text', - 'enableRichtext' => true, - 'richtextConfiguration' => 'default', - 'fieldControl' => [ - 'fullScreenRichtext' => [ - 'disabled' => false, - ], - ], - 'cols' => 40, - 'rows' => 15, - 'eval' => 'trim,required', - ], - - ], - - ], -]; diff --git a/Configuration/TCA/tx_nlmenubuilder_domain_model_link.php b/Configuration/TCA/tx_nlmenubuilder_domain_model_link.php deleted file mode 100644 index 7010c67..0000000 --- a/Configuration/TCA/tx_nlmenubuilder_domain_model_link.php +++ /dev/null @@ -1,200 +0,0 @@ -<?php -return [ - 'ctrl' => [ - 'title' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_link', - 'label' => 'title', - 'tstamp' => 'tstamp', - 'crdate' => 'crdate', - 'cruser_id' => 'cruser_id', - 'versioningWS' => true, - 'languageField' => 'sys_language_uid', - 'transOrigPointerField' => 'l10n_parent', - 'transOrigDiffSourceField' => 'l10n_diffsource', - 'delete' => 'deleted', - 'enablecolumns' => [ - 'disabled' => 'hidden', - 'starttime' => 'starttime', - 'endtime' => 'endtime', - ], - 'searchFields' => 'title,subtitle,link', - 'iconfile' => 'EXT:nl_menubuilder/Resources/Public/Icons/tx_nlmenubuilder_domain_model_link.gif' - ], - 'interface' => [ - 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, subtitle, image, link', - ], - 'types' => [ - '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, subtitle, image, link, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], - ], - 'columns' => [ - 'sys_language_uid' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language', - 'config' => [ - 'type' => 'select', - 'renderType' => 'selectSingle', - 'special' => 'languages', - 'items' => [ - [ - 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages', - -1, - 'flags-multiple' - ] - ], - 'default' => 0, - ], - ], - 'l10n_parent' => [ - 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', - 'config' => [ - 'type' => 'select', - 'renderType' => 'selectSingle', - 'default' => 0, - 'items' => [ - ['', 0], - ], - 'foreign_table' => 'tx_nlmenubuilder_domain_model_link', - 'foreign_table_where' => 'AND {#tx_nlmenubuilder_domain_model_link}.{#pid}=###CURRENT_PID### AND {#tx_nlmenubuilder_domain_model_link}.{#sys_language_uid} IN (-1,0)', - ], - ], - 'l10n_diffsource' => [ - 'config' => [ - 'type' => 'passthrough', - ], - ], - 't3ver_label' => [ - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.versionLabel', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'max' => 255, - ], - ], - 'hidden' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.visible', - 'config' => [ - 'type' => 'check', - 'renderType' => 'checkboxToggle', - 'items' => [ - [ - 0 => '', - 1 => '', - 'invertStateDisplay' => true - ] - ], - ], - ], - 'starttime' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime', - 'config' => [ - 'type' => 'input', - 'renderType' => 'inputDateTime', - 'eval' => 'datetime,int', - 'default' => 0, - 'behaviour' => [ - 'allowLanguageSynchronization' => true - ] - ], - ], - 'endtime' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime', - 'config' => [ - 'type' => 'input', - 'renderType' => 'inputDateTime', - 'eval' => 'datetime,int', - 'default' => 0, - 'range' => [ - 'upper' => mktime(0, 0, 0, 1, 1, 2038) - ], - 'behaviour' => [ - 'allowLanguageSynchronization' => true - ] - ], - ], - - 'title' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_link.title', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'eval' => 'trim,required' - ], - ], - 'subtitle' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_link.subtitle', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'eval' => 'trim' - ], - ], - 'image' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_link.image', - 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( - 'image', - [ - 'appearance' => [ - 'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference' - ], - 'foreign_types' => [ - '0' => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ], - \TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ], - \TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ], - \TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ], - \TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ], - \TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ] - ], - 'foreign_match_fields' => [ - 'fieldname' => 'image', - 'tablenames' => 'tx_nlmenubuilder_domain_model_link', - 'table_local' => 'sys_file', - ], - 'maxitems' => 1 - ], - $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'] - ), - - ], - 'link' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_link.link', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'eval' => 'trim,required' - ], - ], - - ], -]; diff --git a/Configuration/TCA/tx_nlmenubuilder_domain_model_menu.php b/Configuration/TCA/tx_nlmenubuilder_domain_model_menu.php index c0dd91c..6b20f54 100644 --- a/Configuration/TCA/tx_nlmenubuilder_domain_model_menu.php +++ b/Configuration/TCA/tx_nlmenubuilder_domain_model_menu.php @@ -20,10 +20,10 @@ return [ 'iconfile' => 'EXT:nl_menubuilder/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menu.gif' ], 'interface' => [ - 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, menu_item, menu_group', + 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, menu_group, menu_item', ], 'types' => [ - '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, menu_item, menu_group, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], + '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, menu_group, menu_item, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], ], 'columns' => [ 'sys_language_uid' => [ @@ -125,6 +125,20 @@ return [ 'eval' => 'trim,required' ], ], + 'menu_group' => [ + 'exclude' => false, + 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menu.menu_group', + 'config' => [ + 'type' => 'select', + 'renderType' => 'selectSingle', + 'foreign_table' => 'tx_nlmenubuilder_domain_model_menugroup', + 'default' => 0, + 'minitems' => 0, + 'maxitems' => 1, + 'eval' => 'required' + ], + + ], 'menu_item' => [ 'exclude' => false, 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menu.menu_item', @@ -132,9 +146,11 @@ return [ 'type' => 'inline', 'foreign_table' => 'tx_nlmenubuilder_domain_model_menuitem', 'foreign_field' => 'menu', - 'maxitems' => 9999, + 'minitems' => 0, + 'maxitems' => 99, 'appearance' => [ - 'collapseAll' => 0, + 'collapseAll' => true, + 'expandSingle' => true, 'levelLinksPosition' => 'top', 'showSynchronizationLink' => 1, 'showPossibleLocalizationRecords' => 1, @@ -143,33 +159,6 @@ return [ ], ], - 'menu_group' => [ - 'exclude' => false, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menu.menu_group', - 'config' => [ - 'type' => 'select', - 'renderType' => 'selectMultipleSideBySide', - 'foreign_table' => 'tx_nlmenubuilder_domain_model_menugroup', - 'default' => 0, - 'size' => 10, - 'autoSizeMax' => 30, - 'maxitems' => 1, - 'minitems' => 1, - 'multiple' => 0, - 'fieldControl' => [ - 'editPopup' => [ - 'disabled' => false, - ], - 'addRecord' => [ - 'disabled' => false, - ], - 'listModule' => [ - 'disabled' => true, - ], - ], - ], - - ], ], ]; diff --git a/Configuration/TCA/tx_nlmenubuilder_domain_model_menuitem.php b/Configuration/TCA/tx_nlmenubuilder_domain_model_menuitem.php index 233f85c..c45512d 100644 --- a/Configuration/TCA/tx_nlmenubuilder_domain_model_menuitem.php +++ b/Configuration/TCA/tx_nlmenubuilder_domain_model_menuitem.php @@ -16,14 +16,27 @@ return [ 'starttime' => 'starttime', 'endtime' => 'endtime', ], - 'searchFields' => 'title', - 'iconfile' => 'EXT:nl_menubuilder/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem.gif' - ], - 'interface' => [ - 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, type', + 'searchFields' => 'title,subtitle,page,link,content', + 'iconfile' => 'EXT:nl_menubuilder/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem.gif', + 'type' => 'type', + 'typeicon_column' => 'type', + 'typeicon_classes' => [ + 'default' => 'ext-menubuilder-menuitem-type-page', + '1' => 'ext-menubuilder-menuitem-type-link', + '2' => 'ext-menubuilder-menuitem-type-content', + '3' => 'ext-menubuilder-menuitem-type-submenu', + ], ], + 'interface' => ['showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, subtitle, image, page, link, content'], 'types' => [ - '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, type, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], + // page + '0' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, subtitle, page, image, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], + // link + '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, subtitle, image, link, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], + // content + '2' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, content, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], + // submenu + '3' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], ], 'columns' => [ 'sys_language_uid' => [ @@ -115,7 +128,28 @@ return [ ] ], ], - + 'type' => [ + 'exclude' => false, + 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.type', + 'config' => [ + 'type' => 'select', + 'renderType' => 'selectSingle', + 'items' => [ + ['LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.page', 0, 'ext-menubuilder-menuitem-type-page'], + ['LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.link', 1, 'ext-menubuilder-menuitem-type-link'], + ['LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.content', 2, 'ext-menubuilder-menuitem-type-content'], + ['LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.submenu', 3, 'ext-menubuilder-menuitem-type-submenu'], + ], + 'fieldWizard' => [ + 'selectIcons' => [ + 'disabled' => false, + ], + ], + 'size' => 1, + 'maxitems' => 1, + 'eval' => 'required' + ], + ], 'title' => [ 'exclude' => false, 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.title', @@ -125,21 +159,106 @@ return [ 'eval' => 'trim,required' ], ], - 'type' => [ + 'subtitle' => [ 'exclude' => false, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.type', + 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.subtitle', 'config' => [ - 'type' => 'select', - 'renderType' => 'selectSingle', - 'items' => [ - ['-- Label --', 0], + 'type' => 'input', + 'size' => 30, + 'eval' => 'trim' + ], + ], + 'image' => [ + 'exclude' => false, + 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.image', + 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( + 'image', + [ + 'appearance' => [ + 'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference' + ], + 'foreign_types' => [ + '0' => [ + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ], + \TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [ + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ], + \TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [ + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ], + \TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [ + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ], + \TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [ + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ], + \TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [ + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ] + ], + 'foreign_match_fields' => [ + 'fieldname' => 'image', + 'tablenames' => 'tx_nlmenubuilder_domain_model_menuitem', + 'table_local' => 'sys_file', + ], + 'maxitems' => 1 ], - 'size' => 1, - 'maxitems' => 1, - 'eval' => 'required' + $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'] + ), + + ], + 'page' => [ + 'exclude' => false, + 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.page', + 'config' => [ + 'type' => 'input', + 'renderType' => 'inputLink', + 'size' => 30, + 'eval' => 'trim,required', + 'softref' => 'typolink', + ], + ], + 'link' => [ + 'exclude' => false, + 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.link', + 'config' => [ + 'type' => 'input', + 'size' => 30, + 'eval' => 'trim' + ], + ], + 'content' => [ + 'exclude' => false, + 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.content', + 'config' => [ + 'type' => 'text', + 'enableRichtext' => true, + 'richtextConfiguration' => 'default', + 'fieldControl' => [ + 'fullScreenRichtext' => [ + 'disabled' => false, + ], + ], + 'cols' => 40, + 'rows' => 15, + 'eval' => 'trim', ], + ], - + 'menu' => [ 'config' => [ 'type' => 'passthrough', diff --git a/Configuration/TCA/tx_nlmenubuilder_domain_model_page.php b/Configuration/TCA/tx_nlmenubuilder_domain_model_page.php deleted file mode 100644 index 6153384..0000000 --- a/Configuration/TCA/tx_nlmenubuilder_domain_model_page.php +++ /dev/null @@ -1,200 +0,0 @@ -<?php -return [ - 'ctrl' => [ - 'title' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_page', - 'label' => 'title', - 'tstamp' => 'tstamp', - 'crdate' => 'crdate', - 'cruser_id' => 'cruser_id', - 'versioningWS' => true, - 'languageField' => 'sys_language_uid', - 'transOrigPointerField' => 'l10n_parent', - 'transOrigDiffSourceField' => 'l10n_diffsource', - 'delete' => 'deleted', - 'enablecolumns' => [ - 'disabled' => 'hidden', - 'starttime' => 'starttime', - 'endtime' => 'endtime', - ], - 'searchFields' => 'title,subtitle,page', - 'iconfile' => 'EXT:nl_menubuilder/Resources/Public/Icons/tx_nlmenubuilder_domain_model_page.gif' - ], - 'interface' => [ - 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, subtitle, image, page', - ], - 'types' => [ - '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, subtitle, image, page, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], - ], - 'columns' => [ - 'sys_language_uid' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language', - 'config' => [ - 'type' => 'select', - 'renderType' => 'selectSingle', - 'special' => 'languages', - 'items' => [ - [ - 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages', - -1, - 'flags-multiple' - ] - ], - 'default' => 0, - ], - ], - 'l10n_parent' => [ - 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', - 'config' => [ - 'type' => 'select', - 'renderType' => 'selectSingle', - 'default' => 0, - 'items' => [ - ['', 0], - ], - 'foreign_table' => 'tx_nlmenubuilder_domain_model_page', - 'foreign_table_where' => 'AND {#tx_nlmenubuilder_domain_model_page}.{#pid}=###CURRENT_PID### AND {#tx_nlmenubuilder_domain_model_page}.{#sys_language_uid} IN (-1,0)', - ], - ], - 'l10n_diffsource' => [ - 'config' => [ - 'type' => 'passthrough', - ], - ], - 't3ver_label' => [ - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.versionLabel', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'max' => 255, - ], - ], - 'hidden' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.visible', - 'config' => [ - 'type' => 'check', - 'renderType' => 'checkboxToggle', - 'items' => [ - [ - 0 => '', - 1 => '', - 'invertStateDisplay' => true - ] - ], - ], - ], - 'starttime' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime', - 'config' => [ - 'type' => 'input', - 'renderType' => 'inputDateTime', - 'eval' => 'datetime,int', - 'default' => 0, - 'behaviour' => [ - 'allowLanguageSynchronization' => true - ] - ], - ], - 'endtime' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime', - 'config' => [ - 'type' => 'input', - 'renderType' => 'inputDateTime', - 'eval' => 'datetime,int', - 'default' => 0, - 'range' => [ - 'upper' => mktime(0, 0, 0, 1, 1, 2038) - ], - 'behaviour' => [ - 'allowLanguageSynchronization' => true - ] - ], - ], - - 'title' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_page.title', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'eval' => 'trim,required' - ], - ], - 'subtitle' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_page.subtitle', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'eval' => 'trim' - ], - ], - 'image' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_page.image', - 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( - 'image', - [ - 'appearance' => [ - 'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference' - ], - 'foreign_types' => [ - '0' => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ], - \TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ], - \TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ], - \TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ], - \TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ], - \TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [ - 'showitem' => ' - --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, - --palette--;;filePalette' - ] - ], - 'foreign_match_fields' => [ - 'fieldname' => 'image', - 'tablenames' => 'tx_nlmenubuilder_domain_model_page', - 'table_local' => 'sys_file', - ], - 'maxitems' => 1 - ], - $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'] - ), - - ], - 'page' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_page.page', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'eval' => 'trim,required' - ], - ], - - ], -]; diff --git a/Configuration/TCA/tx_nlmenubuilder_domain_model_submenu.php b/Configuration/TCA/tx_nlmenubuilder_domain_model_submenu.php deleted file mode 100644 index 6876178..0000000 --- a/Configuration/TCA/tx_nlmenubuilder_domain_model_submenu.php +++ /dev/null @@ -1,130 +0,0 @@ -<?php -return [ - 'ctrl' => [ - 'title' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_submenu', - 'label' => 'title', - 'tstamp' => 'tstamp', - 'crdate' => 'crdate', - 'cruser_id' => 'cruser_id', - 'versioningWS' => true, - 'languageField' => 'sys_language_uid', - 'transOrigPointerField' => 'l10n_parent', - 'transOrigDiffSourceField' => 'l10n_diffsource', - 'delete' => 'deleted', - 'enablecolumns' => [ - 'disabled' => 'hidden', - 'starttime' => 'starttime', - 'endtime' => 'endtime', - ], - 'searchFields' => 'title', - 'iconfile' => 'EXT:nl_menubuilder/Resources/Public/Icons/tx_nlmenubuilder_domain_model_submenu.gif' - ], - 'interface' => [ - 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title', - ], - 'types' => [ - '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], - ], - 'columns' => [ - 'sys_language_uid' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language', - 'config' => [ - 'type' => 'select', - 'renderType' => 'selectSingle', - 'special' => 'languages', - 'items' => [ - [ - 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages', - -1, - 'flags-multiple' - ] - ], - 'default' => 0, - ], - ], - 'l10n_parent' => [ - 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', - 'config' => [ - 'type' => 'select', - 'renderType' => 'selectSingle', - 'default' => 0, - 'items' => [ - ['', 0], - ], - 'foreign_table' => 'tx_nlmenubuilder_domain_model_submenu', - 'foreign_table_where' => 'AND {#tx_nlmenubuilder_domain_model_submenu}.{#pid}=###CURRENT_PID### AND {#tx_nlmenubuilder_domain_model_submenu}.{#sys_language_uid} IN (-1,0)', - ], - ], - 'l10n_diffsource' => [ - 'config' => [ - 'type' => 'passthrough', - ], - ], - 't3ver_label' => [ - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.versionLabel', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'max' => 255, - ], - ], - 'hidden' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.visible', - 'config' => [ - 'type' => 'check', - 'renderType' => 'checkboxToggle', - 'items' => [ - [ - 0 => '', - 1 => '', - 'invertStateDisplay' => true - ] - ], - ], - ], - 'starttime' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime', - 'config' => [ - 'type' => 'input', - 'renderType' => 'inputDateTime', - 'eval' => 'datetime,int', - 'default' => 0, - 'behaviour' => [ - 'allowLanguageSynchronization' => true - ] - ], - ], - 'endtime' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime', - 'config' => [ - 'type' => 'input', - 'renderType' => 'inputDateTime', - 'eval' => 'datetime,int', - 'default' => 0, - 'range' => [ - 'upper' => mktime(0, 0, 0, 1, 1, 2038) - ], - 'behaviour' => [ - 'allowLanguageSynchronization' => true - ] - ], - ], - - 'title' => [ - 'exclude' => true, - 'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_submenu.title', - 'config' => [ - 'type' => 'input', - 'size' => 30, - 'eval' => 'trim,required' - ], - ], - - ], -]; diff --git a/ExtensionBuilder.json b/ExtensionBuilder.json index 6836fe7..96a701f 100644 --- a/ExtensionBuilder.json +++ b/ExtensionBuilder.json @@ -53,22 +53,22 @@ "lazyLoading": false, "propertyIsExcludeField": false, "relationDescription": "", - "relationName": "menuItem", - "relationType": "zeroToMany", + "relationName": "menuGroup", + "relationType": "manyToOne", "relationWire": "[wired]", - "renderType": "inline", - "uid": "498399672732" + "renderType": "selectSingle", + "uid": "910633819500" }, { "foreignRelationClass": "", "lazyLoading": false, "propertyIsExcludeField": false, "relationDescription": "", - "relationName": "menuGroup", - "relationType": "manyToOne", + "relationName": "menuItem", + "relationType": "zeroToMany", "relationWire": "[wired]", - "renderType": "selectMultipleSideBySide", - "uid": "910633819500" + "renderType": "inline", + "uid": "498399672732" } ] } @@ -128,8 +128,8 @@ { "config": { "position": [ - 570, - 253 + 517, + 233 ] }, "name": "New Model Object", @@ -158,6 +158,17 @@ }, "propertyGroup": { "properties": [ + { + "allowedFileTypes": "", + "maxItems": "1", + "propertyDescription": "Type of the menu item", + "propertyIsExcludeField": false, + "propertyIsL10nModeExclude": false, + "propertyIsRequired": true, + "propertyName": "type", + "propertyType": "Select", + "uid": "907885444815" + }, { "allowedFileTypes": "", "maxItems": "1", @@ -175,10 +186,54 @@ "propertyDescription": "", "propertyIsExcludeField": false, "propertyIsL10nModeExclude": false, - "propertyIsRequired": true, - "propertyName": "type", - "propertyType": "Select", - "uid": "907885444815" + "propertyIsRequired": false, + "propertyName": "subtitle", + "propertyType": "String", + "uid": "459494162104" + }, + { + "allowedFileTypes": "", + "maxItems": "1", + "propertyDescription": "Optional link image", + "propertyIsExcludeField": false, + "propertyIsL10nModeExclude": false, + "propertyIsRequired": false, + "propertyName": "image", + "propertyType": "Image", + "uid": "232675499137" + }, + { + "allowedFileTypes": "", + "maxItems": "1", + "propertyDescription": "", + "propertyIsExcludeField": false, + "propertyIsL10nModeExclude": false, + "propertyIsRequired": false, + "propertyName": "page", + "propertyType": "String", + "uid": "1319275530787" + }, + { + "allowedFileTypes": "", + "maxItems": "1", + "propertyDescription": "", + "propertyIsExcludeField": false, + "propertyIsL10nModeExclude": false, + "propertyIsRequired": false, + "propertyName": "link", + "propertyType": "String", + "uid": "729781755652" + }, + { + "allowedFileTypes": "", + "maxItems": "1", + "propertyDescription": "", + "propertyIsExcludeField": false, + "propertyIsL10nModeExclude": false, + "propertyIsRequired": false, + "propertyName": "content", + "propertyType": "RichText", + "uid": "1242707690455" } ] }, @@ -215,7 +270,7 @@ { "src": { "moduleId": 0, - "terminal": "relationWire_0", + "terminal": "relationWire_1", "uid": "498399672732" }, "tgt": { @@ -227,7 +282,7 @@ { "src": { "moduleId": 0, - "terminal": "relationWire_1", + "terminal": "relationWire_0", "uid": "910633819500" }, "tgt": { @@ -239,7 +294,7 @@ ], "storagePath": "\/var\/www\/html\/public\/typo3conf\/ext\/", "log": { - "last_modified": "2021-04-21 02:54", + "last_modified": "2021-04-22 11:17", "extension_builder_version": "9.10.3", "be_user": " (1)" } diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf index e558e40..0be185a 100644 --- a/Resources/Private/Language/locallang.xlf +++ b/Resources/Private/Language/locallang.xlf @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <xliff version="1.0"> - <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang" date="2021-04-21T14:54:38Z" product-name="nl_menubuilder"> + <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang" date="2021-04-22T11:17:02Z" product-name="nl_menubuilder"> <header/> <body> <trans-unit id="tx_nlmenubuilder_domain_model_menu" resname="tx_nlmenubuilder_domain_model_menu"> @@ -9,12 +9,12 @@ <trans-unit id="tx_nlmenubuilder_domain_model_menu.title" resname="tx_nlmenubuilder_domain_model_menu.title"> <source>Title</source> </trans-unit> - <trans-unit id="tx_nlmenubuilder_domain_model_menu.menu_item" resname="tx_nlmenubuilder_domain_model_menu.menu_item"> - <source>Menu Item</source> - </trans-unit> <trans-unit id="tx_nlmenubuilder_domain_model_menu.menu_group" resname="tx_nlmenubuilder_domain_model_menu.menu_group"> <source>Menu Group</source> </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menu.menu_item" resname="tx_nlmenubuilder_domain_model_menu.menu_item"> + <source>Menu Item</source> + </trans-unit> <trans-unit id="tx_nlmenubuilder_domain_model_menugroup" resname="tx_nlmenubuilder_domain_model_menugroup"> <source>Menu Group</source> </trans-unit> @@ -24,11 +24,26 @@ <trans-unit id="tx_nlmenubuilder_domain_model_menuitem" resname="tx_nlmenubuilder_domain_model_menuitem"> <source>Menu Item</source> </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.type" resname="tx_nlmenubuilder_domain_model_menuitem.type"> + <source>Type</source> + </trans-unit> <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.title" resname="tx_nlmenubuilder_domain_model_menuitem.title"> <source>Title</source> </trans-unit> - <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.type" resname="tx_nlmenubuilder_domain_model_menuitem.type"> - <source>Type</source> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.subtitle" resname="tx_nlmenubuilder_domain_model_menuitem.subtitle"> + <source>Subtitle</source> + </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.image" resname="tx_nlmenubuilder_domain_model_menuitem.image"> + <source>Image</source> + </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.page" resname="tx_nlmenubuilder_domain_model_menuitem.page"> + <source>Page</source> + </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.link" resname="tx_nlmenubuilder_domain_model_menuitem.link"> + <source>Link</source> + </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.content" resname="tx_nlmenubuilder_domain_model_menuitem.content"> + <source>Content</source> </trans-unit> </body> </file> diff --git a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_content.xlf b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_content.xlf deleted file mode 100644 index aa3a0d2..0000000 --- a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_content.xlf +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<xliff version="1.0"> - <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-21T14:26:16Z" product-name="nl_menubuilder"> - <header/> - <body> - <trans-unit id="title.description" resname="title.description"> - <source>title</source> - </trans-unit> - <trans-unit id="content.description" resname="content.description"> - <source>content</source> - </trans-unit> - </body> - </file> -</xliff> diff --git a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_link.xlf b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_link.xlf deleted file mode 100644 index d1bbe8e..0000000 --- a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_link.xlf +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<xliff version="1.0"> - <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-21T14:26:16Z" product-name="nl_menubuilder"> - <header/> - <body> - <trans-unit id="title.description" resname="title.description"> - <source>title</source> - </trans-unit> - <trans-unit id="subtitle.description" resname="subtitle.description"> - <source>subtitle</source> - </trans-unit> - <trans-unit id="image.description" resname="image.description"> - <source>image</source> - </trans-unit> - <trans-unit id="link.description" resname="link.description"> - <source>link</source> - </trans-unit> - </body> - </file> -</xliff> diff --git a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menu.xlf b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menu.xlf index d49c49c..9257517 100644 --- a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menu.xlf +++ b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menu.xlf @@ -1,17 +1,17 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <xliff version="1.0"> - <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-21T14:54:38Z" product-name="nl_menubuilder"> + <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-22T11:17:02Z" product-name="nl_menubuilder"> <header/> <body> <trans-unit id="title.description" resname="title.description"> <source>Name of the menu</source> </trans-unit> - <trans-unit id="menu_item.description" resname="menu_item.description"> - <source>menuItem</source> - </trans-unit> <trans-unit id="menu_group.description" resname="menu_group.description"> <source>menuGroup</source> </trans-unit> + <trans-unit id="menu_item.description" resname="menu_item.description"> + <source>menuItem</source> + </trans-unit> </body> </file> </xliff> diff --git a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menugroup.xlf b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menugroup.xlf index e29c366..a1c2f38 100644 --- a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menugroup.xlf +++ b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menugroup.xlf @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <xliff version="1.0"> - <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-21T14:54:38Z" product-name="nl_menubuilder"> + <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-22T11:17:02Z" product-name="nl_menubuilder"> <header/> <body> <trans-unit id="title.description" resname="title.description"> diff --git a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menuitem.xlf b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menuitem.xlf index 12ff063..9ddcb84 100644 --- a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menuitem.xlf +++ b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menuitem.xlf @@ -1,13 +1,28 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <xliff version="1.0"> - <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-21T14:54:38Z" product-name="nl_menubuilder"> + <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-22T11:17:02Z" product-name="nl_menubuilder"> <header/> <body> + <trans-unit id="type.description" resname="type.description"> + <source>Type of the menu item</source> + </trans-unit> <trans-unit id="title.description" resname="title.description"> <source>Name of the menu item</source> </trans-unit> - <trans-unit id="type.description" resname="type.description"> - <source>type</source> + <trans-unit id="subtitle.description" resname="subtitle.description"> + <source>subtitle</source> + </trans-unit> + <trans-unit id="image.description" resname="image.description"> + <source>Optional link image</source> + </trans-unit> + <trans-unit id="page.description" resname="page.description"> + <source>page</source> + </trans-unit> + <trans-unit id="link.description" resname="link.description"> + <source>link</source> + </trans-unit> + <trans-unit id="content.description" resname="content.description"> + <source>content</source> </trans-unit> </body> </file> diff --git a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_page.xlf b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_page.xlf deleted file mode 100644 index c33998f..0000000 --- a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_page.xlf +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<xliff version="1.0"> - <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-21T14:26:16Z" product-name="nl_menubuilder"> - <header/> - <body> - <trans-unit id="title.description" resname="title.description"> - <source>title</source> - </trans-unit> - <trans-unit id="subtitle.description" resname="subtitle.description"> - <source>subtitle</source> - </trans-unit> - <trans-unit id="image.description" resname="image.description"> - <source>image</source> - </trans-unit> - <trans-unit id="page.description" resname="page.description"> - <source>page</source> - </trans-unit> - </body> - </file> -</xliff> diff --git a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_submenu.xlf b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_submenu.xlf deleted file mode 100644 index aac8774..0000000 --- a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_submenu.xlf +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<xliff version="1.0"> - <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-21T14:26:16Z" product-name="nl_menubuilder"> - <header/> - <body> - <trans-unit id="title.description" resname="title.description"> - <source>title</source> - </trans-unit> - </body> - </file> -</xliff> diff --git a/Resources/Private/Language/locallang_db.xlf b/Resources/Private/Language/locallang_db.xlf index 3fc1da7..d12607c 100644 --- a/Resources/Private/Language/locallang_db.xlf +++ b/Resources/Private/Language/locallang_db.xlf @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <xliff version="1.0"> - <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_db" date="2021-04-21T14:54:38Z" product-name="nl_menubuilder"> + <file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_db" date="2021-04-22T11:17:02Z" product-name="nl_menubuilder"> <header/> <body> <trans-unit id="tx_nlmenubuilder_domain_model_menu" resname="tx_nlmenubuilder_domain_model_menu"> @@ -9,12 +9,12 @@ <trans-unit id="tx_nlmenubuilder_domain_model_menu.title" resname="tx_nlmenubuilder_domain_model_menu.title"> <source>Title</source> </trans-unit> - <trans-unit id="tx_nlmenubuilder_domain_model_menu.menu_item" resname="tx_nlmenubuilder_domain_model_menu.menu_item"> - <source>Menu Item</source> - </trans-unit> <trans-unit id="tx_nlmenubuilder_domain_model_menu.menu_group" resname="tx_nlmenubuilder_domain_model_menu.menu_group"> <source>Menu Group</source> </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menu.menu_item" resname="tx_nlmenubuilder_domain_model_menu.menu_item"> + <source>Menu Item</source> + </trans-unit> <trans-unit id="tx_nlmenubuilder_domain_model_menugroup" resname="tx_nlmenubuilder_domain_model_menugroup"> <source>Menu Group</source> </trans-unit> @@ -24,11 +24,29 @@ <trans-unit id="tx_nlmenubuilder_domain_model_menuitem" resname="tx_nlmenubuilder_domain_model_menuitem"> <source>Menu Item</source> </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.type" resname="tx_nlmenubuilder_domain_model_menuitem.type"> + <source>Type</source> + </trans-unit> <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.title" resname="tx_nlmenubuilder_domain_model_menuitem.title"> <source>Title</source> </trans-unit> - <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.type" resname="tx_nlmenubuilder_domain_model_menuitem.type"> - <source>Type</source> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.subtitle" resname="tx_nlmenubuilder_domain_model_menuitem.subtitle"> + <source>Subtitle</source> + </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.image" resname="tx_nlmenubuilder_domain_model_menuitem.image"> + <source>Image</source> + </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.page" resname="tx_nlmenubuilder_domain_model_menuitem.page"> + <source>Page</source> + </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.link" resname="tx_nlmenubuilder_domain_model_menuitem.link"> + <source>Link</source> + </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.content" resname="tx_nlmenubuilder_domain_model_menuitem.content"> + <source>Content</source> + </trans-unit> + <trans-unit id="tx_nlmenubuilder_domain_model_menuitem.submenu" resname="tx_nlmenubuilder_domain_model_menuitem.submenu"> + <source>Submenu</source> </trans-unit> </body> </file> diff --git a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menu.gif b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menu.gif index 1750e037dd7ccd3a191cf9d8b1678f62d382034e..d599e5bde2d787fa86230cf3c8b53d4c43bf4a93 100644 GIT binary patch delta 2432 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 delta 1140 zcmeyY^-+P--P6s&GO>ZtWg_QvMzf6zYq;xO7#W!Uwe+u)ddt6f&X!x<oA2%U&ENLO z!|8PAvaFzO@3@bD^11%G>v_l7@BjFDxMFubO6u^@nto>4@r)9$<yTgjvc<-3zq9W8 zY}?x7Pd4ooPn&!F%{J@FW_zB0`DK-R{`L1OI{*14eh8~ZWK?)8YTj|;Mn&Ue2~EkB zMwykFGn(pmo}Af!iBsy9np#xWt<sWJyR42L_{C+tM9e!ndvo&a)!ro=UjP1mk=w@S z4@W@HoIeW7@A#Z~BeS<!CpNdXckbG~XYaoK%PXg6=NFe(*Eet7zH|59{fqPCwLj15 zTYq1@fB*fI^Z)x@Bn~t>6bRa!IIM7})hNxdCgPCjkxr$c!1_HW8byx%>y@x8{A00D z=)^?cEfZuoU#hsfYUvAQ{k*_`rnMqXsAutcHM=?gN)A0<c|qNJfl%uz<y99mY?jQL z(v^Jb(n_-xg-gs9cbTrfwl-#W)n6{NH8(b<oStRdZMOE-)|}hBYPrqV-Pu|4`qtiV z^Y!=k*8KkUm)l~)gM%&H()D&d78@TO?UA;w<FVZI<m43X=zTqwo1dMXV_p4^$7;)q zi%Yy`+x1#)eRXwB^zJ%d>uqmtZppsAuh)9}ySsa;fB)mP+414wk#1@GKAWANo}QU) zUC(E`>&we4tE2b#+3x=K_Rj9=|9p0Petdj#dbWMP-QHhc-`w6^&u_o)&(ANfZ||?~ zx8MKo@1K9afB)xCXkg;=NN8k}>quzg(mRpR%xA}u*dpZTk=QC0*OAyJ^(bYkX-4Ue z-Ux-J%U3%dr=%{j3|Lyh7pNl_dbQi&l*;2C*DE*9d0VU#zS`%!^vUCXCDxhA!7jU! zpG<TTTl!=YlWFG?=K!mjm#3J8WiIWF-1qrO{WSZkld97awrM<@@o~mX<yl$lPNvPy z+sBzcr|6t#`rNX6o$2$kzAag9QuFQQnfVP`$}bk2D9Ow)a#XE)v8adX@RP+8yfk0x zi-o@GcAxQT(vxLdd0uAfIJBMe;#+d)(&Lp&U#!s5Fxhs>(|1GCq04Kg?a0Vh)_&H- z(Y1#y=+XMB`VNgX((+>7|Bkht(mS2A`J5eh?v_h_-nm<^#dYUyyOno3cl*6M?z|n3 z`n>aYKAYE_x9ioq(|Nn!?c>hh^XZ&-{@!o*y7Tw_dUra1|G$6S1qYb;eF_e;$@df- z;?h4;aG1}Yr|^i7zfa*&vG|_CV^aBN3XjXx^Aw#>>i01UKap2|@Y>1r2}?go$8U`} z9%jJref3PWL8`HW!&9D|9-G%P$IiFz(K5NPQY?3ir$_ptFPD7EUzMDn<@UE^NeK6( zD_5PP*KWPiQTDcUX2So6FK&3wzMH);<G#+fTPC|}J8l&mw<*6{cE7j$Ue)`v<@f9U z^HyBRW#>Egpyhh<kB8wW*8Yfj)MI|{)b$CA19g5r2@A-o6pcyOJGyj^`@Wygy?k`7 zgaf9}V_C6+{mPeDjxuknoXn5CW4^e>T;$7J^B-%h^<}=@V+uN;zUlP`*%LW7GI6T$ RjHk~`UlR7-LzIER8UP)mR&f9T diff --git a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menugroup.gif b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menugroup.gif index 0ab6cf613b32001577c3e24378ed67cfb10ef64a..4013d7a6ea57d909a3d8d073195b548f09256155 100644 GIT binary patch delta 2172 zcmX@9@<oHw-P6s&GO>ZtW+SH%PkjTU4I=~7zn1=$r{D4`b8orTz4_jr-~4TlJf=PC zTsHN{ws+jhuY9h5>wR7&_x+##P0scsi$3mP)|zg=<TGclSLvBmqDE)4w%>XCmD{Z3 z_>)bMqJH7$-)#H6w(s}7FS}y3&hLNsXW##2;u2rnBQjnn&UjI9;zq>^j+GBAJTt{B zE9(PR?(}TyJjp2~_4KD^R@E$*s?Jllx|Z#FrDgq_@wI37?A=MHZ@>P{trITf6O&WZ zGskk$nLBU($hb4v`o`w|Rj6IN_iXQ+yS#FGa@t0Db$xu_=AOIvPHy8rJ^S}^{`LL* zdGpWT=imEYe}O|11G|)s$0~(Gtvp{faySeZO>Gyd*N$p&{J7}Yzg}LWqCY<_Dxa7r z<~qsd<^`2gQ`tf{)!aO<dS>RAluLVVo>MzF_gTrOKR3^+Us!mpMacHonH5s8KF+m) ztJbXyS?;sIZ%)@#ErHdco2%|_X<0pKeTr#sY})EIw>+aSu8QKG9(cQG!=qceSB~T! z+FkSW$<p83)+boi*E=tf?U~`5D9|o!Ew_0`*xln(_MW-8d;6v|jfsM$_jqo3Jm=f% zG+WJRR`dGHYbs;dVs>qP6K;FNZf>viXSur`)z%_ex3?GM9H`{CuS>m=efY#|chhr9 zJ3c=<mF+ygul9Rs#qG`2$Ae_PegAmzu(5joyz25tk1p??o-*&_@1Gy8*XwWcx3B&x zap~XZ$9MV#>;74?FDQG?`y;MV?@POa57)K>3C%jT5pmT*b?y%p#Nt-O*Gww(h--T# z%dx0jscCy+=atGAGrQC_dCcn8=i1TWzVq%1M+x;!?nz7*|868j7_16Yp5S(@Lag`e z*NT+M9?RU8ls>ZbOq~+6Y{kRI(7gJYkBe;eUWiRkieq@nmYSw;Y(`elgQYd$r?#if z$=`MIzER<+$mNslZdE>?RheX|lwA8ua=|<!p011u0(>(w7Bh-)X>|4Z?c$!%rsbTu zY(m}6jAc{uywq3BQ_@<sh^=o{#!CNHQO!L+-t16WF1qZ|E1M1PDl=y}U5T3Pv)#{t zrGEXkU#B#951sn_PkY(KPaa1%eifLl&9K69w(yqI_qJ<qeWSAa^;TKd)wx!8yrSRm zJnYI|yC%}CI?w-QTh*%Uw|&O%cC@EiuebO*%{zMEuRXsX&VTbuTI9g8C@<}Uciu?9 z-NL1x^I_G;M;{6fR^3|t=76ZU=*FpQq;_vK<EiG>*;lU^ZoFw%<Ed&RQ_aKO8;<F! zU)?w}H^^r5Y148`^>dd0Hyh6~XZ~b-LHzS<r;Bcr=NO)utG1@ZNT2=B#+`xY#$ONm zpROr2jP#Z<J{>FldFyduVcTzpskiSK-^#3(HDOEt_Pfj=`?Jo58>Rn?wqMA-y}|sB zyE#wZg9Bf5zh7vOuCJ@OlcIG`>v4_szr2HYJiYfxJ)QdOt?{$@D`Si<Z+!Lkr|zuH zoR%k+`kU=|vBPO^mFC*!b2=|KIye1zT<>1D`{ib9TkY$6)hAUyT^Vg_W4SK*&e{(r z|9`W-ny&xP=G}7pDx14k*@ON(3(ekND|dJCzTK}L7T526sximE=GV>mbM<y#PAl)N z`}66t-L5Z*<$3>u-c9e{^Y5pARTTHUw=5N+Oij7j>@Er6A{pEM?mXMLy;0$|g}Eb_ zT0vcl@k}=Jj{VnL4NA`aUhu0&{UEE<gnBiRNvt2g+5Xu2p;4yf?%o9R!@^bhu?HS2 zau@%wyK5Lw?|eo<fbqq4rBxT&-E5NTd0KZIVltXo<;SD+k87%gqt2}LT@o>mwp(>L z>tzYH1)oV0S*daC<xIh7vz%M}mm`jG&nxWJu2z;&HFYxg+Sup2C;4s1kK?wFHa6C& zB=YaSaqOAkrU^fVQzjmWaB?%d)ZNCCBEzh4(jn;6#7>pz?8coZY_u*-s&P@)(0+Ns zv;I=ygfg3@a^@?&ELRnFuj^5j^xo;^`)S>@IU-BdtzR0%-7@Mdo|4K{u6aiK*QCn* zJxjEYx7(_mGMKsk%u@ql^|QYMgJ-t8sOmWHJQ3^^+<xZCBa5{eO}SkgX75c=m!7M6 z?tiJ^%-c5UX8sHO@+MuHeT_vuQ|XCA^}WqAfA>7E=kEM@B(N@c64TUWPXB(N45*Y_ zKWn>BnzQ@nb0KM;7NtK-cWpg+(S$*yQSoZvmNS|cGv;jRQmyUNe}Cf=*FKRxL*H{= zb0dNU#6+f8#vb<VzY#38t9Y@d>;s?65+UMpp*^0ymx2PT0&=?EFL%g!6*KSDrA1v+ zR#|S*vi$6MvA=#_@d__hZRNdP=Q5rNul=raKWb~%B|oRFZ4t7IL$02@R@t?6T4n7c zzLhtxM=FVIC@5VS$t`&!`Q6u<ty5nn{+$uA+iByx-mNQRHcMSSDfM-u!P+%`rcxKr z#05&k%uP(`wv6bmy0(1!(U)1RyMh;WeOn)$s~Zp>eeFiuwKnCe&+DDeXHCA>_I2G9 z(~!)_e?Oy-uwCD_LRBwOKQ#R4GO;Cg58s3z^a{Akce(1!+f{)*mG*D7zAu|4+EVZ~ z{M?z+>sy}l>Sr`o$J}?_zUuAVS5?t7?%lX^z2)aq*V^;f@1O4!-}FE9Wu3i5!nL#4 zcYmCEx9R5Xgr||>D_QToX|R@l=uscCql%O7Orz<Ihi7ag_DlD@?)Vv<bU1FtGR?9# zU7B+e-_4UasJrb=k7LZ^^J>!%7>2p@C5tEh^qaBLzU^)G@!yHO-y<3v%RWqaUX`q> zZn?nq+}nwjHmUOZJL`R?edzAollmof=E=~qSCb8`(>}LZ*2PXMnzC|F+V6ccm!$4{ zl{qt3I{nfz$-Slf^dfHSL_D^>Z+4#Tp7C#nwW%SJFXOw|gceKpE_QdeGM_Z>OO94< z=Cv2vm#6cwFSqV}>7U;gx5%t_x0mg!;ssV$SH*ozUiI|V!9B{?nk2>6KK`^Sdb+B@ Mu6bQHTnr4>0BvnlIRF3v delta 1613 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 diff --git a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-content.svg b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-content.svg new file mode 100644 index 0000000..292c9b6 --- /dev/null +++ b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-content.svg @@ -0,0 +1 @@ +<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 110.74 122.88" style="enable-background:new 0 0 110.74 122.88" xml:space="preserve"><g><path d="M48.47,116.35c1.8,0,3.27,1.46,3.27,3.26c0,1.8-1.46,3.26-3.27,3.26H7.6c-2.09,0-3.99-0.85-5.37-2.23 C0.85,119.27,0,117.38,0,115.28V7.6C0,5.5,0.85,3.61,2.23,2.23C3.61,0.85,5.5,0,7.6,0h93.3c2.09,0,3.99,0.86,5.37,2.23 c1.38,1.38,2.23,3.27,2.23,5.37v53.95c0,1.8-1.46,3.26-3.26,3.26c-1.8,0-3.26-1.46-3.26-3.26V7.6c0-0.29-0.12-0.56-0.32-0.75 c-0.2-0.2-0.47-0.32-0.75-0.32H7.6c-0.29,0-0.56,0.12-0.76,0.31C6.65,7.05,6.53,7.31,6.53,7.6v107.68c0,0.29,0.12,0.56,0.32,0.75 c0.2,0.2,0.47,0.32,0.76,0.32L48.47,116.35L48.47,116.35L48.47,116.35z M33.94,57.92c-0.62-1.07-0.17-4.13,1.16-5.21 c3.8-2.22,9.04-1.53,12.7-4.09c0.21-0.32,0.44-0.78,0.67-1.29c0.33-0.76,0.64-1.59,0.83-2.16c-0.81-0.96-1.51-2.04-2.17-3.1 l-2.2-3.5c-0.8-1.2-1.22-2.3-1.25-3.2c-0.01-0.42,0.06-0.81,0.22-1.15c0.16-0.36,0.41-0.65,0.76-0.88c0.16-0.11,0.34-0.2,0.53-0.27 c-0.15-1.9-0.2-4.29-0.1-6.3c0.05-0.47,0.14-0.95,0.27-1.43c0.56-2.01,1.97-3.63,3.72-4.74c0.96-0.61,2.02-1.08,3.12-1.39 c0.7-0.2-0.6-2.43,0.13-2.51c3.5-0.36,9.15,2.83,11.59,5.47c1.22,1.32,1.99,3.08,2.16,5.4l-0.14,5.71l0,0 c0.61,0.19,1,0.57,1.16,1.2c0.18,0.7-0.01,1.67-0.61,3.01l0,0c-0.01,0.02-0.02,0.05-0.04,0.07l-2.51,4.13 c-0.92,1.52-1.86,3.04-3.08,4.24c0.11,0.16,0.23,0.32,0.34,0.48c0.5,0.73,1,1.46,1.64,2.11c0.02,0.02,0.04,0.05,0.05,0.07 c2.89,2.04,9.92,2.54,12.62,4.04l0.11,0.06c1.39,1.07,1.82,4.13,1.18,5.2H33.94L33.94,57.92z M102.29,79.04 c-0.53-0.51-1.14-0.75-1.84-0.74c-0.71,0.01-1.31,0.29-1.8,0.81l-4.05,4.22l11.37,10.98l4.09-4.26c0.49-0.5,0.69-1.14,0.68-1.84 c-0.01-0.69-0.26-1.33-0.76-1.8L102.29,79.04L102.29,79.04L102.29,79.04z M84.54,116.17c-1.5,0.48-3,0.97-4.49,1.46 c-1.5,0.5-3,1-4.49,1.5c-3.53,1.16-5.51,1.8-5.93,1.92c-0.4,0.12-0.17-1.53,0.73-4.99l2.81-10.83l0,0l17.82-18.18l11.36,10.93 L84.54,116.17L84.54,116.17L84.54,116.17z M31.74,95.36c-1.8,0-3.27-1.48-3.27-3.31s1.46-3.31,3.27-3.31h22.21 c1.8,0,3.27,1.48,3.27,3.31s-1.46,3.31-3.27,3.31H31.74L31.74,95.36L31.74,95.36z M31.74,74.67c-1.8,0-3.26-1.46-3.26-3.27 c0-1.8,1.46-3.26,3.26-3.26h44.05c1.8,0,3.26,1.46,3.26,3.26c0,1.8-1.46,3.27-3.26,3.27H31.74L31.74,74.67L31.74,74.67z"/></g></svg> \ No newline at end of file diff --git a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-link.svg b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-link.svg new file mode 100644 index 0000000..dc5d32d --- /dev/null +++ b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-link.svg @@ -0,0 +1 @@ +<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 112.55 122.88" style="enable-background:new 0 0 112.55 122.88" xml:space="preserve"><style type="text/css">.st0{fill-rule:evenodd;clip-rule:evenodd;}</style><g><path class="st0" d="M104.41,6.1c6.26,5.13,6.93,11.83,7.62,13.46l0.34,2.5c0.9,5.39-1.65,12.75-5.58,17.38L89.2,59.84 c-6.76,7.84-18.04,10.44-27.48,6.37l-0.03,0.04c3.45,5.63,3.15,9.64,3.46,10.57c0.9,5.41-1.65,12.74-5.58,17.38L41.97,114.6 c-8.53,9.89-23.58,11.1-33.53,2.61c-5.04-5.04-7.84-9.31-8.37-16.49c-0.47-6.24,1.53-12.37,5.59-17.18l17.92-20.79 c5.01-5.14,7.5-5.86,13.33-7.47l2.5-0.34l10.66,1.56c0.22,0.08,0.44,0.18,0.65,0.27l0.03-0.04c-5.35-8.71-4.57-20.11,2.14-27.97 L70.48,8.37c4.11-4.77,9.99-7.71,16.15-8.19c5.37-0.89,12.77,1.64,17.38,5.58L104.41,6.1L104.41,6.1z M74.23,51.71l-3.66,4.24 l0.64,0.01l0.02,0l0.6-0.02l0.01,0l0.14-0.01l0.02,0c2.11-0.16,4.19-0.88,5.96-2.14c0.34-0.24,0.68-0.51,1.02-0.82l0,0l0,0 c0.3-0.27,0.62-0.59,0.93-0.95l0,0l0.12-0.13l17.45-20.24c1.47-1.7,2.36-3.75,2.68-5.86c0.07-0.44,0.11-0.87,0.13-1.26 c0.02-0.41,0.01-0.85-0.01-1.28l0-0.05l-0.01-0.11c-0.16-2.11-0.88-4.19-2.14-5.96c-0.24-0.34-0.51-0.67-0.78-0.97l-0.03-0.04 c-0.29-0.32-0.61-0.64-0.94-0.94l0,0l-0.06-0.05l-0.05-0.05L96.16,15c-1.69-1.43-3.7-2.3-5.78-2.61l-0.03,0 c-0.43-0.06-0.85-0.11-1.24-0.12c-0.41-0.02-0.84-0.01-1.27,0.01l-0.07,0l-0.1,0.01c-2.11,0.16-4.19,0.88-5.96,2.14 c-0.34,0.24-0.68,0.51-0.98,0.78l-0.03,0.03c-0.33,0.29-0.64,0.61-0.94,0.95l0,0l-0.12,0.13L62.2,36.55 c-1.47,1.7-2.36,3.75-2.68,5.86h0c-0.06,0.43-0.11,0.86-0.12,1.26c-0.02,0.41-0.01,0.85,0.01,1.28l0.01,0.15l0,0.01v0.02 c0.03,0.46,0.09,0.91,0.18,1.37l3.58-4.15l0.1-0.12l0.13-0.14l0,0l0.02-0.02c1.29-1.39,3.02-2.18,4.79-2.3 c1.78-0.13,3.62,0.39,5.1,1.6l0,0l0.02,0.01l0.09,0.08l0.02,0.02l0.02,0.02l0.01,0.01l0.02,0.01l0.07,0.06l0,0l0,0 c2.06,1.83,2.82,4.6,2.21,7.13c-0.12,0.5-0.3,1-0.54,1.48c-0.22,0.46-0.51,0.9-0.83,1.31l-0.02,0.02l-0.03,0.04l0,0l-0.01,0.02 l-0.1,0.12l0,0L74.23,51.71L74.23,51.71z M40.06,80.23L40.06,80.23c2.33,2.01,5.88,1.75,7.89-0.58l5.58-6.47 c0.65,1.45,1.04,3,1.16,4.57c0.25,3.44-0.79,6.97-3.19,9.75l-17.46,20.24c-2.4,2.79-5.73,4.34-9.16,4.59 c-3.38,0.25-6.84-0.75-9.59-3.05l-0.16-0.14c-2.78-2.4-4.34-5.73-4.59-9.16c-0.25-3.4,0.76-6.89,3.1-9.65l0.09-0.1l17.25-20l0,0 l0,0l0.21-0.24c2.4-2.78,5.73-4.34,9.16-4.59c1.58-0.12,3.18,0.04,4.71,0.47l-5.58,6.47C37.47,74.67,37.73,78.22,40.06,80.23 L40.06,80.23z"/></g></svg> \ No newline at end of file diff --git a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-page.svg b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-page.svg new file mode 100644 index 0000000..f2d3eb1 --- /dev/null +++ b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-page.svg @@ -0,0 +1 @@ +<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90.48 122.88"><title>text-file</title><path d="M35.27.78a3,3,0,0,1,2-.78,1.54,1.54,0,0,1,.47.05h46.2A6.59,6.59,0,0,1,88.56,2a6.52,6.52,0,0,1,1.92,4.64v109.7a6.57,6.57,0,0,1-6.56,6.56H6.67a6.57,6.57,0,0,1-6.56-6.56v-78A3.07,3.07,0,0,1,0,37.56a3.19,3.19,0,0,1,1-2.24L34.9,1a1.5,1.5,0,0,1,.26-.21ZM84.65,6.62a.5.5,0,0,0-.21-.47A.67.67,0,0,0,84,5.94H40.22V31.62a8.89,8.89,0,0,1-8.91,8.91H6.1v75.79a.58.58,0,0,0,.2.47.69.69,0,0,0,.47.21H84a.58.58,0,0,0,.47-.21.73.73,0,0,0,.21-.47V6.62Zm-62,94.73a2.64,2.64,0,0,1,0-5.28h28a2.64,2.64,0,0,1,0,5.28Zm0-17.75a2.64,2.64,0,0,1,0-5.28H65.46a2.64,2.64,0,0,1,0,5.28Zm0-17.76a2.64,2.64,0,0,1,0-5.28H72a2.64,2.64,0,0,1,0,5.28Zm11.7-34.22V10.11L10.11,34.64h21.2a3.16,3.16,0,0,0,2.13-.88,3.06,3.06,0,0,0,.89-2.14Z"/></svg> \ No newline at end of file diff --git a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-submenu.svg b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-submenu.svg new file mode 100644 index 0000000..9cdf3fb --- /dev/null +++ b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem-submenu.svg @@ -0,0 +1 @@ +<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.88 100.16" style="enable-background:new 0 0 122.88 100.16" xml:space="preserve"><style type="text/css">.st0{fill-rule:evenodd;clip-rule:evenodd;}</style><g><path class="st0" d="M98.74,78.39h6.32V62.24c0-0.31-0.13-0.6-0.34-0.81c-0.21-0.21-0.5-0.34-0.81-0.34l-38.58,0v17.3h6.31 c2,0,3.63,1.63,3.63,3.63v14.52c0,2-1.63,3.63-3.63,3.63l-20.51,0c-2,0-3.63-1.63-3.63-3.63V82.02c0-2,1.63-3.63,3.63-3.63l6.31,0 v-17.3H18.87c-0.31,0-0.6,0.13-0.81,0.34c-0.21,0.21-0.34,0.5-0.34,0.81v16.15h6.42c2,0,3.63,1.63,3.63,3.63v14.52 c0,2-1.63,3.63-3.63,3.63l-20.51,0c-2,0-3.63-1.63-3.63-3.63V82.02c0-2,1.63-3.63,3.63-3.63l6.23,0V62.24 c0-2.48,1.01-4.74,2.64-6.37c1.63-1.63,3.88-2.64,6.37-2.64h38.58V21.78h-6.31c-2,0-3.63-1.63-3.63-3.63V3.63 c0-2,1.63-3.63,3.63-3.63l20.51,0c2,0,3.63,1.63,3.63,3.63v14.52c0,2-1.63,3.63-3.63,3.63l-6.31,0v31.45h38.58 c2.48,0,4.74,1.01,6.37,2.64c1.63,1.63,2.64,3.89,2.64,6.37v16.15h6.33c2,0,3.63,1.63,3.63,3.63v14.52c0,2-1.63,3.63-3.63,3.63 l-20.51,0c-2,0-3.63-1.63-3.63-3.63V82.02C95.11,80.02,96.75,78.39,98.74,78.39L98.74,78.39L98.74,78.39z"/></g></svg> \ No newline at end of file diff --git a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem.gif b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem.gif index 6cc5f16355d84652db5ce39fcbc7256b7ea457cd..93ed8aa9345a29a4a09dcc47c99a2c59213b6b0a 100644 GIT binary patch literal 6108 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 literal 533 zcmZ?wbhEHb6krfwc;>^PT&ti`uNc2IM6Fr5d*_GlT^}Mg`l>Z4?cBL@{mqr@Zmft{ z7wEdsHlXM1p|kH6En2i~+qT*bFHc_i5WY6x!0ESfTY`5SewDjFA!B!R!NKH=-7#5v z<8pIzr=96jYgDqIV-eVU&ToZld3pKFnKKjS+;FNpvSrJblpPUfQw-u~UN@U;5Wc}@ z$BrEa{W=>rZk&4HOZ}!-d-m*!-W0Ir`qGWJ*7TfcZfa@@UE^PKph&A-&32ZV$71`A zWAz0q9tEs&-?wjHUteGDl80Iy>iRueDs>7`>w{xsV{`V!C+`Sfvt~_7N=o9k(EtDc zGYnRs_>+Z^fx(AC2joCdoG`E#HTX0&x3sqT=(8Hwwzskf@u~E-2#Sa)Om246<W-$H zzgIwSvb`aPnkT=qgPD?ySBuU}w*_sI;?fdLOl)@6O}b9Za_%Oa9!=V^rt(deuH1}L mT*gdIiZ&J+P3*$v4C>yZMom0cTFy<3E({D?-?uh0SOWmDq@H{L diff --git a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitemcontent.svg b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitemcontent.svg deleted file mode 100644 index ba78ed5..0000000 --- a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitemcontent.svg +++ /dev/null @@ -1,3 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.88 110.78" style="enable-background:new 0 0 122.88 110.78" xml:space="preserve"><style type="text/css"><![CDATA[ - .st0{fill-rule:evenodd;clip-rule:evenodd;} -]]></style><g><path class="st0" d="M7.05,0h100.97c1.92,0,3.68,0.8,4.95,2.07l0,0l0.01,0.01l0.01,0.01L113,2.1c1.27,1.28,2.06,3.03,2.06,4.95 v35.02c-0.53-0.48-1.13-0.91-1.78-1.28c-1.54-0.87-3.06-1.36-4.58-1.52V25.21l0,0c-0.22,0.04-0.45,0.06-0.67,0.06H7.05 c-0.23,0-0.46-0.02-0.67-0.06v78.51c0,0.19,0.07,0.36,0.19,0.48l0,0l0.01,0.01c0.12,0.12,0.28,0.19,0.48,0.19h52.44 c-0.01,2.74,0.52,4.86,1.58,6.38l-54.02,0c-1.92,0-3.68-0.79-4.96-2.07l-0.01-0.01l-0.01-0.01l-0.01-0.01 C0.79,107.4,0,105.65,0,103.73l0-96.7c0.02-1.94,0.81-3.7,2.08-4.97c0.08-0.08,0.15-0.15,0.23-0.22C3.57,0.7,5.23,0,7.05,0L7.05,0 L7.05,0z M55.11,47.78c-1.48,0-2.68-1.3-2.68-2.91c0-1.61,1.2-2.91,2.68-2.91h40.15c1.25,0,2.3,0.93,2.6,2.19l-3.51,3.64H55.11 L55.11,47.78L55.11,47.78z M55.11,62.5c-1.48,0-2.68-1.3-2.68-2.91s1.2-2.91,2.68-2.91h30.65l-5.62,5.82H55.11L55.11,62.5 L55.11,62.5z M89.25,97.9c-2.05,0.65-4.1,1.29-6.15,1.94c-2.05,0.65-4.1,1.4-6.15,2.05c-4.86,1.51-7.55,2.48-8.1,2.59 c-0.54,0.11-0.21-2.05,0.97-6.8l3.88-14.78l0.32-0.32L89.25,97.9L89.25,97.9L89.25,97.9L89.25,97.9L89.25,97.9L89.25,97.9z M79.64,76.85l27.16-28.13c0.65-0.54,1.3-0.75,2.05-0.32l13.6,13.17c0.54,0.65,0.65,1.4-0.11,2.16L94.86,92.18L79.64,76.85 L79.64,76.85L79.64,76.85L79.64,76.85z M115.06,85.16v18.58c0,1.94-0.79,3.7-2.07,4.97c-1.27,1.27-3.03,2.07-4.97,2.07H79.74 l0.51-0.16l0.5-0.14c0.55-0.17,1.86-0.62,3.16-1.07c0.67-0.23,1.34-0.46,2.74-0.9l5.9-1.86l-0.01-0.02 c1.39-0.44,2.7-1.18,3.83-2.23h11.65c0.18,0,0.35-0.08,0.48-0.21c0.12-0.12,0.21-0.29,0.21-0.48V91.74L115.06,85.16L115.06,85.16z M19.51,92.45c-1.46,0-2.65-1.3-2.65-2.91s1.19-2.91,2.65-2.91h43.62l-1.53,5.82H19.51L19.51,92.45L19.51,92.45z M18.45,79.73 c-1.46,0-2.65-1.3-2.65-2.91c0-1.61,1.19-2.91,2.65-2.91h50.92c-0.56,0.37-1.1,0.81-1.6,1.31l-0.05,0.05 c-1.26,1.18-2.24,2.7-2.77,4.46H18.45L18.45,79.73L18.45,79.73z M16.49,34.55h29.25v29.51H16.49V34.55L16.49,34.55L16.49,34.55z M46.94,9.08c2.53,0,4.57,2.05,4.57,4.57c0,2.52-2.05,4.57-4.57,4.57c-2.52,0-4.57-2.05-4.57-4.57 C42.37,11.13,44.42,9.08,46.94,9.08L46.94,9.08L46.94,9.08z M30.96,9.08c2.53,0,4.57,2.05,4.57,4.57c0,2.52-2.05,4.57-4.57,4.57 c-2.53,0-4.57-2.05-4.57-4.57C26.39,11.13,28.44,9.08,30.96,9.08L30.96,9.08L30.96,9.08z M14.99,9.08c2.53,0,4.57,2.05,4.57,4.57 c0,2.52-2.05,4.57-4.57,4.57c-2.53,0-4.57-2.05-4.57-4.57C10.42,11.13,12.46,9.08,14.99,9.08L14.99,9.08L14.99,9.08z"/></g></svg> \ No newline at end of file diff --git a/ext_emconf.php b/ext_emconf.php index a02c602..bc184f8 100644 --- a/ext_emconf.php +++ b/ext_emconf.php @@ -3,7 +3,7 @@ /*************************************************************** * Extension Manager/Repository config file for ext: "nl_menubuilder" * - * Auto generated by Extension Builder 2021-04-21 + * Auto generated by Extension Builder 2021-04-22 * * Manual updates: * Only the data in the array - anything else is removed by next write. @@ -17,7 +17,7 @@ $EM_CONF[$_EXTKEY] = [ 'author' => '', 'author_email' => '', 'state' => 'alpha', - 'uploadfolder' => 0, + 'uploadfolder' => 1, 'createDirs' => '', 'clearCacheOnLoad' => 0, 'version' => '1.0.0', diff --git a/ext_localconf.php b/ext_localconf.php index b3602e6..088daf4 100644 --- a/ext_localconf.php +++ b/ext_localconf.php @@ -3,12 +3,14 @@ defined('TYPO3_MODE') or die(); $boot = function () { if (TYPO3_MODE === 'BE') { + $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class); + $icons = [ - 'ext-menuitem-type-content' => 'tx_nlmenubuilder_domain_model_menuitemcontent.svg', - 'ext-menuitem-type-page' => 'tx_nlmenubuilder_domain_model_menuitemcontent.svg', - 'ext-menuitem-type-link' => 'tx_nlmenubuilder_domain_model_menuitemcontent.svg', + 'ext-menubuilder-menuitem-type-page' => 'tx_nlmenubuilder_domain_model_menuitem-page.svg', + 'ext-menubuilder-menuitem-type-link' => 'tx_nlmenubuilder_domain_model_menuitem-link.svg', + 'ext-menubuilder-menuitem-type-content' => 'tx_nlmenubuilder_domain_model_menuitem-content.svg', + 'ext-menubuilder-menuitem-type-submenu' => 'tx_nlmenubuilder_domain_model_menuitem-submenu.svg', ]; - $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class); foreach ($icons as $identifier => $path) { if (!$iconRegistry->isRegistered($identifier)) { diff --git a/ext_tables.sql b/ext_tables.sql index 3372bc9..508495d 100644 --- a/ext_tables.sql +++ b/ext_tables.sql @@ -4,8 +4,8 @@ CREATE TABLE tx_nlmenubuilder_domain_model_menu ( title varchar(255) DEFAULT '' NOT NULL, - menu_item int(11) unsigned DEFAULT '0' NOT NULL, - menu_group int(11) unsigned DEFAULT '0' + menu_group int(11) unsigned DEFAULT '0', + menu_item int(11) unsigned DEFAULT '0' NOT NULL ); @@ -25,7 +25,14 @@ CREATE TABLE tx_nlmenubuilder_domain_model_menuitem ( menu int(11) unsigned DEFAULT '0' NOT NULL, + type int(11) DEFAULT '0' NOT NULL, title varchar(255) DEFAULT '' NOT NULL, - type int(11) DEFAULT '0' NOT NULL + subtitle varchar(255) DEFAULT '' NOT NULL, + image int(11) unsigned NOT NULL default '0', + page varchar(255) DEFAULT '' NOT NULL, + link varchar(255) DEFAULT '' NOT NULL, + content text ); + +## EXTENSION BUILDER DEFAULTS END TOKEN - Everything BEFORE this line is overwritten with the defaults of the extension builder \ No newline at end of file -- GitLab