inital commit
This commit is contained in:
2
Configuration/.htaccess
Executable file
2
Configuration/.htaccess
Executable file
@@ -0,0 +1,2 @@
|
||||
Order deny,allow
|
||||
Deny from all
|
20
Configuration/Extbase/Persistence/Classes.php
Executable file
20
Configuration/Extbase/Persistence/Classes.php
Executable file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
A2G\A2gProducts\Domain\Model\MasonryItem::class => [
|
||||
'tableName' => 'tx_a2gtoolkit_masonry_item',
|
||||
'properties' => [
|
||||
'title' => [
|
||||
'fieldName' => 'title',
|
||||
],
|
||||
'itemClass' => [
|
||||
'fieldName' => 'item_class',
|
||||
],
|
||||
'image' => [
|
||||
'fieldName' => 'image',
|
||||
],
|
||||
],
|
||||
]
|
||||
];
|
104
Configuration/FlexForms/flexform_detail.xml
Executable file
104
Configuration/FlexForms/flexform_detail.xml
Executable file
@@ -0,0 +1,104 @@
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Function</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.listPage>
|
||||
<label>product list page</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<internal_type>db</internal_type>
|
||||
<allowed>pages</allowed>
|
||||
<size>1</size>
|
||||
<maxitems>1</maxitems>
|
||||
<minitems>1</minitems>
|
||||
<show_thumbs>1</show_thumbs>
|
||||
</config>
|
||||
</settings.listPage>
|
||||
<settings.pageTitleSuffix>
|
||||
<label>detail page title suffix</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>50</size>
|
||||
<eval>trim</eval>
|
||||
<enableRichtext>0</enableRichtext>
|
||||
</config>
|
||||
</settings.pageTitleSuffix>
|
||||
<settings.allowedCategories>
|
||||
<label>Show Categories</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectMultipleSideBySide</renderType>
|
||||
<items type="array">
|
||||
</items>
|
||||
<foreign_table>tx_a2gproducts_domain_model_categories</foreign_table>
|
||||
<foreign_table_where>
|
||||
AND (tx_a2gproducts_domain_model_categories.sys_language_uid=CAST('###REC_FIELD_sys_language_uid###' AS UNSIGNED) OR tx_a2gproducts_domain_model_categories.sys_language_uid= '-1')
|
||||
</foreign_table_where>
|
||||
<maxitems>99</maxitems>
|
||||
<minitems>0</minitems>
|
||||
<size>10</size>
|
||||
</config>
|
||||
</settings.allowedCategories>
|
||||
<settings.ingredientsDetailPage>
|
||||
<label>ingredients detail page</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<internal_type>db</internal_type>
|
||||
<allowed>pages</allowed>
|
||||
<size>1</size>
|
||||
<maxitems>1</maxitems>
|
||||
<minitems>0</minitems>
|
||||
<show_thumbs>1</show_thumbs>
|
||||
</config>
|
||||
</settings.ingredientsDetailPage>
|
||||
<settings.style>
|
||||
<label>Detail Page Style</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">Default</numIndex>
|
||||
<numIndex index="1">Default</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">StyleOne</numIndex>
|
||||
<numIndex index="1">StyleOne</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.style>
|
||||
<settings.showCategories>
|
||||
<label>Allowed Categories</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectMultipleSideBySide</renderType>
|
||||
<items type="array">
|
||||
</items>
|
||||
<foreign_table>tx_a2gproducts_domain_model_categories</foreign_table>
|
||||
<foreign_table_where>
|
||||
AND (tx_a2gproducts_domain_model_categories.sys_language_uid=CAST('###REC_FIELD_sys_language_uid###' AS UNSIGNED) OR tx_a2gproducts_domain_model_categories.sys_language_uid= '-1')
|
||||
</foreign_table_where>
|
||||
<maxitems>99</maxitems>
|
||||
<minitems>0</minitems>
|
||||
<size>10</size>
|
||||
</config>
|
||||
</settings.showCategories>
|
||||
<settings.requestMailTo>
|
||||
<label>LLL:EXT:a2g_shop/Resources/Private/Language/backend.xlf:flexform.request_mail_to</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>80</size>
|
||||
<eval>trim</eval>
|
||||
</config>
|
||||
</settings.requestMailTo>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
64
Configuration/FlexForms/flexform_ingredients_detail.xml
Executable file
64
Configuration/FlexForms/flexform_ingredients_detail.xml
Executable file
@@ -0,0 +1,64 @@
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Function</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.listPage>
|
||||
<label>list page</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<internal_type>db</internal_type>
|
||||
<allowed>pages</allowed>
|
||||
<size>1</size>
|
||||
<maxitems>1</maxitems>
|
||||
<minitems>0</minitems>
|
||||
<show_thumbs>1</show_thumbs>
|
||||
</config>
|
||||
</settings.listPage>
|
||||
<settings.pageTitleSuffix>
|
||||
<label>detail page title suffix</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>50</size>
|
||||
<eval>trim</eval>
|
||||
<enableRichtext>0</enableRichtext>
|
||||
</config>
|
||||
</settings.pageTitleSuffix>
|
||||
<settings.productDetailPage>
|
||||
<label>Product Detail Page</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<internal_type>db</internal_type>
|
||||
<allowed>pages</allowed>
|
||||
<size>1</size>
|
||||
<maxitems>1</maxitems>
|
||||
<minitems>0</minitems>
|
||||
<show_thumbs>1</show_thumbs>
|
||||
</config>
|
||||
</settings.productDetailPage>
|
||||
<settings.detailPagePluginType>
|
||||
<label>Product Detail Extension</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">A2gProducts</numIndex>
|
||||
<numIndex index="1">A2gProducts</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">A2gShop</numIndex>
|
||||
<numIndex index="1">A2gShop</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.detailPagePluginType>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
34
Configuration/FlexForms/flexform_ingredients_list.xml
Executable file
34
Configuration/FlexForms/flexform_ingredients_list.xml
Executable file
@@ -0,0 +1,34 @@
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Function</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.ingredientsDetailPage>
|
||||
<label>detail page</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<internal_type>db</internal_type>
|
||||
<allowed>pages</allowed>
|
||||
<size>1</size>
|
||||
<maxitems>1</maxitems>
|
||||
<show_thumbs>1</show_thumbs>
|
||||
</config>
|
||||
</settings.ingredientsDetailPage>
|
||||
<settings.ajaxListLimit>
|
||||
<label>ajax List Limit</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>20</size>
|
||||
<max>30</max>
|
||||
<eval>int,trim</eval>
|
||||
</config>
|
||||
</settings.ajaxListLimit>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
104
Configuration/FlexForms/flexform_list.xml
Executable file
104
Configuration/FlexForms/flexform_list.xml
Executable file
@@ -0,0 +1,104 @@
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Function</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.productDetailPage>
|
||||
<label>detail page</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<internal_type>db</internal_type>
|
||||
<allowed>pages</allowed>
|
||||
<size>1</size>
|
||||
<maxitems>1</maxitems>
|
||||
<minitems>0</minitems>
|
||||
<show_thumbs>1</show_thumbs>
|
||||
</config>
|
||||
</settings.productDetailPage>
|
||||
<settings.detailPagePluginType>
|
||||
<label>List Content</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">A2gProducts</numIndex>
|
||||
<numIndex index="1">A2gProducts</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">A2gShop</numIndex>
|
||||
<numIndex index="1">A2gShop</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.detailPagePluginType>
|
||||
<settings.showCategories>
|
||||
<label>Show Categories</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectMultipleSideBySide</renderType>
|
||||
<items type="array">
|
||||
</items>
|
||||
<foreign_table>tx_a2gproducts_domain_model_categories</foreign_table>
|
||||
<foreign_table_where>
|
||||
AND (tx_a2gproducts_domain_model_categories.sys_language_uid=CAST('###REC_FIELD_sys_language_uid###' AS UNSIGNED) OR tx_a2gproducts_domain_model_categories.sys_language_uid= '-1')
|
||||
</foreign_table_where>
|
||||
<maxitems>99</maxitems>
|
||||
<minitems>0</minitems>
|
||||
<size>10</size>
|
||||
</config>
|
||||
</settings.showCategories>
|
||||
<settings.ajaxListLimit>
|
||||
<label>Ajax List Limit</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>20</size>
|
||||
<max>30</max>
|
||||
<eval>int,trim</eval>
|
||||
</config>
|
||||
</settings.ajaxListLimit>
|
||||
<settings.listContent>
|
||||
<label>List Content</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">Product</numIndex>
|
||||
<numIndex index="1">Product</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.listContent>
|
||||
<settings.style>
|
||||
<label>Detail Page Style</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">Default</numIndex>
|
||||
<numIndex index="1">Default</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">StyleOne</numIndex>
|
||||
<numIndex index="1">StyleOne</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.style>
|
||||
<settings.noSearch>
|
||||
<label>hide search</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
</config>
|
||||
</settings.noSearch>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
21
Configuration/Services.yml
Executable file
21
Configuration/Services.yml
Executable file
@@ -0,0 +1,21 @@
|
||||
services:
|
||||
_defaults:
|
||||
autowire: true
|
||||
autoconfigure: true
|
||||
public: false
|
||||
|
||||
a2gproducts.cache:
|
||||
class: TYPO3\CMS\Core\Cache\Frontend\PhpFrontend
|
||||
# We can not use CacheManager, as it can not be
|
||||
# injected/instantiated during ext_localconf.php loading
|
||||
# factory: ['@TYPO3\CMS\Core\Cache\CacheManager', 'getCache']
|
||||
# therefore we use the static Bootstrap::createCache factory instead.
|
||||
factory: ['TYPO3\CMS\Core\Core\Bootstrap', 'createCache']
|
||||
arguments: ['products']
|
||||
|
||||
A2G\A2gProducts\Hreflang\EventListener\ProductsHrefLang:
|
||||
tags:
|
||||
- name: event.listener
|
||||
identifier: 'a2g-products/ProductsHrefLang'
|
||||
after: 'typo3-seo/hreflangGenerator'
|
||||
event: TYPO3\CMS\Frontend\Event\ModifyHrefLangTagsEvent
|
30
Configuration/TCA/Overrides/100_sys_template.php
Executable file
30
Configuration/TCA/Overrides/100_sys_template.php
Executable file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
defined('TYPO3_MODE') || die();
|
||||
|
||||
/***************
|
||||
* TypoScript: Full Package
|
||||
* This includes the full setup including all configurations
|
||||
*/
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
|
||||
'a2g_products',
|
||||
'Configuration/TypoScript',
|
||||
'Altogether Products: Full Package'
|
||||
);
|
||||
|
||||
/***************
|
||||
* TypoScript: Base Package
|
||||
*/
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
|
||||
'a2g_products',
|
||||
'Configuration/TypoScript/Base',
|
||||
'Altogether Products: Base Package'
|
||||
);
|
||||
|
||||
/***************
|
||||
* TypoScript: Google Analytics Integration
|
||||
*/
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
|
||||
'a2g_products',
|
||||
'Configuration/TypoScript/GoogleAnalytics',
|
||||
'Altogether Products: Google Analytics Integration'
|
||||
);
|
60
Configuration/TCA/Overrides/102_tt_content.php
Executable file
60
Configuration/TCA/Overrides/102_tt_content.php
Executable file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
defined('TYPO3_MODE') || die();
|
||||
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'A2gProducts',
|
||||
'A2gproductslist',
|
||||
'Product List'
|
||||
);
|
||||
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'A2gProducts',
|
||||
'A2gproductsdetail',
|
||||
'Product Detail'
|
||||
);
|
||||
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'A2gProducts',
|
||||
'Ingredientslist',
|
||||
'Ingredients List'
|
||||
);
|
||||
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'A2gProducts',
|
||||
'Ingredientsdetail',
|
||||
'Ingredients Detail'
|
||||
);
|
||||
|
||||
$pluginSignatures = [
|
||||
'a2gproducts_a2gproductslist' => 'flexform_list',
|
||||
'a2gproducts_a2gproductsdetail' => 'flexform_detail',
|
||||
'a2gproducts_ingredientslist' => 'flexform_ingredients_list',
|
||||
'a2gproducts_ingredientsdetail' => 'flexform_ingredients_detail'
|
||||
];
|
||||
|
||||
foreach ($pluginSignatures as $pluginSignature => $flexform) {
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature]='pages,layout,select_key,recursive';
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature]='pi_flexform';
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$pluginSignature,
|
||||
'FILE:EXT:a2g_products/Configuration/FlexForms/'.$flexform.'.xml'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* typo3 12
|
||||
*
|
||||
$pluginSignature = \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'A2gMaps',
|
||||
'map',
|
||||
'Map'
|
||||
);
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature]
|
||||
= 'pi_flexform';
|
||||
ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$pluginSignature,
|
||||
'FILE:EXT:a2g_maps/Configuration/FlexForms/flexform_map.xml'
|
||||
);
|
||||
*/
|
61
Configuration/TCA/Overrides/500_cropping.php
Executable file
61
Configuration/TCA/Overrides/500_cropping.php
Executable file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
|
||||
defined('TYPO3') or die('Access denied.');
|
||||
|
||||
// Add crop variants
|
||||
$defaultCropSettings = [
|
||||
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.default',
|
||||
'allowedAspectRatios' => [
|
||||
'16:10' => [
|
||||
'title' => '16:10',
|
||||
'value' => 16 / 10
|
||||
],
|
||||
'16:9' => [
|
||||
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.16_9',
|
||||
'value' => 16 / 9
|
||||
],
|
||||
'4:3' => [
|
||||
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.4_3',
|
||||
'value' => 4 / 3
|
||||
],
|
||||
'1:1' => [
|
||||
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.1_1',
|
||||
'value' => 1.0
|
||||
],
|
||||
'NaN' => [
|
||||
'title' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:ratio.free',
|
||||
'value' => 0.0
|
||||
],
|
||||
],
|
||||
'selectedRatio' => 'NaN',
|
||||
'cropArea' => [
|
||||
'x' => 0.0,
|
||||
'y' => 0.0,
|
||||
'width' => 1.0,
|
||||
'height' => 1.0,
|
||||
]
|
||||
];
|
||||
$largeCropSettings = $defaultCropSettings;
|
||||
$largeCropSettings['title'] = 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.large';
|
||||
$mediumCropSettings = $defaultCropSettings;
|
||||
$mediumCropSettings['title'] = 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.medium';
|
||||
$smallCropSettings = $defaultCropSettings;
|
||||
$smallCropSettings['title'] = 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.small';
|
||||
$extrasmallCropSettings = $defaultCropSettings;
|
||||
$extrasmallCropSettings['title'] = 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.extrasmall';
|
||||
|
||||
// Content Element Background Image
|
||||
$GLOBALS['TCA']['tx_a2gproducts_domain_model_ingredients']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
|
||||
$GLOBALS['TCA']['tx_a2gproducts_domain_model_ingredients']['columns']['images']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
|
||||
|
||||
$GLOBALS['TCA']['tx_a2gproducts_domain_model_products']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
|
||||
$GLOBALS['TCA']['tx_a2gproducts_domain_model_products']['columns']['images']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
|
||||
|
||||
$GLOBALS['TCA']['tx_a2gproducts_domain_model_productvariants']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
|
||||
$GLOBALS['TCA']['tx_a2gproducts_domain_model_productvariants']['columns']['images']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['default'] = $defaultCropSettings;
|
||||
|
||||
//$GLOBALS['TCA']['tx_a2gproducts_domain_model_ingredients']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['large'] = $largeCropSettings;
|
||||
//$GLOBALS['TCA']['tx_a2gproducts_domain_model_ingredients']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['medium'] = $mediumCropSettings;
|
||||
//$GLOBALS['TCA']['tx_a2gproducts_domain_model_ingredients']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['small'] = $smallCropSettings;
|
||||
//$GLOBALS['TCA']['tx_a2gproducts_domain_model_ingredients']['columns']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants']['extrasmall'] = $extrasmallCropSettings;
|
164
Configuration/TCA/tx_a2gproducts_domain_model_brands.php
Executable file
164
Configuration/TCA/tx_a2gproducts_domain_model_brands.php
Executable file
@@ -0,0 +1,164 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2gproducts_domain_model_brands',
|
||||
'label' => 'title',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'sortby' => 'sorting',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'versioningWS' => true,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'thumbnail' => 'image',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'nr,title',
|
||||
'iconfile' => 'EXT:a2g_products/Resources/Public/Icons/brand-image.png'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, path_segment, image, '
|
||||
. '--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' => 'language'
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'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_a2gproducts_domain_model_brands',
|
||||
'foreign_table_where' => 'AND {#tx_a2gproducts_domain_model_brands}.{#pid}=###CURRENT_PID### AND {#tx_a2gproducts_domain_model_brands}.{#sys_language_uid} IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'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:a2g_products/Resources/Private/Language/locallang_db.xlf:title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim, required',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'image' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:image',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
],
|
||||
];
|
199
Configuration/TCA/tx_a2gproducts_domain_model_categories.php
Executable file
199
Configuration/TCA/tx_a2gproducts_domain_model_categories.php
Executable file
@@ -0,0 +1,199 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2gproducts_domain_model_categories',
|
||||
'label' => 'title',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'sortby' => 'sorting',
|
||||
'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,description',
|
||||
'iconfile' => 'EXT:a2g_products/Resources/Public/Icons/categories.png'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, rel_filters, --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' => 'language'
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'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_a2gproducts_domain_model_categories',
|
||||
'foreign_table_where' => 'AND {#tx_a2gproducts_domain_model_categories}.{#pid}=###CURRENT_PID### AND {#tx_a2gproducts_domain_model_categories}.{#sys_language_uid} IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'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:a2g_products/Resources/Private/Language/locallang_db.xlf:title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim, required',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:description',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'image' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf: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_a2gproducts_domain_model_categories',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
|
||||
],
|
||||
'rel_filters' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_filters',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_filters',
|
||||
'foreign_table_where' => ' AND tx_a2gproducts_domain_model_filters.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1) ',
|
||||
'MM' => 'tx_a2gproducts_categories_filters_mm',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
'maxitems' => 9999,
|
||||
'multiple' => 0,
|
||||
'fieldControl' => [
|
||||
'editPopup' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'addRecord' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'listModule' => [
|
||||
'disabled' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
],
|
||||
];
|
102
Configuration/TCA/tx_a2gproducts_domain_model_filteroptions.php
Executable file
102
Configuration/TCA/tx_a2gproducts_domain_model_filteroptions.php
Executable file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2gproducts_domain_model_filteroptions',
|
||||
'label' => 'title',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'sortby' => 'sorting',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'versioningWS' => true,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'hideTable' => false,
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden'
|
||||
],
|
||||
'searchFields' => 'title',
|
||||
'hideTable' => true,
|
||||
'iconfile' => 'EXT:a2g_products/Resources/Public/Icons/filter-option.png'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, value_min, value_max'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'language'
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'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_a2gproducts_domain_model_filteroptions',
|
||||
'foreign_table_where' => 'AND {#tx_a2gproducts_domain_model_filteroptions}.{#pid}=###CURRENT_PID### AND {#tx_a2gproducts_domain_model_filteroptions}.{#sys_language_uid} IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'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
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'value_min' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:value_min',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'double2'
|
||||
],
|
||||
],
|
||||
'value_max' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:value_max',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'double2'
|
||||
],
|
||||
],
|
||||
'filters' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
180
Configuration/TCA/tx_a2gproducts_domain_model_filters.php
Executable file
180
Configuration/TCA/tx_a2gproducts_domain_model_filters.php
Executable file
@@ -0,0 +1,180 @@
|
||||
<?php
|
||||
use A2G\A2gProducts\Domain\Model\Filters;
|
||||
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2gproducts_domain_model_filters',
|
||||
'label' => 'title',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'sortby' => 'sorting',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'versioningWS' => true,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'type' => 'rel_filter_option',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'title,filter_type',
|
||||
'iconfile' => 'EXT:a2g_products/Resources/Public/Icons/filters.png'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, filter_type, db_operation_max, db_operation_min, rel_filter_option, --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' => 'language'
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'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_a2gproducts_domain_model_filters',
|
||||
'foreign_table_where' => 'AND {#tx_a2gproducts_domain_model_filters}.{#pid}=###CURRENT_PID### AND {#tx_a2gproducts_domain_model_filters}.{#sys_language_uid} IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'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:a2g_products/Resources/Private/Language/locallang_db.xlf:title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'filter_type' => [
|
||||
'exclude' => true,
|
||||
'onChange' => 'reload',
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:filter_type',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'default' => 3,
|
||||
'items' => [
|
||||
// [Filters::$dbType[1], 1],
|
||||
// [Filters::$dbType[2], 2],
|
||||
['LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:filter_type.'.Filters::$dbType[3], 3]
|
||||
],
|
||||
],
|
||||
],
|
||||
'db_operation_max' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:db_operation_max',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
[Filters::$dbOperations[1], 1],
|
||||
[Filters::$dbOperations[2], 2],
|
||||
[Filters::$dbOperations[3], 3],
|
||||
[Filters::$dbOperations[4], 4],
|
||||
[Filters::$dbOperations[5], 5]
|
||||
],
|
||||
],
|
||||
'displayCond' => 'FIELD:filter_type:=:1',
|
||||
],
|
||||
'db_operation_min' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:db_operation_min',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
[Filters::$dbOperations[1], 1],
|
||||
[Filters::$dbOperations[2], 2],
|
||||
[Filters::$dbOperations[3], 3],
|
||||
[Filters::$dbOperations[4], 4],
|
||||
[Filters::$dbOperations[5], 5]
|
||||
],
|
||||
],
|
||||
'displayCond' => 'FIELD:filter_type:IN:1,2',
|
||||
],
|
||||
'rel_filter_option' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_filter_option',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_filteroptions',
|
||||
'foreign_table_where' => 'AND tx_a2gproducts_domain_model_filters.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1)',
|
||||
'foreign_field' => 'filters',
|
||||
'maxitems' => 9999,
|
||||
'appearance' => [
|
||||
'collapseAll' => 1,
|
||||
'expandSingle' => 1,
|
||||
'levelLinksPosition' => 'top',
|
||||
'showSynchronizationLink' => 1,
|
||||
'showPossibleLocalizationRecords' => 1,
|
||||
'showAllLocalizationLink' => 1
|
||||
],
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
],
|
||||
];
|
117
Configuration/TCA/tx_a2gproducts_domain_model_filtervalues.php
Executable file
117
Configuration/TCA/tx_a2gproducts_domain_model_filtervalues.php
Executable file
@@ -0,0 +1,117 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2gproducts_domain_model_filtervalues',
|
||||
'label' => 'value',
|
||||
'label_userFunc' => 'A2G\\A2gProducts\\User\\FilterValuesMatcher->title',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'type' => 'rel_filter_option',
|
||||
'versioningWS' => true,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'hideTable' => true,
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden'
|
||||
],
|
||||
'searchFields' => '',
|
||||
'iconfile' => 'EXT:a2g_products/Resources/Public/Icons/filter-option.png'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, value,rel_filter_option, rel_filters'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'language'
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'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_a2gproducts_domain_model_filtervalues',
|
||||
'foreign_table_where' => 'AND {#tx_a2gproducts_domain_model_filtervalues}.{#pid}=###CURRENT_PID### AND {#tx_a2gproducts_domain_model_filtervalues}.{#sys_language_uid} IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'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
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
'value' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:value',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'double2'
|
||||
],
|
||||
'displayCond' => 'USER:A2G\\A2gProducts\\User\\FilterValuesMatcher->showValueInput',
|
||||
],
|
||||
'rel_filter_option' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_filter_option',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_filteroptions',
|
||||
'foreign_table_where' => 'AND tx_a2gproducts_domain_model_filteroptions.filters = ###REC_FIELD_rel_filters### AND tx_a2gproducts_domain_model_filteroptions.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1)',
|
||||
'default' => 0,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
'displayCond' => 'USER:A2G\\A2gProducts\\User\\FilterValuesMatcher->showOptionsSelect',
|
||||
],
|
||||
'rel_filters' => [
|
||||
'exclude' => true,
|
||||
'onChange' => 'reload',
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_filters',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_filters',
|
||||
'foreign_table_where' => 'AND tx_a2gproducts_domain_model_filters.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1)',
|
||||
'default' => 0,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
],
|
||||
'products' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'productvariants' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
308
Configuration/TCA/tx_a2gproducts_domain_model_ingredients.php
Executable file
308
Configuration/TCA/tx_a2gproducts_domain_model_ingredients.php
Executable file
@@ -0,0 +1,308 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2gproducts_domain_model_ingredients',
|
||||
'label' => 'title',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'sortby' => 'sorting',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'versioningWS' => true,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'nr,title,description',
|
||||
'iconfile' => 'EXT:a2g_products/Resources/Public/Icons/natural-ingredients.png'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_diffsource, hidden, title, path_segment, description,'
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:images_tab, image, images, gallery,'
|
||||
. '--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' => 'language'
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'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:a2g_products/Resources/Private/Language/locallang_db.xlf:title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'path_segment' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:slug',
|
||||
'config' => [
|
||||
'type' => 'slug',
|
||||
'size' => 50,
|
||||
'generatorOptions' => [
|
||||
'fields' => ['title'],
|
||||
'fieldSeparator' => '/',
|
||||
'prefixParentPageSlug' => true,
|
||||
'replacements' => [
|
||||
'/' => '',
|
||||
],
|
||||
],
|
||||
'fallbackCharacter' => '-',
|
||||
'eval' => 'uniqueInSite',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'image' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:image',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'images' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:images',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'images',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 10,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'gallery' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_toolkit/Resources/Private/Language/Backend.xlf:masonry_item',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'tx_a2gtoolkit_masonry_item',
|
||||
'foreign_field' => 'a2g_ingredients',
|
||||
'appearance' => [
|
||||
'useSortable' => true,
|
||||
'showSynchronizationLink' => true,
|
||||
'showAllLocalizationLink' => true,
|
||||
'showPossibleLocalizationRecords' => true,
|
||||
'expandSingle' => true,
|
||||
'enabledControls' => [
|
||||
'localize' => true,
|
||||
]
|
||||
],
|
||||
'behaviour' => [
|
||||
'mode' => 'select',
|
||||
]
|
||||
],
|
||||
],
|
||||
'rel_products' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_products',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_products',
|
||||
'foreign_table_where' => ' AND tx_a2gproducts_domain_model_products.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1) AND tx_a2gproducts_domain_model_products.pid=###CURRENT_PID### ',
|
||||
'MM' => 'tx_a2gproducts_products_ingredients_mm',
|
||||
'MM_opposite_field' => 'uid_foreign',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
'maxitems' => 20,
|
||||
'multiple' => 0,
|
||||
'fieldControl' => [
|
||||
'editPopup' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'addRecord' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'listModule' => [
|
||||
'disabled' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'rel_productvariants' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_productvariants',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_productvariants',
|
||||
'foreign_table_where' => ' AND tx_a2gproducts_domain_model_productvariants.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1) AND tx_a2gproducts_domain_model_productvariants.pid=###CURRENT_PID### ',
|
||||
'MM' => 'tx_a2gproducts_products_productvariants_mm',
|
||||
'MM_opposite_field' => 'uid_foreign',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
'maxitems' => 20,
|
||||
'multiple' => 0,
|
||||
'fieldControl' => [
|
||||
'editPopup' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'addRecord' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'listModule' => [
|
||||
'disabled' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
599
Configuration/TCA/tx_a2gproducts_domain_model_products.php
Executable file
599
Configuration/TCA/tx_a2gproducts_domain_model_products.php
Executable file
@@ -0,0 +1,599 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2gproducts_domain_model_products',
|
||||
'label' => 'title',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'sortby' => 'sorting',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'versioningWS' => true,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'descriptionColumn' => 'description',
|
||||
'thumbnail' => 'image',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'nr,title,description',
|
||||
'iconfile' => 'EXT:a2g_products/Resources/Public/Icons/package.png'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, nr, title, path_segment, rel_category, description, description_html, rel_brand,'
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:images_tab, image, images,'
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:ingredients_tab, rel_ingredients,'
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:filters_tab, rel_filter_values, '
|
||||
// . '--div--;Product Attributes, rel_selectableattribute, '
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:product_variants_tab, rel_productvariants, '
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:seo_tab, seo_image1x1,seo_image4x3,seo_image16x9,'
|
||||
. '--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' => 'language'
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'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_a2gproducts_domain_model_products',
|
||||
'foreign_table_where' => 'AND {#tx_a2gproducts_domain_model_products}.{#pid}=###CURRENT_PID### AND {#tx_a2gproducts_domain_model_products}.{#sys_language_uid} IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'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
|
||||
]
|
||||
],
|
||||
],
|
||||
'nr' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:product_nr',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim, required',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim, required',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'path_segment' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:slug',
|
||||
'config' => [
|
||||
'type' => 'slug',
|
||||
'size' => 50,
|
||||
'generatorOptions' => [
|
||||
'fields' => ['title'],
|
||||
'fieldSeparator' => '/',
|
||||
'prefixParentPageSlug' => true,
|
||||
'replacements' => [
|
||||
'/' => '',
|
||||
],
|
||||
],
|
||||
'fallbackCharacter' => '-',
|
||||
'eval' => 'uniqueInSite',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'description_html' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:description_html',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
'enableRichtext' => true,
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'image' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:image',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'images' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:images',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'images',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 10,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'gallery' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_toolkit/Resources/Private/Language/Backend.xlf:masonry_item',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'tx_a2gtoolkit_masonry_item',
|
||||
'foreign_field' => 'a2g_products',
|
||||
'appearance' => [
|
||||
'useSortable' => true,
|
||||
'showSynchronizationLink' => true,
|
||||
'showAllLocalizationLink' => true,
|
||||
'showPossibleLocalizationRecords' => true,
|
||||
'expandSingle' => true,
|
||||
'enabledControls' => [
|
||||
'localize' => true,
|
||||
]
|
||||
],
|
||||
'behaviour' => [
|
||||
'mode' => 'select',
|
||||
]
|
||||
],
|
||||
],
|
||||
'seo_image1x1' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:seo_image1x1',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'seo_image1x1',
|
||||
'tablenames' => 'tx_a2gproducts_domain_model_products',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'seo_image4x3' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:seo_image4x3',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'seo_image4x3',
|
||||
'tablenames' => 'tx_a2gproducts_domain_model_products',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'seo_image16x9' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:seo_image16x9',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'seo_image16x9',
|
||||
'tablenames' => 'tx_a2gproducts_domain_model_products',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'rel_category' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_category',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_categories',
|
||||
'foreign_table_where' => ' AND {#tx_a2gproducts_domain_model_categories}.{#sys_language_uid} IN (###REC_FIELD_sys_language_uid###,-1) AND {#tx_a2gproducts_domain_model_categories}.{#pid}=###CURRENT_PID### ',
|
||||
'MM' => 'tx_a2gproducts_products_categories_mm',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
'maxitems' => 20,
|
||||
'multiple' => false,
|
||||
'fieldControl' => [
|
||||
'editPopup' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'addRecord' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'listModule' => [
|
||||
'disabled' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'rel_filter_values' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_filter_values',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_filtervalues',
|
||||
'foreign_field' => 'products',
|
||||
'foreign_table_where' => ' AND {#tx_a2gproducts_domain_model_filtervalues}.{#sys_language_uid} IN (###REC_FIELD_sys_language_uid###,-1) ',
|
||||
'maxitems' => 20,
|
||||
'appearance' => [
|
||||
'collapseAll' => 0,
|
||||
'levelLinksPosition' => 'top',
|
||||
'showSynchronizationLink' => 1,
|
||||
'showPossibleLocalizationRecords' => 1,
|
||||
'showAllLocalizationLink' => 1
|
||||
],
|
||||
],
|
||||
],
|
||||
'rel_selectableattribute' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_selectableattribute',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_selectableattribute',
|
||||
'foreign_field' => 'products',
|
||||
'foreign_table_where' => ' AND {#tx_a2gproducts_domain_model_selectableattribute}.{#sys_language_uid} IN (###REC_FIELD_sys_language_uid###,-1) ',
|
||||
'maxitems' => 20,
|
||||
'appearance' => [
|
||||
'collapseAll' => 0,
|
||||
'levelLinksPosition' => 'top',
|
||||
'showSynchronizationLink' => 1,
|
||||
'showPossibleLocalizationRecords' => 1,
|
||||
'showAllLocalizationLink' => 1
|
||||
],
|
||||
],
|
||||
],
|
||||
'rel_ingredients' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_ingredients',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_ingredients',
|
||||
'foreign_table_where' => ' AND {#tx_a2gproducts_domain_model_ingredients}.{#sys_language_uid} IN (###REC_FIELD_sys_language_uid###,-1) AND {#tx_a2gproducts_domain_model_ingredients}.{#pid}=###CURRENT_PID### ',
|
||||
'MM' => 'tx_a2gproducts_products_ingredients_mm',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 20,
|
||||
'multiple' => 1,
|
||||
'fieldControl' => [
|
||||
'editPopup' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'addRecord' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'listModule' => [
|
||||
'disabled' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'rel_productvariants' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_productvariants',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_productvariants',
|
||||
'foreign_table_where' => ' AND tx_a2gproducts_domain_model_productvariants.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1) AND tx_a2gproducts_domain_model_productvariants.pid=###CURRENT_PID### ',
|
||||
'foreign_field' => 'product',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
'foreign_sortby' => 'sorting',
|
||||
'minitems' => 1,
|
||||
'maxitems' => 20,
|
||||
'appearance' => [
|
||||
'collapseAll' => 1,
|
||||
'expandSingle' => 1,
|
||||
],
|
||||
],
|
||||
],
|
||||
'rel_brand' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_brand',
|
||||
'config' => [
|
||||
'type' => 'group',
|
||||
'internal_type' => 'db',
|
||||
'allowed' => 'tx_a2gproducts_domain_model_brands',
|
||||
'maxitems' => 1,
|
||||
'minitems' => 0,
|
||||
'size' => 1,
|
||||
'default' => 0,
|
||||
'suggestOptions' => [
|
||||
'default' => [
|
||||
'additionalSearchFields' => 'title',
|
||||
'addWhere' => 'AND tx_a2gproducts_domain_model_brands.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1) AND tx_a2gproducts_domain_model_brands.pid=###CURRENT_PID###'
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
665
Configuration/TCA/tx_a2gproducts_domain_model_productvariants.php
Executable file
665
Configuration/TCA/tx_a2gproducts_domain_model_productvariants.php
Executable file
@@ -0,0 +1,665 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2gproducts_domain_model_productvariants',
|
||||
'label' => 'title',
|
||||
'label_userFunc' => \A2G\A2gProducts\User\Tca::class . '->productVariantTitle',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'sortby' => 'sorting',
|
||||
'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' => 'nr,title,description',
|
||||
'hideTable' => true,
|
||||
'iconfile' => 'EXT:a2g_products/Resources/Public/Icons/fingerprint-outline-variant.png'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden,product, nr, title, path_segment, description, description_html,'
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:images_tab, tab_icon, image, images,'
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:ingredients_tab, rel_ingredients,'
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:filters_tab, rel_category, rel_filter_values, '
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:selectabel_product_attribute_tab, rel_selectableattribute, '
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:seo_tab, seo_image1x1,seo_image4x3,seo_image16x9,'
|
||||
. '--div--;LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:sizes_tab, rel_sizes,'
|
||||
. '--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' => 'language'
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'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_a2gproducts_domain_model_productvariants',
|
||||
'foreign_table_where' => 'AND {#tx_a2gproducts_domain_model_productvariants}.{#pid}=###CURRENT_PID### AND {#tx_a2gproducts_domain_model_productvariants}.{#sys_language_uid} IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'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
|
||||
]
|
||||
],
|
||||
],
|
||||
'nr' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:product_nr',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim, required',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'path_segment' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:slug',
|
||||
'config' => [
|
||||
'type' => 'slug',
|
||||
'size' => 50,
|
||||
'generatorOptions' => [
|
||||
'fields' => ['title'],
|
||||
'fieldSeparator' => '/',
|
||||
'prefixParentPageSlug' => true,
|
||||
'replacements' => [
|
||||
'/' => '',
|
||||
],
|
||||
],
|
||||
'fallbackCharacter' => '-',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'description_html' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:description_html',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
'enableRichtext' => true,
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'tab_icon' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tab_icon',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'tab_icon',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'image' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:image',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'images' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:images',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'images',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'maxitems' => 10
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'gallery' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:gallery',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'images',
|
||||
[
|
||||
'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' => 'gallery',
|
||||
'tablenames' => 'tx_a2gproducts_domain_model_productvariants',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
'maxitems' => 20
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'seo_image1x1' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:seo_image1x1',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'seo_image1x1',
|
||||
'tablenames' => 'tx_a2gproducts_domain_model_products',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'seo_image4x3' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:seo_image4x3',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'seo_image4x3',
|
||||
'tablenames' => 'tx_a2gproducts_domain_model_products',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'seo_image16x9' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:seo_image16x9',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'overrideChildTca' => [
|
||||
'types' => [
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
title,
|
||||
description,
|
||||
alternative,
|
||||
crop,
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
|
||||
'showitem' => '
|
||||
--palette--;;filePalette
|
||||
'
|
||||
],
|
||||
],
|
||||
],
|
||||
'foreign_match_fields' => [
|
||||
'fieldname' => 'seo_image16x9',
|
||||
'tablenames' => 'tx_a2gproducts_domain_model_products',
|
||||
'table_local' => 'sys_file',
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'rel_category' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_category',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_categories',
|
||||
'foreign_table_where' => ' AND {#tx_a2gproducts_domain_model_categories}.{#sys_language_uid} IN (###REC_FIELD_sys_language_uid###,-1) AND {#tx_a2gproducts_domain_model_categories}.{#pid}=###CURRENT_PID### ',
|
||||
'MM' => 'tx_a2gproducts_productvariants_categories_mm',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
'maxitems' => 20,
|
||||
'multiple' => 1,
|
||||
'fieldControl' => [
|
||||
'editPopup' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'addRecord' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'listModule' => [
|
||||
'disabled' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'rel_filter_values' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_filter_values',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_filtervalues',
|
||||
'foreign_field' => 'productvariants',
|
||||
'foreign_table_where' => ' AND {#tx_a2gproducts_domain_model_filtervalues}.{#sys_language_uid} IN (###REC_FIELD_sys_language_uid###,-1) ',
|
||||
'maxitems' => 20,
|
||||
'appearance' => [
|
||||
'collapseAll' => 0,
|
||||
'levelLinksPosition' => 'top',
|
||||
'showSynchronizationLink' => 1,
|
||||
'showPossibleLocalizationRecords' => 1,
|
||||
'showAllLocalizationLink' => 1
|
||||
],
|
||||
],
|
||||
],
|
||||
'rel_selectableattribute' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_selectableattribute',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_selectableattribute',
|
||||
'foreign_field' => 'productvariants',
|
||||
'foreign_table_where' => ' AND {#tx_a2gproducts_domain_model_selectableattribute}.{#sys_language_uid} IN (###REC_FIELD_sys_language_uid###,-1) ',
|
||||
'maxitems' => 20,
|
||||
'appearance' => [
|
||||
'collapseAll' => 0,
|
||||
'levelLinksPosition' => 'top',
|
||||
'showSynchronizationLink' => 1,
|
||||
'showPossibleLocalizationRecords' => 1,
|
||||
'showAllLocalizationLink' => 1
|
||||
],
|
||||
],
|
||||
],
|
||||
'rel_ingredients' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_ingredients',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_ingredients',
|
||||
'foreign_table_where' => ' AND {#tx_a2gproducts_domain_model_ingredients}.{#sys_language_uid} IN (###REC_FIELD_sys_language_uid###,-1) AND {#tx_a2gproducts_domain_model_ingredients}.{#pid}=###CURRENT_PID### ',
|
||||
'MM' => 'tx_a2gproducts_ingredients_productvariants_mm',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 20,
|
||||
'multiple' => 1,
|
||||
'fieldControl' => [
|
||||
'editPopup' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'addRecord' => [
|
||||
'disabled' => false,
|
||||
],
|
||||
'listModule' => [
|
||||
'disabled' => true,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'product' => [
|
||||
'config' => array(
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_products',
|
||||
),
|
||||
],
|
||||
'rel_sizes' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_sizes',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_productvariantsizes',
|
||||
'foreign_table_where' => ' AND tx_a2gproducts_domain_model_productvariantsizes.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1) AND tx_a2gproducts_domain_model_productvariantsizes.pid=###CURRENT_PID### ',
|
||||
'foreign_field' => 'productvariant',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
'foreign_sortby' => 'sorting',
|
||||
'minitems' => 0,
|
||||
'maxitems' => 30,
|
||||
'appearance' => [
|
||||
'collapseAll' => 1,
|
||||
'expandSingle' => 1,
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
158
Configuration/TCA/tx_a2gproducts_domain_model_productvariantsizes.php
Executable file
158
Configuration/TCA/tx_a2gproducts_domain_model_productvariantsizes.php
Executable file
@@ -0,0 +1,158 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2gproducts_domain_model_productvariantsizes',
|
||||
'label' => 'title',
|
||||
// 'label_userFunc' => \A2G\A2gProducts\User\Tca::class . '->productVariantTitle',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'sortby' => 'sorting',
|
||||
'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' => 'nr,title,description',
|
||||
'hideTable' => true,
|
||||
'iconfile' => 'EXT:a2g_products/Resources/Public/Icons/fingerprint-outline-variant.png'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, nr, title, path_segment, description,'
|
||||
. '--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' => 'language'
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'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_a2gproducts_domain_model_productvariantsizes',
|
||||
'foreign_table_where' => 'AND {#tx_a2gproducts_domain_model_productvariantsizes}.{#pid}=###CURRENT_PID### AND {#tx_a2gproducts_domain_model_productvariantsizes}.{#sys_language_uid} IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'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
|
||||
]
|
||||
],
|
||||
],
|
||||
'nr' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:product_nr',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim, required',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'path_segment' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:slug',
|
||||
'config' => [
|
||||
'type' => 'slug',
|
||||
'size' => 50,
|
||||
'generatorOptions' => [
|
||||
'fields' => ['title'],
|
||||
'fieldSeparator' => '/',
|
||||
'prefixParentPageSlug' => true,
|
||||
'replacements' => [
|
||||
'/' => '',
|
||||
],
|
||||
],
|
||||
'fallbackCharacter' => '-',
|
||||
'default' => ''
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:description',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
'default' => ''
|
||||
]
|
||||
],
|
||||
'productvariant' => [
|
||||
'config' => array(
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_productvariants',
|
||||
),
|
||||
],
|
||||
],
|
||||
];
|
116
Configuration/TCA/tx_a2gproducts_domain_model_selectableattribute.php
Executable file
116
Configuration/TCA/tx_a2gproducts_domain_model_selectableattribute.php
Executable file
@@ -0,0 +1,116 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2gproducts_domain_model_selectableattribute',
|
||||
'label' => 'title',
|
||||
'label_userFunc' => 'A2G\\A2gProducts\\User\\FilterValuesMatcher->title',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'type' => 'rel_filter_option',
|
||||
'versioningWS' => true,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'hideTable' => true,
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden'
|
||||
],
|
||||
'searchFields' => '',
|
||||
'iconfile' => 'EXT:a2g_products/Resources/Public/Icons/tag.png'
|
||||
],
|
||||
'types' => [
|
||||
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title,rel_filter_option, rel_filters'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'language'
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'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_a2gproducts_domain_model_selectableattribute',
|
||||
'foreign_table_where' => 'AND {#tx_a2gproducts_domain_model_selectableattribute}.{#pid}=###CURRENT_PID### AND {#tx_a2gproducts_domain_model_selectableattribute}.{#sys_language_uid} IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'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
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:title',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim'
|
||||
]
|
||||
],
|
||||
'rel_filter_option' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_filter_option',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_filteroptions',
|
||||
'foreign_table_where' => 'AND tx_a2gproducts_domain_model_filteroptions.filters = ###REC_FIELD_rel_filters### AND tx_a2gproducts_domain_model_filteroptions.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1)',
|
||||
'default' => 0,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
'displayCond' => 'USER:A2G\\A2gProducts\\User\\FilterValuesMatcher->showOptionsSelect',
|
||||
],
|
||||
'rel_filters' => [
|
||||
'exclude' => true,
|
||||
'onChange' => 'reload',
|
||||
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:rel_filters',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'tx_a2gproducts_domain_model_filters',
|
||||
'foreign_table_where' => 'AND tx_a2gproducts_domain_model_filters.filter_type = 3 AND tx_a2gproducts_domain_model_filters.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1)',
|
||||
'default' => 0,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
],
|
||||
'products' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
'productvariants' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
4
Configuration/TsConfig/Page/All.tsconfig
Executable file
4
Configuration/TsConfig/Page/All.tsconfig
Executable file
@@ -0,0 +1,4 @@
|
||||
##################
|
||||
#### TsConfig ####
|
||||
##################
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_products/Configuration/TsConfig/Page/Wizards.tsconfig">
|
46
Configuration/TsConfig/Page/Wizards.tsconfig
Executable file
46
Configuration/TsConfig/Page/Wizards.tsconfig
Executable file
@@ -0,0 +1,46 @@
|
||||
################################
|
||||
#### CONTENT ELEMENT WIZARD ####
|
||||
################################
|
||||
mod.wizards.newContentElement.wizardItems.a2gProducts {
|
||||
after = common, menu, special, forms, plugins
|
||||
header = LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:wizard.group.products
|
||||
elements {
|
||||
a2gproductslist {
|
||||
iconIdentifier = a2g_products-plugin-a2gproductslist
|
||||
title = LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2g_products_a2gproductslist.name
|
||||
description = LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2g_products_a2gproductslist.description
|
||||
tt_content_defValues {
|
||||
CType = list
|
||||
list_type = a2gproducts_a2gproductslist
|
||||
}
|
||||
}
|
||||
a2gproductsdetail {
|
||||
iconIdentifier = a2g_products-plugin-a2gproductsdetail
|
||||
title = LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2g_products_a2gproductsdetail.name
|
||||
description = LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2g_products_a2gproductsdetail.description
|
||||
tt_content_defValues {
|
||||
CType = list
|
||||
list_type = a2gproducts_a2gproductsdetail
|
||||
}
|
||||
}
|
||||
ingredientslist {
|
||||
iconIdentifier = a2g_products-plugin-ingredientslist
|
||||
title = LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2g_products_ingredientslist.name
|
||||
description = LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2g_products_ingredientslist.description
|
||||
tt_content_defValues {
|
||||
CType = list
|
||||
list_type = a2gproducts_ingredientslist
|
||||
}
|
||||
}
|
||||
ingredientsdetail {
|
||||
iconIdentifier = a2g_products-plugin-ingredientsdetail
|
||||
title = LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2g_products_ingredientsdetail.name
|
||||
description = LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:tx_a2g_products_ingredientsdetail.description
|
||||
tt_content_defValues {
|
||||
CType = list
|
||||
list_type = a2gproducts_ingredientsdetail
|
||||
}
|
||||
}
|
||||
}
|
||||
show = *
|
||||
}
|
14
Configuration/TypoScript/Base/constants.typoscript
Executable file
14
Configuration/TypoScript/Base/constants.typoscript
Executable file
@@ -0,0 +1,14 @@
|
||||
plugin.tx_a2gproducts_a2gproducts {
|
||||
view {
|
||||
# cat=altogether products/file; type=string; label=Path to template root (FE)
|
||||
templateRootPath = EXT:a2g_products/Resources/Private/Templates/
|
||||
# cat=altogether products/file; type=string; label=Path to template partials (FE)
|
||||
partialRootPath = EXT:a2g_products/Resources/Private/Partials/
|
||||
# cat=altogether products/file; type=string; label=Path to template layouts (FE)
|
||||
layoutRootPath = EXT:a2g_products/Resources/Private/Layouts/
|
||||
}
|
||||
persistence {
|
||||
# cat=altogether products//a; type=string; label=Default storage PID
|
||||
storagePid =
|
||||
}
|
||||
}
|
115
Configuration/TypoScript/Base/setup.typoscript
Executable file
115
Configuration/TypoScript/Base/setup.typoscript
Executable file
@@ -0,0 +1,115 @@
|
||||
plugin.tx_a2gproducts_a2gproductslist {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:a2g_products/Resources/Private/Templates/
|
||||
templateRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.templateRootPath}
|
||||
partialRootPaths.0 = EXT:a2g_products/Resources/Private/Partials/
|
||||
partialRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.partialRootPath}
|
||||
layoutRootPaths.0 = EXT:a2g_products/Resources/Private/Layouts/
|
||||
layoutRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.layoutRootPath}
|
||||
}
|
||||
persistence {
|
||||
storagePid = {$plugin.tx_a2gproducts_a2gproductslist.persistence.storagePid}
|
||||
#recursive = 1
|
||||
}
|
||||
}
|
||||
plugin.tx_a2gproducts_a2gproductsdetail {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:a2g_products/Resources/Private/Templates/
|
||||
templateRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.templateRootPath}
|
||||
partialRootPaths.0 = EXT:a2g_products/Resources/Private/Partials/
|
||||
partialRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.partialRootPath}
|
||||
layoutRootPaths.0 = EXT:a2g_products/Resources/Private/Layouts/
|
||||
layoutRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.layoutRootPath}
|
||||
}
|
||||
persistence {
|
||||
storagePid = {$plugin.tx_a2gproducts_a2gproductsdetail.persistence.storagePid}
|
||||
#recursive = 1
|
||||
}
|
||||
}
|
||||
plugin.tx_a2gproducts_ingredientslist {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:a2g_products/Resources/Private/Templates/
|
||||
templateRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.templateRootPath}
|
||||
partialRootPaths.0 = EXT:a2g_products/Resources/Private/Partials/
|
||||
partialRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.partialRootPath}
|
||||
layoutRootPaths.0 = EXT:a2g_products/Resources/Private/Layouts/
|
||||
layoutRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.layoutRootPath}
|
||||
}
|
||||
persistence {
|
||||
storagePid = {$plugin.tx_a2gproducts_a2gproducts.persistence.storagePid}
|
||||
#recursive = 1
|
||||
}
|
||||
}
|
||||
plugin.tx_a2gproducts_ingredientsdetail {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:a2g_products/Resources/Private/Templates/
|
||||
templateRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.templateRootPath}
|
||||
partialRootPaths.0 = EXT:a2g_products/Resources/Private/Partials/
|
||||
partialRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.partialRootPath}
|
||||
layoutRootPaths.0 = EXT:a2g_products/Resources/Private/Layouts/
|
||||
layoutRootPaths.1 = {$plugin.tx_a2gproducts_a2gproducts.view.layoutRootPath}
|
||||
}
|
||||
persistence {
|
||||
storagePid = {$plugin.tx_a2gproducts_a2gproducts.persistence.storagePid}
|
||||
#recursive = 1
|
||||
}
|
||||
}
|
||||
|
||||
page.includeJSFooter.rslider = EXT:a2g_products/Resources/Public/JavaScript/rSlider.min.js
|
||||
page.includeJSFooter.rslider {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
page.includeJSFooter.a2gProductsList = EXT:a2g_products/Resources/Public/JavaScript/a2gProductsList.js
|
||||
page.includeJSFooter.a2gProductsList {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
page.includeJSFooter.a2gProductsSwiperInit = EXT:a2g_products/Resources/Public/JavaScript/a2gProductsSwiper.init.js
|
||||
page.includeJSFooter.a2gProductsSwiperInit {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
|
||||
page.includeCSS {
|
||||
rslider = EXT:a2g_products/Resources/Public/Scss/rSlider.min.scss
|
||||
a2gProductsList = EXT:a2g_products/Resources/Public/Scss/a2gProductsList.scss
|
||||
}
|
||||
|
||||
a2gProductList = PAGE
|
||||
a2gProductList {
|
||||
typeNum = 1629140329
|
||||
config {
|
||||
disableAllHeaderCode = 1
|
||||
admPanel = 0
|
||||
additionalHeaders.10.header = Content-type:text/html
|
||||
xhtml_cleaning = 0
|
||||
debug = 0
|
||||
no_cache = 1
|
||||
}
|
||||
10 = USER
|
||||
10 {
|
||||
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
|
||||
extensionName = A2gProducts
|
||||
pluginName = A2gproductslist
|
||||
vendorName = Altogether
|
||||
controller = Products
|
||||
settings < plugin.tx_a2gproducts_a2gproductslist.settings
|
||||
persistence < plugin.tx_a2gproducts_a2gproductslist.persistence
|
||||
view < plugin.tx_a2gproducts_a2gproductslist.view
|
||||
}
|
||||
}
|
||||
|
||||
config.pageTitleProviders {
|
||||
product {
|
||||
provider = A2G\A2gProducts\PageTitle\A2gPageTitleProvider
|
||||
before = seo
|
||||
}
|
||||
seo {
|
||||
provider = TYPO3\CMS\Seo\PageTitle\SeoTitlePageTitleProvider
|
||||
before = record
|
||||
}
|
||||
}
|
||||
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_products/Configuration/TypoScript/Canonical/setup.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_products/Configuration/TypoScript/Breadcrumb/setup.typoscript">
|
41
Configuration/TypoScript/Breadcrumb/setup.typoscript
Executable file
41
Configuration/TypoScript/Breadcrumb/setup.typoscript
Executable file
@@ -0,0 +1,41 @@
|
||||
[traverse(request.getQueryParams(), 'tx_a2gproducts_a2gproductsdetail/product') > 0]
|
||||
page {
|
||||
10 {
|
||||
variables {
|
||||
breadcrumbExtendedValue = COA
|
||||
breadcrumbExtendedValue {
|
||||
10 = USER
|
||||
10 {
|
||||
userFunc = A2G\A2gProducts\User\TypoScript->productBreadrumb
|
||||
}
|
||||
}
|
||||
}
|
||||
dataProcessing {
|
||||
30 {
|
||||
special.range = 0|-2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
[end]
|
||||
|
||||
[traverse(request.getQueryParams(), 'tx_a2gproducts_ingredientsdetail/ingredient') > 0]
|
||||
page {
|
||||
10 {
|
||||
variables {
|
||||
breadcrumbExtendedValue = COA
|
||||
breadcrumbExtendedValue {
|
||||
10 = USER
|
||||
10 {
|
||||
userFunc = A2G\A2gProducts\User\TypoScript->ingredientBreadrumb
|
||||
}
|
||||
}
|
||||
}
|
||||
dataProcessing {
|
||||
30 {
|
||||
special.range = 0|-2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
[end]
|
48
Configuration/TypoScript/Canonical/setup.typoscript
Executable file
48
Configuration/TypoScript/Canonical/setup.typoscript
Executable file
@@ -0,0 +1,48 @@
|
||||
[traverse(request.getQueryParams(), 'tx_a2gproducts_a2gproductsdetail/product') > 0]
|
||||
page.headerData.20 = TEXT
|
||||
page.headerData.20 {
|
||||
typolink {
|
||||
# hol die aktuelle Page Id
|
||||
parameter.data = page:uid
|
||||
# prüfe ob die Id wirklich eine Zahl ist
|
||||
parameter.intval = 1
|
||||
useCacheHash = 1
|
||||
# füge zur URL alle Parameter hinzu
|
||||
additionalParams.cObject = COA
|
||||
additionalParams.cObject {
|
||||
10 = TEXT
|
||||
10.dataWrap = &tx_a2gproducts_a2gproductsdetail[product]={GP:tx_a2gproducts_a2gproductsdetail|product}
|
||||
10.if.isTrue.data = GP:tx_a2gproducts_a2gproductsdetail|product
|
||||
}
|
||||
forceAbsoluteUrl = 1
|
||||
returnLast = url
|
||||
}
|
||||
# bau mir den Meta-Tag zusammen
|
||||
wrap = <link rel="canonical" href="|">
|
||||
}
|
||||
[global]
|
||||
|
||||
|
||||
[traverse(request.getQueryParams(), 'tx_a2gproducts_ingredientsdetail/ingredient') > 0]
|
||||
page.headerData.20 = TEXT
|
||||
page.headerData.20 {
|
||||
typolink {
|
||||
# hol die aktuelle Page Id
|
||||
parameter.data = page:uid
|
||||
# prüfe ob die Id wirklich eine Zahl ist
|
||||
parameter.intval = 1
|
||||
useCacheHash = 1
|
||||
# füge zur URL alle Parameter hinzu
|
||||
additionalParams.cObject = COA
|
||||
additionalParams.cObject {
|
||||
10 = TEXT
|
||||
10.dataWrap = &tx_a2gproducts_ingredientsdetail[ingredient]={GP:tx_a2gproducts_ingredientsdetail|ingredient}
|
||||
10.if.isTrue.data = GP:tx_a2gproducts_ingredientsdetail|ingredient
|
||||
}
|
||||
forceAbsoluteUrl = 1
|
||||
returnLast = url
|
||||
}
|
||||
# bau mir den Meta-Tag zusammen
|
||||
wrap = <link rel="canonical" href="|">
|
||||
}
|
||||
[global]
|
0
Configuration/TypoScript/GoogleAnalytics/constants.typoscript
Executable file
0
Configuration/TypoScript/GoogleAnalytics/constants.typoscript
Executable file
46
Configuration/TypoScript/GoogleAnalytics/setup.typoscript
Executable file
46
Configuration/TypoScript/GoogleAnalytics/setup.typoscript
Executable file
@@ -0,0 +1,46 @@
|
||||
page.includeJSFooter.gaCheckout = EXT:a2g_products/Resources/Public/JavaScript/GoogleAnalytics/google-analytics/GaCheckout.js
|
||||
page.includeJSFooter.gaCheckout {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
page.includeJSFooter.gaProduct = EXT:a2g_products/Resources/Public/JavaScript/GoogleAnalytics/google-analytics/GaProduct.js
|
||||
page.includeJSFooter.gaProduct {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
page.includeJSFooter.gaProducts = EXT:a2g_products/Resources/Public/JavaScript/GoogleAnalytics/google-analytics/GaProducts.js
|
||||
page.includeJSFooter.gaProducts {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
page.includeJSFooter.gaPromotion = EXT:a2g_products/Resources/Public/JavaScript/GoogleAnalytics/google-analytics/GaPromotion.js
|
||||
page.includeJSFooter.gaPromotion {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
page.includeJSFooter.gaPromotions = EXT:a2g_products/Resources/Public/JavaScript/GoogleAnalytics/google-analytics/GaPromotions.js
|
||||
page.includeJSFooter.gaPromotions {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
page.includeJSFooter.gaPurchase = EXT:a2g_products/Resources/Public/JavaScript/GoogleAnalytics/google-analytics/GaPurchase.js
|
||||
page.includeJSFooter.gaPurchase {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
page.includeJSFooter.gaRefund = EXT:a2g_products/Resources/Public/JavaScript/GoogleAnalytics/google-analytics/GaRefund.js
|
||||
page.includeJSFooter.gaRefund {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
page.includeJSFooter.gaRefunds = EXT:a2g_products/Resources/Public/JavaScript/GoogleAnalytics/google-analytics/GaRefunds.js
|
||||
page.includeJSFooter.gaRefunds {
|
||||
disableCompression = 0
|
||||
excludeFromConcatenation = 0
|
||||
}
|
||||
|
||||
page.includeJSFooter.gaEcommerce = EXT:a2g_products/Resources/Public/JavaScript/GoogleAnalytics/A2gGaEcommerce.js
|
||||
page.includeJSFooter.gaEcommerce {
|
||||
disableCompression = 1
|
||||
excludeFromConcatenation = 1
|
||||
}
|
2
Configuration/TypoScript/constants.typoscript
Executable file
2
Configuration/TypoScript/constants.typoscript
Executable file
@@ -0,0 +1,2 @@
|
||||
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_products/Configuration/TypoScript/Base/constants.typoscript">
|
3
Configuration/TypoScript/setup.typoscript
Executable file
3
Configuration/TypoScript/setup.typoscript
Executable file
@@ -0,0 +1,3 @@
|
||||
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_products/Configuration/TypoScript/Base/setup.typoscript">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_products/Configuration/TypoScript/GoogleAnalytics/setup.typoscript">
|
Reference in New Issue
Block a user