initial commit
This commit is contained in:
2
Configuration/.htaccess
Normal file
2
Configuration/.htaccess
Normal file
@ -0,0 +1,2 @@
|
||||
Order deny,allow
|
||||
Deny from all
|
22
Configuration/Extbase/Persistence/Classes.php
Normal file
22
Configuration/Extbase/Persistence/Classes.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
A2G\A2gTravelBlog\Domain\Model\TravelPost::class => [
|
||||
'tableName' => 'pages',
|
||||
],
|
||||
A2G\A2gTravelBlog\Domain\Model\TravelAuthor::class => [
|
||||
'tableName' => 'tx_blog_domain_model_author',
|
||||
],
|
||||
A2G\A2gTravelBlog\Domain\Model\MapEntry::class => [
|
||||
'tableName' => 'tx_a2gmaps_domain_model_mapentry',
|
||||
],
|
||||
A2G\A2gTravelBlog\Domain\Model\TravelMarker::class => [
|
||||
'tableName' => 'tx_a2gmaps_domain_model_marker',
|
||||
],
|
||||
A2G\A2gTravelBlog\Domain\Model\TravelCategory::class => [
|
||||
'tableName' => 'sys_category',
|
||||
]
|
||||
|
||||
];
|
338
Configuration/FlexForms/flexform_map.xml
Normal file
338
Configuration/FlexForms/flexform_map.xml
Normal file
@ -0,0 +1,338 @@
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Function</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.mapType>
|
||||
<label>mapType</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">travel map overview</numIndex>
|
||||
<numIndex index="1">0</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">travel post detail map</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
|
||||
<numIndex index="2" type="array">
|
||||
<numIndex index="0">travel post categorie map</numIndex>
|
||||
<numIndex index="1">2</numIndex>
|
||||
</numIndex>
|
||||
|
||||
<numIndex index="3" type="array">
|
||||
<numIndex index="0">travel post author map</numIndex>
|
||||
<numIndex index="1">3</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
<onChange>reload</onChange>
|
||||
</settings.mapType>
|
||||
<settings.showAuthors>
|
||||
<label>show authors</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<allowed>tx_blog_domain_model_author</allowed>
|
||||
<fieldControl>
|
||||
<editPopup>
|
||||
<disabled>false</disabled>
|
||||
</editPopup>
|
||||
<addRecord>
|
||||
<disabled>false</disabled>
|
||||
</addRecord>
|
||||
<listModule>
|
||||
<disabled>false</disabled>
|
||||
</listModule>
|
||||
</fieldControl>
|
||||
</config>
|
||||
<displayCond>FIELD:settings.mapType:=:3</displayCond>
|
||||
</settings.showAuthors>
|
||||
<settings.showCategories>
|
||||
<label>show categories</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<allowed>sys_category</allowed>
|
||||
<fieldControl>
|
||||
<editPopup>
|
||||
<disabled>false</disabled>
|
||||
</editPopup>
|
||||
<addRecord>
|
||||
<disabled>false</disabled>
|
||||
</addRecord>
|
||||
<listModule>
|
||||
<disabled>false</disabled>
|
||||
</listModule>
|
||||
</fieldControl>
|
||||
</config>
|
||||
<displayCond>FIELD:settings.mapType:=:2</displayCond>
|
||||
</settings.showCategories>
|
||||
<settings.controllsPositions>
|
||||
<label>position from map controll stuff</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">hide</numIndex>
|
||||
<numIndex index="1">0</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">top</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="2" type="array">
|
||||
<numIndex index="0">bottom</numIndex>
|
||||
<numIndex index="1">2</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="3" type="array">
|
||||
<numIndex index="0">both</numIndex>
|
||||
<numIndex index="1">3</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.controllsPositions>
|
||||
<settings.useLayerSwitcher>
|
||||
<label>use layer switcher ( slider )</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">yes</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
<onChange>reload</onChange>
|
||||
</settings.useLayerSwitcher>
|
||||
<settings.layerSwitcherValue>
|
||||
<label>layer switcher init value ( slider )</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>trim,int</eval>
|
||||
<size>3</size> </config>
|
||||
<displayCond>FIELD:settings.useLayerSwitcher:=:1</displayCond>
|
||||
</settings.layerSwitcherValue>
|
||||
<settings.zoom>
|
||||
<label>map zoom ( 0 = auto zoom )</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>trim,int</eval>
|
||||
<size>2</size>
|
||||
<range type="array">
|
||||
<lower>0</lower>
|
||||
<upper>18</upper>
|
||||
</range>
|
||||
<default>2</default>
|
||||
<slider>
|
||||
<step>1</step>
|
||||
<width>200</width>
|
||||
</slider>
|
||||
</config>
|
||||
</settings.zoom>
|
||||
<settings.maxZoom>
|
||||
<label>map max zoom</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>trim,int</eval>
|
||||
<size>2</size>
|
||||
<range type="array">
|
||||
<lower>1</lower>
|
||||
<upper>18</upper>
|
||||
</range>
|
||||
<default>18</default>
|
||||
<slider>
|
||||
<step>1</step>
|
||||
<width>200</width>
|
||||
</slider>
|
||||
</config>
|
||||
</settings.maxZoom>
|
||||
<settings.showLayerSelect>
|
||||
<label>show layer select</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">yes</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.showLayerSelect>
|
||||
<settings.showMyPositionButton>
|
||||
<label>show my position button ( checkbox )</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">yes</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.showMyPositionButton>
|
||||
<settings.showRemoveMarkerButton>
|
||||
<label>show remove marker button</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">yes</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.showRemoveMarkerButton>
|
||||
<settings.useFullscreenButton>
|
||||
<label>show fullscreen button</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">yes</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.useFullscreenButton>
|
||||
<settings.useZoomSlider>
|
||||
<label>show zoom slider</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">yes</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.useZoomSlider>
|
||||
<settings.layers>
|
||||
<label>Selectable Layers</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectMultipleSideBySide</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">osm</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">stamen terrain</numIndex>
|
||||
<numIndex index="1">10</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="2" type="array">
|
||||
<numIndex index="0">stamen watercolor</numIndex>
|
||||
<numIndex index="1">11</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="3" type="array">
|
||||
<numIndex index="0">stamen toner</numIndex>
|
||||
<numIndex index="1">12</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="4" type="array">
|
||||
<numIndex index="0">thunderfores openCycleMap</numIndex>
|
||||
<numIndex index="1">100</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="5" type="array">
|
||||
<numIndex index="0">thunderfores transport</numIndex>
|
||||
<numIndex index="1">101</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="6" type="array">
|
||||
<numIndex index="0">thunderfores landscape</numIndex>
|
||||
<numIndex index="1">102</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="7" type="array">
|
||||
<numIndex index="0">thunderfores outdoors</numIndex>
|
||||
<numIndex index="1">103</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="8" type="array">
|
||||
<numIndex index="0">thunderfores atlas</numIndex>
|
||||
<numIndex index="1">104</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="9" type="array">
|
||||
<numIndex index="0">thunderfores transport-dark</numIndex>
|
||||
<numIndex index="1">105</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="10" type="array">
|
||||
<numIndex index="0">thunderfores spinal-map</numIndex>
|
||||
<numIndex index="1">106</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="11" type="array">
|
||||
<numIndex index="0">thunderfores pioneer</numIndex>
|
||||
<numIndex index="1">107</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="12" type="array">
|
||||
<numIndex index="0">thunderfores neighbourhout</numIndex>
|
||||
<numIndex index="1">108</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="13" type="array">
|
||||
<numIndex index="0">thunderfores mobile-atlas</numIndex>
|
||||
<numIndex index="1">109</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="14" type="array">
|
||||
<numIndex index="0">maptiler basic</numIndex>
|
||||
<numIndex index="1">200</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="15" type="array">
|
||||
<numIndex index="0">maptiler basic (EPSG:4326)</numIndex>
|
||||
<numIndex index="1">201</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="16" type="array">
|
||||
<numIndex index="0">maptiler bright</numIndex>
|
||||
<numIndex index="1">202</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="17" type="array">
|
||||
<numIndex index="0">maptiler openstreetmap</numIndex>
|
||||
<numIndex index="1">203</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="18" type="array">
|
||||
<numIndex index="0">maptiler outdoor</numIndex>
|
||||
<numIndex index="1">204</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="19" type="array">
|
||||
<numIndex index="0">maptiler pastel</numIndex>
|
||||
<numIndex index="1">205</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="20" type="array">
|
||||
<numIndex index="0">maptiler satelit hybrid</numIndex>
|
||||
<numIndex index="1">206</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="21" type="array">
|
||||
<numIndex index="0">maptiler streets</numIndex>
|
||||
<numIndex index="1">207</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="22" type="array">
|
||||
<numIndex index="0">maptiler toner</numIndex>
|
||||
<numIndex index="1">208</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="23" type="array">
|
||||
<numIndex index="0">maptiler topo</numIndex>
|
||||
<numIndex index="1">209</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="24" type="array">
|
||||
<numIndex index="0">maptiler topographique</numIndex>
|
||||
<numIndex index="1">210</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="25" type="array">
|
||||
<numIndex index="0">maptiler voyager</numIndex>
|
||||
<numIndex index="1">211</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="26" type="array">
|
||||
<numIndex index="0">maptiler winter</numIndex>
|
||||
<numIndex index="1">212</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
<minitems>1</minitems>
|
||||
</config>
|
||||
</settings.layers>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
76
Configuration/FlexForms/flexform_timeline.xml
Normal file
76
Configuration/FlexForms/flexform_timeline.xml
Normal file
@ -0,0 +1,76 @@
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Function</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.timelineType>
|
||||
<label>timeline type</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">all posts in timeline</numIndex>
|
||||
<numIndex index="1">0</numIndex>
|
||||
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">travel post categorie timeline</numIndex>
|
||||
<numIndex index="1">2</numIndex>
|
||||
</numIndex>
|
||||
|
||||
<numIndex index="2" type="array">
|
||||
<numIndex index="0">travel post author timeline</numIndex>
|
||||
<numIndex index="1">3</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
<onChange>reload</onChange>
|
||||
</settings.timelineType>
|
||||
<settings.showAuthors>
|
||||
<label>show authors</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<allowed>tx_blog_domain_model_author</allowed>
|
||||
<fieldControl>
|
||||
<editPopup>
|
||||
<disabled>false</disabled>
|
||||
</editPopup>
|
||||
<addRecord>
|
||||
<disabled>false</disabled>
|
||||
</addRecord>
|
||||
<listModule>
|
||||
<disabled>false</disabled>
|
||||
</listModule>
|
||||
</fieldControl>
|
||||
</config>
|
||||
<displayCond>FIELD:settings.timelineType:=:3</displayCond>
|
||||
</settings.showAuthors>
|
||||
<settings.showCategories>
|
||||
<label>show categories</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<allowed>sys_category</allowed>
|
||||
<fieldControl>
|
||||
<editPopup>
|
||||
<disabled>false</disabled>
|
||||
</editPopup>
|
||||
<addRecord>
|
||||
<disabled>false</disabled>
|
||||
</addRecord>
|
||||
<listModule>
|
||||
<disabled>false</disabled>
|
||||
</listModule>
|
||||
</fieldControl>
|
||||
</config>
|
||||
<displayCond>FIELD:settings.timelineType:=:2</displayCond>
|
||||
</settings.showCategories>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
5
Configuration/Services.yml
Normal file
5
Configuration/Services.yml
Normal file
@ -0,0 +1,5 @@
|
||||
services:
|
||||
_defaults:
|
||||
autowire: true
|
||||
autoconfigure: true
|
||||
public: false
|
155
Configuration/TCA/Overrides/100_pages.php
Normal file
155
Configuration/TCA/Overrides/100_pages.php
Normal file
@ -0,0 +1,155 @@
|
||||
<?php //
|
||||
|
||||
/*
|
||||
* This file is part of the package t3g/blog.
|
||||
*
|
||||
* For the full copyright and license information, please read the
|
||||
* LICENSE file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
if (!defined('TYPO3')) {
|
||||
die('Access denied.');
|
||||
}
|
||||
|
||||
$ll = 'LLL:EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf:';
|
||||
//
|
||||
//// Add folder configuration
|
||||
//$GLOBALS['TCA']['pages']['columns']['module']['config']['items'][] = [
|
||||
// 0 => $ll . 'blog-folder',
|
||||
// 1 => 'blog',
|
||||
// 2 => 'record-folder-contains-blog',
|
||||
//];
|
||||
//$GLOBALS['TCA']['pages']['ctrl']['typeicon_classes']['contains-blog'] = 'record-folder-contains-blog';
|
||||
//
|
||||
//// Add new page types as possible select item:
|
||||
//\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
// 'pages',
|
||||
// 'doktype',
|
||||
// [
|
||||
// 'LLL:EXT:blog/Resources/Private/Language/locallang_tca.xlf:pages.doktype.blog-post',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST,
|
||||
// 'record-blog-post',
|
||||
// ],
|
||||
// '1',
|
||||
// 'after'
|
||||
//);
|
||||
//\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
// 'pages',
|
||||
// 'doktype',
|
||||
// [
|
||||
// 'LLL:EXT:blog/Resources/Private/Language/locallang_tca.xlf:pages.doktype.blog-page',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE,
|
||||
// 'record-blog-page',
|
||||
// ],
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST,
|
||||
// 'after'
|
||||
//);
|
||||
//
|
||||
//// Add icon for new page types:
|
||||
//\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
|
||||
// $GLOBALS['TCA']['pages'],
|
||||
// [
|
||||
// 'ctrl' => [
|
||||
// 'typeicon_classes' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE => 'record-blog-page',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE . '-root' => 'record-blog-page-root',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST => 'record-blog-post',
|
||||
// ],
|
||||
// ],
|
||||
// 'types' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT],
|
||||
// ],
|
||||
// ]
|
||||
//);
|
||||
//\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
|
||||
// $GLOBALS['TCA']['pages'],
|
||||
// [
|
||||
// 'ctrl' => [
|
||||
// 'typeicon_classes' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE => 'record-blog-page',
|
||||
// ],
|
||||
// ],
|
||||
// 'types' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT],
|
||||
// ],
|
||||
// ]
|
||||
//);
|
||||
//
|
||||
// Register fields
|
||||
$GLOBALS['TCA']['pages']['columns'] = array_replace_recursive(
|
||||
$GLOBALS['TCA']['pages']['columns'],
|
||||
[
|
||||
'rel_map_entries' => [
|
||||
'exclude' => true,
|
||||
'label' => '' . $ll . 'pages.rel_coordinate',
|
||||
'config' => [
|
||||
'type' => 'inline',
|
||||
'foreign_table' => 'tx_a2gmaps_domain_model_mapentry',
|
||||
'foreign_table_where' => ' AND tx_a2gmaps_domain_model_mapentry.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1) ',
|
||||
'foreign_field' => 'rel_travel_post',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
// 'foreign_sortby' => 'sorting',
|
||||
'minitems' => 0,
|
||||
'maxitems' => 10,
|
||||
'appearance' => [
|
||||
'collapseAll' => 1,
|
||||
'expandSingle' => 1,
|
||||
],
|
||||
],
|
||||
],
|
||||
'authors' => [
|
||||
'label' => $ll . 'pages.authors',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'multiple' => 0,
|
||||
'foreign_table' => 'tx_blog_domain_model_author',
|
||||
'foreign_table_where' => 'AND tx_blog_domain_model_author.sys_language_uid IN (0,-1) ORDER BY tx_blog_domain_model_author.name ASC',
|
||||
'MM' => 'tx_blog_post_author_mm',
|
||||
'minitems' => 0,
|
||||
'maxitems' => 99999,
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true
|
||||
]
|
||||
],
|
||||
],
|
||||
|
||||
'tags' => [
|
||||
'label' => $ll . 'pages.tags',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'size' => 10,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 9999,
|
||||
'autoSizeMax' => 10,
|
||||
'multiple' => 0,
|
||||
'foreign_table' => 'tx_blog_domain_model_tag',
|
||||
'foreign_table_where' => 'AND tx_blog_domain_model_tag.sys_language_uid IN (0,-1) ORDER BY tx_blog_domain_model_tag.title ASC',
|
||||
'MM' => 'tx_blog_tag_pages_mm',
|
||||
'behaviour' => [
|
||||
'allowLanguageSynchronization' => true
|
||||
]
|
||||
],
|
||||
]
|
||||
]
|
||||
);
|
||||
//
|
||||
///** @noinspection UnsupportedStringOffsetOperationsInspection */
|
||||
//$GLOBALS['TCA']['pages']['types'][\T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST]['columnsOverrides'] = [
|
||||
// 'categories' => [
|
||||
// 'config' => [
|
||||
// 'foreign_table_where' => 'AND sys_category.sys_language_uid IN (0,-1) AND sys_category.pid = ###PAGE_TSCONFIG_ID###',
|
||||
// ]
|
||||
// ]
|
||||
//];
|
||||
//
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette('pages', 'rel_coordinate', 'rel_map_entries');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'pages',
|
||||
'--div--;' . $ll . 'pages.tabs.travel_blog,
|
||||
--palette--;' . $ll . 'pages.palettes.travel_blog; rel_coordinate'
|
||||
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST
|
||||
);
|
21
Configuration/TCA/Overrides/101_sys_template.php
Normal file
21
Configuration/TCA/Overrides/101_sys_template.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
defined('TYPO3_MODE') || die();
|
||||
|
||||
/***************
|
||||
* TypoScript: Full Package
|
||||
* This includes the full setup including all configurations
|
||||
*/
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
|
||||
'a2g_travel_blog',
|
||||
'Configuration/TypoScript',
|
||||
'Altogether Travel Blog: Full Package'
|
||||
);
|
||||
|
||||
/***************
|
||||
* TypoScript: Base Package
|
||||
*/
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
|
||||
'a2g_travel_blog',
|
||||
'Configuration/TypoScript/Base',
|
||||
'Altogether Travel Blog: Base Package'
|
||||
);
|
41
Configuration/TCA/Overrides/102_tt_content.php
Normal file
41
Configuration/TCA/Overrides/102_tt_content.php
Normal file
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
defined('TYPO3_MODE') || die();
|
||||
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'A2gTravelBlog',
|
||||
'timeline',
|
||||
'Travel Blog Timeline'
|
||||
);
|
||||
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'A2gTravelBlog',
|
||||
'map',
|
||||
'Travel Blog Map'
|
||||
);
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'A2gTravelBlog',
|
||||
'mapConfig',
|
||||
'Travel Blog Map Config'
|
||||
);
|
||||
|
||||
|
||||
|
||||
$pluginSignatures = [
|
||||
'a2gtravelblog_timeline' => 'flexform_timeline',
|
||||
'a2gtravelblog_map' => 'flexform_map'
|
||||
];
|
||||
|
||||
foreach ($pluginSignatures as $pluginSignature => $flexform) {
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature, 'FILE:EXT:a2g_travel_blog/Configuration/FlexForms/' . $flexform . '.xml');
|
||||
|
||||
// \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
// // 'list_type' does not apply here
|
||||
// '*',
|
||||
// // Flexform configuration schema file
|
||||
// 'FILE:EXT:example/Configuration/FlexForms/Registration.xml',
|
||||
// // ctype
|
||||
// $pluginSignature
|
||||
//);
|
||||
|
||||
}
|
813
Configuration/TCA/Overrides/103_sys_category.php
Normal file
813
Configuration/TCA/Overrides/103_sys_category.php
Normal file
@ -0,0 +1,813 @@
|
||||
<?php
|
||||
|
||||
//
|
||||
|
||||
/*
|
||||
* This file is part of the package t3g/blog.
|
||||
*
|
||||
* For the full copyright and license information, please read the
|
||||
* LICENSE file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
if (!defined('TYPO3')) {
|
||||
die('Access denied.');
|
||||
}
|
||||
|
||||
$ll = 'LLL:EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf:';
|
||||
//
|
||||
//// Add folder configuration
|
||||
//$GLOBALS['TCA']['pages']['columns']['module']['config']['items'][] = [
|
||||
// 0 => $ll . 'blog-folder',
|
||||
// 1 => 'blog',
|
||||
// 2 => 'record-folder-contains-blog',
|
||||
//];
|
||||
//$GLOBALS['TCA']['pages']['ctrl']['typeicon_classes']['contains-blog'] = 'record-folder-contains-blog';
|
||||
//
|
||||
//// Add new page types as possible select item:
|
||||
//\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
// 'pages',
|
||||
// 'doktype',
|
||||
// [
|
||||
// 'LLL:EXT:blog/Resources/Private/Language/locallang_tca.xlf:pages.doktype.blog-post',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST,
|
||||
// 'record-blog-post',
|
||||
// ],
|
||||
// '1',
|
||||
// 'after'
|
||||
//);
|
||||
//\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
// 'pages',
|
||||
// 'doktype',
|
||||
// [
|
||||
// 'LLL:EXT:blog/Resources/Private/Language/locallang_tca.xlf:pages.doktype.blog-page',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE,
|
||||
// 'record-blog-page',
|
||||
// ],
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST,
|
||||
// 'after'
|
||||
//);
|
||||
//
|
||||
//// Add icon for new page types:
|
||||
//\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
|
||||
// $GLOBALS['TCA']['pages'],
|
||||
// [
|
||||
// 'ctrl' => [
|
||||
// 'typeicon_classes' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE => 'record-blog-page',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE . '-root' => 'record-blog-page-root',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST => 'record-blog-post',
|
||||
// ],
|
||||
// ],
|
||||
// 'types' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT],
|
||||
// ],
|
||||
// ]
|
||||
//);
|
||||
//\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
|
||||
// $GLOBALS['TCA']['pages'],
|
||||
// [
|
||||
// 'ctrl' => [
|
||||
// 'typeicon_classes' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE => 'record-blog-page',
|
||||
// ],
|
||||
// ],
|
||||
// 'types' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT],
|
||||
// ],
|
||||
// ]
|
||||
//);
|
||||
//
|
||||
// Register fields
|
||||
$GLOBALS['TCA']['sys_category']['columns'] = array_replace_recursive(
|
||||
$GLOBALS['TCA']['sys_category']['columns'],
|
||||
[
|
||||
'iso_a2_country_code' => [
|
||||
'exclude' => true,
|
||||
'label' => '' . $ll . 'category.iso_a2_country_code',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
[
|
||||
"no map relation",
|
||||
""
|
||||
],
|
||||
[
|
||||
"Afghanistan",
|
||||
"AF"
|
||||
],
|
||||
[
|
||||
"Angola",
|
||||
"AO"
|
||||
],
|
||||
[
|
||||
"Albania",
|
||||
"AL"
|
||||
],
|
||||
[
|
||||
"United Arab Emirates",
|
||||
"AE"
|
||||
],
|
||||
[
|
||||
"Argentina",
|
||||
"AR"
|
||||
],
|
||||
[
|
||||
"Armenia",
|
||||
"AM"
|
||||
],
|
||||
[
|
||||
"Antarctica",
|
||||
"AQ"
|
||||
],
|
||||
[
|
||||
"Fr. S. Antarctic Lands",
|
||||
"TF"
|
||||
],
|
||||
[
|
||||
"Australia",
|
||||
"AU"
|
||||
],
|
||||
[
|
||||
"Austria",
|
||||
"AT"
|
||||
],
|
||||
[
|
||||
"Azerbaijan",
|
||||
"AZ"
|
||||
],
|
||||
[
|
||||
"Burundi",
|
||||
"BI"
|
||||
],
|
||||
[
|
||||
"Belgium",
|
||||
"BE"
|
||||
],
|
||||
[
|
||||
"Benin",
|
||||
"BJ"
|
||||
],
|
||||
[
|
||||
"Burkina Faso",
|
||||
"BF"
|
||||
],
|
||||
[
|
||||
"Bangladesh",
|
||||
"BD"
|
||||
],
|
||||
[
|
||||
"Bulgaria",
|
||||
"BG"
|
||||
],
|
||||
[
|
||||
"Bahamas",
|
||||
"BS"
|
||||
],
|
||||
[
|
||||
"Bosnia and Herz.",
|
||||
"BA"
|
||||
],
|
||||
[
|
||||
"Belarus",
|
||||
"BY"
|
||||
],
|
||||
[
|
||||
"Belize",
|
||||
"BZ"
|
||||
],
|
||||
[
|
||||
"Bolivia",
|
||||
"BO"
|
||||
],
|
||||
[
|
||||
"Brazil",
|
||||
"BR"
|
||||
],
|
||||
[
|
||||
"Brunei",
|
||||
"BN"
|
||||
],
|
||||
[
|
||||
"Bhutan",
|
||||
"BT"
|
||||
],
|
||||
[
|
||||
"Botswana",
|
||||
"BW"
|
||||
],
|
||||
[
|
||||
"Central African Rep.",
|
||||
"CF"
|
||||
],
|
||||
[
|
||||
"Canada",
|
||||
"CA"
|
||||
],
|
||||
[
|
||||
"Switzerland",
|
||||
"CH"
|
||||
],
|
||||
[
|
||||
"Chile",
|
||||
"CL"
|
||||
],
|
||||
[
|
||||
"China",
|
||||
"CN"
|
||||
],
|
||||
[
|
||||
"Cte d'Ivoire",
|
||||
"CI"
|
||||
],
|
||||
[
|
||||
"Cameroon",
|
||||
"CM"
|
||||
],
|
||||
[
|
||||
"Dem. Rep. Congo",
|
||||
"CD"
|
||||
],
|
||||
[
|
||||
"Congo",
|
||||
"CG"
|
||||
],
|
||||
[
|
||||
"Colombia",
|
||||
"CO"
|
||||
],
|
||||
[
|
||||
"Costa Rica",
|
||||
"CR"
|
||||
],
|
||||
[
|
||||
"Cuba",
|
||||
"CU"
|
||||
],
|
||||
[
|
||||
"Cyprus",
|
||||
"CY"
|
||||
],
|
||||
[
|
||||
"Czech Rep.",
|
||||
"CZ"
|
||||
],
|
||||
[
|
||||
"Germany",
|
||||
"DE"
|
||||
],
|
||||
[
|
||||
"Djibouti",
|
||||
"DJ"
|
||||
],
|
||||
[
|
||||
"Denmark",
|
||||
"DK"
|
||||
],
|
||||
[
|
||||
"Dominican Rep.",
|
||||
"DO"
|
||||
],
|
||||
[
|
||||
"Algeria",
|
||||
"DZ"
|
||||
],
|
||||
[
|
||||
"Ecuador",
|
||||
"EC"
|
||||
],
|
||||
[
|
||||
"Egypt",
|
||||
"EG"
|
||||
],
|
||||
[
|
||||
"Eritrea",
|
||||
"ER"
|
||||
],
|
||||
[
|
||||
"Spain",
|
||||
"ES"
|
||||
],
|
||||
[
|
||||
"Estonia",
|
||||
"EE"
|
||||
],
|
||||
[
|
||||
"Ethiopia",
|
||||
"ET"
|
||||
],
|
||||
[
|
||||
"Finland",
|
||||
"FI"
|
||||
],
|
||||
[
|
||||
"Fiji",
|
||||
"FJ"
|
||||
],
|
||||
[
|
||||
"Falkland Is.",
|
||||
"FK"
|
||||
],
|
||||
[
|
||||
"France",
|
||||
"FR"
|
||||
],
|
||||
[
|
||||
"Gabon",
|
||||
"GA"
|
||||
],
|
||||
[
|
||||
"United Kingdom",
|
||||
"GB"
|
||||
],
|
||||
[
|
||||
"Georgia",
|
||||
"GE"
|
||||
],
|
||||
[
|
||||
"Ghana",
|
||||
"GH"
|
||||
],
|
||||
[
|
||||
"Guinea",
|
||||
"GN"
|
||||
],
|
||||
[
|
||||
"Gambia",
|
||||
"GM"
|
||||
],
|
||||
[
|
||||
"Guinea-Bissau",
|
||||
"GW"
|
||||
],
|
||||
[
|
||||
"Eq. Guinea",
|
||||
"GQ"
|
||||
],
|
||||
[
|
||||
"Greece",
|
||||
"GR"
|
||||
],
|
||||
[
|
||||
"Greenland",
|
||||
"GL"
|
||||
],
|
||||
[
|
||||
"Guatemala",
|
||||
"GT"
|
||||
],
|
||||
[
|
||||
"Guyana",
|
||||
"GY"
|
||||
],
|
||||
[
|
||||
"Honduras",
|
||||
"HN"
|
||||
],
|
||||
[
|
||||
"Croatia",
|
||||
"HR"
|
||||
],
|
||||
[
|
||||
"Haiti",
|
||||
"HT"
|
||||
],
|
||||
[
|
||||
"Hungary",
|
||||
"HU"
|
||||
],
|
||||
[
|
||||
"Indonesia",
|
||||
"ID"
|
||||
],
|
||||
[
|
||||
"India",
|
||||
"IN"
|
||||
],
|
||||
[
|
||||
"Ireland",
|
||||
"IE"
|
||||
],
|
||||
[
|
||||
"Iran",
|
||||
"IR"
|
||||
],
|
||||
[
|
||||
"Iraq",
|
||||
"IQ"
|
||||
],
|
||||
[
|
||||
"Iceland",
|
||||
"IS"
|
||||
],
|
||||
[
|
||||
"Israel",
|
||||
"IL"
|
||||
],
|
||||
[
|
||||
"Italy",
|
||||
"IT"
|
||||
],
|
||||
[
|
||||
"Jamaica",
|
||||
"JM"
|
||||
],
|
||||
[
|
||||
"Jordan",
|
||||
"JO"
|
||||
],
|
||||
[
|
||||
"Japan",
|
||||
"JP"
|
||||
],
|
||||
[
|
||||
"Kazakhstan",
|
||||
"KZ"
|
||||
],
|
||||
[
|
||||
"Kenya",
|
||||
"KE"
|
||||
],
|
||||
[
|
||||
"Kyrgyzstan",
|
||||
"KG"
|
||||
],
|
||||
[
|
||||
"Cambodia",
|
||||
"KH"
|
||||
],
|
||||
[
|
||||
"Korea",
|
||||
"KR"
|
||||
],
|
||||
[
|
||||
"Kuwait",
|
||||
"KW"
|
||||
],
|
||||
[
|
||||
"Lao PDR",
|
||||
"LA"
|
||||
],
|
||||
[
|
||||
"Lebanon",
|
||||
"LB"
|
||||
],
|
||||
[
|
||||
"Liberia",
|
||||
"LR"
|
||||
],
|
||||
[
|
||||
"Libya",
|
||||
"LY"
|
||||
],
|
||||
[
|
||||
"Sri Lanka",
|
||||
"LK"
|
||||
],
|
||||
[
|
||||
"Lesotho",
|
||||
"LS"
|
||||
],
|
||||
[
|
||||
"Lithuania",
|
||||
"LT"
|
||||
],
|
||||
[
|
||||
"Luxembourg",
|
||||
"LU"
|
||||
],
|
||||
[
|
||||
"Latvia",
|
||||
"LV"
|
||||
],
|
||||
[
|
||||
"Morocco",
|
||||
"MA"
|
||||
],
|
||||
[
|
||||
"Moldova",
|
||||
"MD"
|
||||
],
|
||||
[
|
||||
"Madagascar",
|
||||
"MG"
|
||||
],
|
||||
[
|
||||
"Mexico",
|
||||
"MX"
|
||||
],
|
||||
[
|
||||
"Macedonia",
|
||||
"MK"
|
||||
],
|
||||
[
|
||||
"Mali",
|
||||
"ML"
|
||||
],
|
||||
[
|
||||
"Myanmar",
|
||||
"MM"
|
||||
],
|
||||
[
|
||||
"Montenegro",
|
||||
"ME"
|
||||
],
|
||||
[
|
||||
"Mongolia",
|
||||
"MN"
|
||||
],
|
||||
[
|
||||
"Mozambique",
|
||||
"MZ"
|
||||
],
|
||||
[
|
||||
"Mauritania",
|
||||
"MR"
|
||||
],
|
||||
[
|
||||
"Malawi",
|
||||
"MW"
|
||||
],
|
||||
[
|
||||
"Malaysia",
|
||||
"MY"
|
||||
],
|
||||
[
|
||||
"Namibia",
|
||||
"NA"
|
||||
],
|
||||
[
|
||||
"New Caledonia",
|
||||
"NC"
|
||||
],
|
||||
[
|
||||
"Niger",
|
||||
"NE"
|
||||
],
|
||||
[
|
||||
"Nigeria",
|
||||
"NG"
|
||||
],
|
||||
[
|
||||
"Nicaragua",
|
||||
"NI"
|
||||
],
|
||||
[
|
||||
"Netherlands",
|
||||
"NL"
|
||||
],
|
||||
[
|
||||
"Norway",
|
||||
"NO"
|
||||
],
|
||||
[
|
||||
"Nepal",
|
||||
"NP"
|
||||
],
|
||||
[
|
||||
"New Zealand",
|
||||
"NZ"
|
||||
],
|
||||
[
|
||||
"Oman",
|
||||
"OM"
|
||||
],
|
||||
[
|
||||
"Pakistan",
|
||||
"PK"
|
||||
],
|
||||
[
|
||||
"Panama",
|
||||
"PA"
|
||||
],
|
||||
[
|
||||
"Peru",
|
||||
"PE"
|
||||
],
|
||||
[
|
||||
"Philippines",
|
||||
"PH"
|
||||
],
|
||||
[
|
||||
"Papua New Guinea",
|
||||
"PG"
|
||||
],
|
||||
[
|
||||
"Poland",
|
||||
"PL"
|
||||
],
|
||||
[
|
||||
"Puerto Rico",
|
||||
"PR"
|
||||
],
|
||||
[
|
||||
"Dem. Rep. Korea",
|
||||
"KP"
|
||||
],
|
||||
[
|
||||
"Portugal",
|
||||
"PT"
|
||||
],
|
||||
[
|
||||
"Paraguay",
|
||||
"PY"
|
||||
],
|
||||
[
|
||||
"Palestine",
|
||||
"PS"
|
||||
],
|
||||
[
|
||||
"Qatar",
|
||||
"QA"
|
||||
],
|
||||
[
|
||||
"Romania",
|
||||
"RO"
|
||||
],
|
||||
[
|
||||
"Russia",
|
||||
"RU"
|
||||
],
|
||||
[
|
||||
"Rwanda",
|
||||
"RW"
|
||||
],
|
||||
[
|
||||
"W. Sahara",
|
||||
"EH"
|
||||
],
|
||||
[
|
||||
"Saudi Arabia",
|
||||
"SA"
|
||||
],
|
||||
[
|
||||
"Sudan",
|
||||
"SD"
|
||||
],
|
||||
[
|
||||
"S. Sudan",
|
||||
"SS"
|
||||
],
|
||||
[
|
||||
"Senegal",
|
||||
"SN"
|
||||
],
|
||||
[
|
||||
"Solomon Is.",
|
||||
"SB"
|
||||
],
|
||||
[
|
||||
"Sierra Leone",
|
||||
"SL"
|
||||
],
|
||||
[
|
||||
"El Salvador",
|
||||
"SV"
|
||||
],
|
||||
[
|
||||
"Somalia",
|
||||
"SO"
|
||||
],
|
||||
[
|
||||
"Serbia",
|
||||
"RS"
|
||||
],
|
||||
[
|
||||
"Suriname",
|
||||
"SR"
|
||||
],
|
||||
[
|
||||
"Slovakia",
|
||||
"SK"
|
||||
],
|
||||
[
|
||||
"Slovenia",
|
||||
"SI"
|
||||
],
|
||||
[
|
||||
"Sweden",
|
||||
"SE"
|
||||
],
|
||||
[
|
||||
"Swaziland",
|
||||
"SZ"
|
||||
],
|
||||
[
|
||||
"Syria",
|
||||
"SY"
|
||||
],
|
||||
[
|
||||
"Chad",
|
||||
"TD"
|
||||
],
|
||||
[
|
||||
"Togo",
|
||||
"TG"
|
||||
],
|
||||
[
|
||||
"Thailand",
|
||||
"TH"
|
||||
],
|
||||
[
|
||||
"Tajikistan",
|
||||
"TJ"
|
||||
],
|
||||
[
|
||||
"Turkmenistan",
|
||||
"TM"
|
||||
],
|
||||
[
|
||||
"Timor-Leste",
|
||||
"TL"
|
||||
],
|
||||
[
|
||||
"Trinidad and Tobago",
|
||||
"TT"
|
||||
],
|
||||
[
|
||||
"Tunisia",
|
||||
"TN"
|
||||
],
|
||||
[
|
||||
"Turkey",
|
||||
"TR"
|
||||
],
|
||||
[
|
||||
"Taiwan",
|
||||
"TW"
|
||||
],
|
||||
[
|
||||
"Tanzania",
|
||||
"TZ"
|
||||
],
|
||||
[
|
||||
"Uganda",
|
||||
"UG"
|
||||
],
|
||||
[
|
||||
"Ukraine",
|
||||
"UA"
|
||||
],
|
||||
[
|
||||
"Uruguay",
|
||||
"UY"
|
||||
],
|
||||
[
|
||||
"United States",
|
||||
"US"
|
||||
],
|
||||
[
|
||||
"Uzbekistan",
|
||||
"UZ"
|
||||
],
|
||||
[
|
||||
"Venezuela",
|
||||
"VE"
|
||||
],
|
||||
[
|
||||
"Vietnam",
|
||||
"VN"
|
||||
],
|
||||
[
|
||||
"Vanuatu",
|
||||
"VU"
|
||||
],
|
||||
[
|
||||
"Yemen",
|
||||
"YE"
|
||||
],
|
||||
[
|
||||
"South Africa",
|
||||
"ZA"
|
||||
],
|
||||
[
|
||||
"Zambia",
|
||||
"ZM"
|
||||
],
|
||||
[
|
||||
"Zimbabwe",
|
||||
"ZW"
|
||||
]
|
||||
],
|
||||
],
|
||||
]
|
||||
]
|
||||
);
|
||||
//
|
||||
///** @noinspection UnsupportedStringOffsetOperationsInspection */
|
||||
//$GLOBALS['TCA']['pages']['types'][\T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST]['columnsOverrides'] = [
|
||||
// 'categories' => [
|
||||
// 'config' => [
|
||||
// 'foreign_table_where' => 'AND sys_category.sys_language_uid IN (0,-1) AND sys_category.pid = ###PAGE_TSCONFIG_ID###',
|
||||
// ]
|
||||
// ]
|
||||
//];
|
||||
//
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette('sys_category', 'travel_blog_fields', 'iso_a2_country_code');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'sys_category',
|
||||
'--div--;' . $ll . 'pages.tabs.travel_blog,
|
||||
--palette--;' . $ll . 'pages.palettes.travel_blog; travel_blog_fields'
|
||||
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST
|
||||
);
|
@ -0,0 +1,99 @@
|
||||
<?php //
|
||||
|
||||
/*
|
||||
* This file is part of the package t3g/blog.
|
||||
*
|
||||
* For the full copyright and license information, please read the
|
||||
* LICENSE file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
if (!defined('TYPO3')) {
|
||||
die('Access denied.');
|
||||
}
|
||||
|
||||
$ll = 'LLL:EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf:';
|
||||
//
|
||||
//// Add folder configuration
|
||||
//$GLOBALS['TCA']['pages']['columns']['module']['config']['items'][] = [
|
||||
// 0 => $ll . 'blog-folder',
|
||||
// 1 => 'blog',
|
||||
// 2 => 'record-folder-contains-blog',
|
||||
//];
|
||||
//$GLOBALS['TCA']['pages']['ctrl']['typeicon_classes']['contains-blog'] = 'record-folder-contains-blog';
|
||||
//
|
||||
//// Add new page types as possible select item:
|
||||
//\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
// 'pages',
|
||||
// 'doktype',
|
||||
// [
|
||||
// 'LLL:EXT:blog/Resources/Private/Language/locallang_tca.xlf:pages.doktype.blog-post',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST,
|
||||
// 'record-blog-post',
|
||||
// ],
|
||||
// '1',
|
||||
// 'after'
|
||||
//);
|
||||
//\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
// 'pages',
|
||||
// 'doktype',
|
||||
// [
|
||||
// 'LLL:EXT:blog/Resources/Private/Language/locallang_tca.xlf:pages.doktype.blog-page',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE,
|
||||
// 'record-blog-page',
|
||||
// ],
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST,
|
||||
// 'after'
|
||||
//);
|
||||
//
|
||||
//// Add icon for new page types:
|
||||
//\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
|
||||
// $GLOBALS['TCA']['pages'],
|
||||
// [
|
||||
// 'ctrl' => [
|
||||
// 'typeicon_classes' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE => 'record-blog-page',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE . '-root' => 'record-blog-page-root',
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST => 'record-blog-post',
|
||||
// ],
|
||||
// ],
|
||||
// 'types' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_POST => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT],
|
||||
// ],
|
||||
// ]
|
||||
//);
|
||||
//\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
|
||||
// $GLOBALS['TCA']['pages'],
|
||||
// [
|
||||
// 'ctrl' => [
|
||||
// 'typeicon_classes' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE => 'record-blog-page',
|
||||
// ],
|
||||
// ],
|
||||
// 'types' => [
|
||||
// (string) \T3G\AgencyPack\Blog\Constants::DOKTYPE_BLOG_PAGE => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT],
|
||||
// ],
|
||||
// ]
|
||||
//);
|
||||
//
|
||||
// Register fields
|
||||
$GLOBALS['TCA']['tx_blog_domain_model_author']['columns'] = array_replace_recursive(
|
||||
$GLOBALS['TCA']['tx_blog_domain_model_author']['columns'],
|
||||
[
|
||||
'rel_map_marker' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:relMarker',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingleBox',
|
||||
'foreign_table' => 'tx_a2gmaps_domain_model_marker',
|
||||
'foreign_table_where' => ' AND tx_a2gmaps_domain_model_marker.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1) '
|
||||
]
|
||||
]
|
||||
]
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette('tx_blog_domain_model_author', 'travelblog_map_icon', 'rel_map_marker');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'tx_blog_domain_model_author',
|
||||
'--div--;' . $ll . 'pages.tabs.travel_blog,
|
||||
--palette--;' . $ll . 'pages.palettes.travel_blog; travelblog_map_icon'
|
||||
);
|
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the package t3g/blog.
|
||||
*
|
||||
* For the full copyright and license information, please read the
|
||||
* LICENSE file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
if (!defined('TYPO3')) {
|
||||
die('Access denied.');
|
||||
}
|
||||
|
||||
$ll = 'LLL:EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf:';
|
||||
|
||||
$GLOBALS['TCA']['tx_a2gmaps_domain_model_mapentry']['columns'] = array_replace_recursive(
|
||||
$GLOBALS['TCA']['tx_a2gmaps_domain_model_mapentry']['columns'],
|
||||
[
|
||||
|
||||
'rel_travel_post' => [
|
||||
'label' => 'rel_travel_post',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType'=> 'selectSingle',
|
||||
'foreign_table' => 'pages',
|
||||
'foreign_table_where' => ' AND pages.sys_language_uid IN (###REC_FIELD_sys_language_uid###,-1) ',
|
||||
],
|
||||
]
|
||||
]
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette('tx_a2gmaps_domain_model_mapentry', 'travelblog_rel_post', 'travelblog_rel_post');
|
||||
//\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
// 'tx_blog_domain_model_author',
|
||||
// '--div--;' . $ll . 'pages.tabs.travel_blog,
|
||||
// --palette--;' . $ll . 'pages.palettes.travel_blog; travelblog_map_icon'
|
||||
//);
|
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the package t3g/blog.
|
||||
*
|
||||
* For the full copyright and license information, please read the
|
||||
* LICENSE file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
if (!defined('TYPO3')) {
|
||||
die('Access denied.');
|
||||
}
|
||||
|
||||
$ll = 'LLL:EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf:';
|
||||
|
||||
$GLOBALS['TCA']['tx_a2gmaps_domain_model_marker']['columns'] = array_replace_recursive(
|
||||
$GLOBALS['TCA']['tx_a2gmaps_domain_model_marker']['columns'],
|
||||
[
|
||||
'rel_travel_author' => [
|
||||
'label' => 'rel_travel_author',
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
]
|
||||
]
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette('tx_a2gmaps_domain_model_marker', 'travel_author', 'rel_travel_author');
|
4
Configuration/TsConfig/Page/All.tsconfig
Normal file
4
Configuration/TsConfig/Page/All.tsconfig
Normal file
@ -0,0 +1,4 @@
|
||||
##################
|
||||
#### TsConfig ####
|
||||
##################
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_travel_blog/Configuration/TsConfig/Page/Wizards.tsconfig">
|
28
Configuration/TsConfig/Page/Wizards.tsconfig
Normal file
28
Configuration/TsConfig/Page/Wizards.tsconfig
Normal file
@ -0,0 +1,28 @@
|
||||
################################
|
||||
#### CONTENT ELEMENT WIZARD ####
|
||||
################################
|
||||
mod.wizards.newContentElement.wizardItems.a2gTravelBlog {
|
||||
after = common, menu, special, forms, plugins, blog
|
||||
header = LLL:EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf:wizard.group.travel_blog
|
||||
elements {
|
||||
a2gtravelblog_map {
|
||||
iconIdentifier = a2g_travelblog-plugin-map
|
||||
title = LLL:EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf:plugin.map.title
|
||||
description = LLL:EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf:plugin.map.description
|
||||
tt_content_defValues {
|
||||
CType = list
|
||||
list_type = a2gtravelblog_map
|
||||
}
|
||||
}
|
||||
a2gtravelblog_timeline {
|
||||
iconIdentifier = a2g_travelblog-plugin-timeline
|
||||
title = LLL:EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf:plugin.timeline.title
|
||||
description = LLL:EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf:plugin.timeline.description
|
||||
tt_content_defValues {
|
||||
CType = list
|
||||
list_type = a2gtravelblog_timeline
|
||||
}
|
||||
}
|
||||
}
|
||||
show = *
|
||||
}
|
17
Configuration/TypoScript/Base/constants.typoscript
Normal file
17
Configuration/TypoScript/Base/constants.typoscript
Normal file
@ -0,0 +1,17 @@
|
||||
plugin.tx_a2gtravelblog {
|
||||
view {
|
||||
# cat=altogether travel blog/file; type=string; label=Path to template root (FE)
|
||||
templateRootPath = EXT:a2g_travel_blog/Resources/Private/Templates/
|
||||
# cat=altogether travel blog/file; type=string; label=Path to template partials (FE)
|
||||
partialRootPath = EXT:a2g_travel_blog/Resources/Private/Partials/
|
||||
# cat=altogether travel blog/file; type=string; label=Path to template layouts (FE)
|
||||
layoutRootPath = EXT:a2g_travel_blog/Resources/Private/Layouts/
|
||||
}
|
||||
persistence {
|
||||
# cat=altogether travel blog//a; type=string; label=Default storage PID
|
||||
storagePid =
|
||||
}
|
||||
settings {
|
||||
|
||||
}
|
||||
}
|
63
Configuration/TypoScript/Base/setup.typoscript
Normal file
63
Configuration/TypoScript/Base/setup.typoscript
Normal file
@ -0,0 +1,63 @@
|
||||
|
||||
plugin.tx_a2gtravelmap_timeline {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:blog/Resources/Private/Templates/
|
||||
templateRootPaths.1 = EXT:a2g_travel_blog/Resources/Private/Templates/
|
||||
templateRootPaths.2 = {$plugin.tx_a2gtravelblog.view.templateRootPath}
|
||||
partialRootPaths.0 = EXT:blog/Resources/Private/Partials/
|
||||
partialRootPaths.1 = EXT:a2g_travel_blog/Resources/Private/Partials/
|
||||
partialRootPaths.2 = {$plugin.tx_a2gtravelblog.view.partialRootPath}
|
||||
layoutRootPaths.0 = EXT:blog/Resources/Private/Layouts/
|
||||
layoutRootPaths.1 = EXT:a2g_travel_blog/Resources/Private/Layouts/
|
||||
layoutRootPaths.2 = {$plugin.tx_a2gtravelblog.view.layoutRootPath}
|
||||
}
|
||||
persistence {
|
||||
storagePid = {$plugin.tx_a2gtravelblog.persistence.storagePid}
|
||||
#recursive = 1
|
||||
}
|
||||
}
|
||||
plugin.tx_a2gtravelmap_map {
|
||||
view {
|
||||
templateRootPaths.0 = EXT:blog/Resources/Private/Templates/
|
||||
templateRootPaths.1 = EXT:a2g_travel_blog/Resources/Private/Templates/
|
||||
templateRootPaths.2 = {$plugin.tx_a2gtravelblog.view.templateRootPath}
|
||||
partialRootPaths.0 = EXT:blog/Resources/Private/Partials/
|
||||
partialRootPaths.1 = EXT:a2g_travel_blog/Resources/Private/Partials/
|
||||
partialRootPaths.2 = {$plugin.tx_a2gtravelblog.view.partialRootPath}
|
||||
layoutRootPaths.0 = EXT:blog/Resources/Private/Layouts/
|
||||
layoutRootPaths.1 = EXT:a2g_travel_blog/Resources/Private/Layouts/
|
||||
layoutRootPaths.2 = {$plugin.tx_a2gtravelblog.view.layoutRootPath}
|
||||
}
|
||||
settings {
|
||||
defaultMapMarker = {$plugin.tx_a2gmaps.settings.defaultMapMarker}
|
||||
authorPageUid = {$plugin.tx_blog.settings.authorUid}
|
||||
}
|
||||
persistence {
|
||||
storagePid = {$plugin.tx_a2gtravelblog.persistence.storagePid}
|
||||
#recursive = 1
|
||||
}
|
||||
}
|
||||
|
||||
a2gTravelBlogMapMarkers = PAGE
|
||||
a2gTravelBlogMapMarkers {
|
||||
typeNum = 1652369512
|
||||
config {
|
||||
disableAllHeaderCode = 1
|
||||
admPanel = 0
|
||||
additionalHeaders.10.header = Content-type:application/json
|
||||
xhtml_cleaning = 0
|
||||
debug = 0
|
||||
no_cache = 0
|
||||
}
|
||||
10 = USER
|
||||
10 {
|
||||
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
|
||||
extensionName = A2gTravelBlog
|
||||
pluginName = mapConfig
|
||||
vendorName = Altogether
|
||||
controller = Map
|
||||
settings < plugin.tx_a2gtravelmap_map.settings
|
||||
persistence < plugin.tx_a2gtravelmap_map.persistence
|
||||
view < plugin.tx_a2gtravelmap_map.view
|
||||
}
|
||||
}
|
2
Configuration/TypoScript/constants.typoscript
Normal file
2
Configuration/TypoScript/constants.typoscript
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_travel_blog/Configuration/TypoScript/Base/constants.typoscript">
|
3
Configuration/TypoScript/setup.typoscript
Normal file
3
Configuration/TypoScript/setup.typoscript
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_travel_blog/Configuration/TypoScript/Base/setup.typoscript">
|
||||
#<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_travel_blog/Configuration/TypoScript/GoogleAnalytics/setup.typoscript">
|
Reference in New Issue
Block a user