diff --git a/.gitignore b/.gitignore index 629c2242031356f7de485a8625dcab3325c9b4ab..997068d70f2670524ee374ab80013e35c51e9fbf 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 fd82a0d4a534d2f199ca96294128fd44d4e37544..7f83e894b91fd51bbfa38d64564904586ccd1663 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 a30f6671a43f42d4c7e8e5823e11bbeb3dc45842..b56df01e29a3427103db839174b68ccdf16a0853 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 a460f0c35348d38c499dada839c487b5c5ec2bd6..06f0c2e06efd68c3e71ece1f6d29ce5898b020be 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 bb6639ada9a03e93dc818ffb426cc104f7ac9f50..0051416e37a2f47c23c337ac61e249d0654a4a43 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 ca5aa8b8aa63e094c4d7077eac8eb7df8dd44923..b3618ae25ffa1c8e10704ba37334d50c05da3b37 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 85d062938a60e88774f18e435e3966968fca8d1a..0000000000000000000000000000000000000000 --- 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 21967554aa995e85d67f6fe9d68a4b2d3350c2f4..4c89278638751eb6e07a4e5b91e568307155363f 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 170692891ede855906e796b29491f14f17f7c663..0000000000000000000000000000000000000000 --- 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 7010c67502ac8ae4859413adff3c119810359d2b..0000000000000000000000000000000000000000 --- 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 c0dd91c74106b7711d3d5c567efd2bd16e487057..6b20f54e2180281e8ba9fc40160953ceb9c36f5d 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 233f85c0f9b9d060d9141085880b00ad803adb66..c45512dd1b2212d02509a3d492f0ea229e9ae579 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 61533847739502d5b3e07dd50d543b2198b46a14..0000000000000000000000000000000000000000 --- 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 68761784e4464df33696de7b5f4f702dbe8226e7..0000000000000000000000000000000000000000 --- 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 6836fe7d24e8b6d6345ad1a1c0609ae27728a428..96a701fb43d94932987632bd47e4994833f92944 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 e558e406ca77fded808b3f2640fc42bfced37190..0be185aae9f06689335a64ae50162814b191a055 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 aa3a0d2f137e6de554e8a824b7117ecec14627cb..0000000000000000000000000000000000000000 --- 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 d1bbe8e76ed6466dc6c400ba70eb06c6656f5b42..0000000000000000000000000000000000000000 --- 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 d49c49ccf5badd58f39d81b95f70ae6f80b04108..92575173e22b04df58463225d5b1083b34c479d9 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 e29c366f9dafae7eb2ef0474289c82fc861f210e..a1c2f382545c41712dbae374b1085714a4daf51c 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 12ff063c941a939c46a1cfe73094da35e0b2bfd5..9ddcb844de9866d1d20404774d2ead53a76d28c8 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 c33998f5eed27d8e016f5d0ab11c160adb33a7da..0000000000000000000000000000000000000000 --- 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 aac877491cb00ce919f33f7d063642c79b06b771..0000000000000000000000000000000000000000 --- 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 3fc1da7bde7a685f4f526f89094943e5a4b144c6..d12607c5247bbd5f266873fb6a38c33710518288 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 Binary files a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menu.gif and b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menu.gif differ 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 Binary files a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menugroup.gif and b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menugroup.gif differ 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 0000000000000000000000000000000000000000..292c9b63be169909e99947c648888fd7e5300f66 --- /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 0000000000000000000000000000000000000000..dc5d32d862a57cbe883ae0a75e38d5d74d200c66 --- /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 0000000000000000000000000000000000000000..f2d3eb1f88fef8e0807bb34654fb66725f3df067 --- /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 0000000000000000000000000000000000000000..9cdf3fb88d6809eb039ad48b3a9efa903003cf40 --- /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 Binary files a/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem.gif and b/Resources/Public/Icons/tx_nlmenubuilder_domain_model_menuitem.gif differ 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 ba78ed50d2057be43d84d5c11f54bec0ef562617..0000000000000000000000000000000000000000 --- 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 a02c602c02e18ca365db44d5fea765221f7472b9..bc184f83df3740042ffa19b4a342ea432922b72c 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 b3602e68695ffc7ba899c09dae84635e5fbb5537..088daf4d333fb1ec68c3d23719923b2b6e8827fb 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 3372bc97d0bca6d32aa285db4ea70f99a0418109..508495d7de304f1f7ac376f75de0ff9e02b1bb22 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