ksieren vor 2 Jahren
Commit
21eec0705d

+ 0 - 0
Classes/.gitkeep


+ 9 - 0
Configuration/TCA/Overrides/pages.php

@@ -0,0 +1,9 @@
+<?php
+
+use \TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
+
+ExtensionManagementUtility::registerPageTSConfigFile(
+'speedbase',
+'Configuration/TsConfig/Page/page.tsconfig',
+'My very special config'
+);

+ 18 - 0
Configuration/TCA/Overrides/sys_template.php

@@ -0,0 +1,18 @@
+<?php
+defined('TYPO3') || die();
+
+use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
+
+call_user_func(function()
+{
+    /**
+     * Temporary variables
+     */
+    $extensionKey = 'speedbase';
+
+    ExtensionManagementUtility::addStaticFile(
+        $extensionKey,
+        'Configuration/TypoScript',
+        'speedbase'
+    );
+});

+ 85 - 0
Configuration/TCA/Overrides/tt_content.php

@@ -0,0 +1,85 @@
+<?php
+defined('TYPO3') || die();
+
+use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
+
+ExtensionManagementUtility::addTcaSelectItem(
+'tt_content',
+'CType',
+[
+    'LLL:EXT:speedbase/Resources/Private/Language/locallang.xlf:speedbase_ctype_title',
+    'speedbase',
+    'content-text',
+],
+'textmedia',
+'after'
+);
+
+$GLOBALS['TCA']['tt_content']['types']['speedbase'] = [
+    'showitem' => '
+        --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,
+        --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;modified_header,
+        --div--;LLL:EXT:speedbase/Resources/Private/Language/locallang_ttc.xlf:tabs.custom_fields,
+            tx_speedbase_chatbotterms, tx_speedbase_chatbottermscategory, tx_speedbase_chatbottermstype, tx_speedbase_chatbottermsurl,
+        --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
+            --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
+        --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
+            --palette--;;language,
+        --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
+            --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,
+            --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,
+    ',
+];
+
+// Add custom fields to the tt_content TCA
+ExtensionManagementUtility::addTCAcolumns('tt_content', [
+    'tx_speedbase_chatbotterms' => [
+        'label' => 'LLL:EXT:speedbase/Resources/Private/Language/locallang_db.xlf:tt_content.chatbotterms',
+        'config' => [
+            'type' => 'text',
+            'size' => 2000,
+            'eval' => 'trim',
+        ],
+    ],
+    'tx_speedbase_chatbottermscategory' => [
+        'label' => 'LLL:EXT:speedbase/Resources/Private/Language/locallang_db.xlf:tt_content.chatbottermscategory',
+        'config' => [
+            'type' => 'select',
+            'renderType' => 'selectSingle',
+            'default' => '',
+            'items' => [
+                ['Default', '--div--'],
+                ['--leer--', null ],
+                ['DB values', '--div--'],
+            ],
+            'foreign_table' => 'tx_begriffmgt_domain_model_category',
+        ],
+    ],
+    'tx_speedbase_chatbottermstype' => [
+        'label' => 'LLL:EXT:speedbase/Resources/Private/Language/locallang_db.xlf:tt_content.chatbottermstype',
+        'config' => [
+            'type' => 'select',
+            'renderType' => 'selectSingle',
+#            'default' => '',
+            'items' => [
+                ['Default', '--div--'],
+                ['--leer--', null ],
+                ['DB values', '--div--'],
+            ],
+            'foreign_table' => 'tx_begriffmgt_domain_model_type',
+        ],
+    ],
+    'tx_speedbase_chatbottermsurl' => [
+        'label' => 'LLL:EXT:speedbase/Resources/Private/Language/locallang_db.xlf:tt_content.chatbottermsurl',
+        'config' => [
+            'type' => 'input',
+            'size' => 50,
+            'eval' => 'trim',
+        ],
+    ],
+]);
+
+// Create a new 'modified_header' palette with only the 'header' field
+    $GLOBALS['TCA']['tt_content']['palettes']['modified_header'] = [
+        'showitem' => 'header'
+    ];

+ 18 - 0
Configuration/TsConfig/Page/Mod/Wizards/NewContentElement.tsconfig

@@ -0,0 +1,18 @@
+mod.wizards {
+    newContentElement.wizardItems {
+        custom_elements {
+            header = LLL:EXT:speedbase/Resources/Private/Language/locallang_db.xlf:wizard_speedbase_custom_elements
+            elements {
+                speedbase {
+                    iconIdentifier = content-textpic
+                    title = LLL:EXT:speedbase/Resources/Private/Language/locallang_db.xlf:wizard_speedbase_custom_elements_title
+                    description = LLL:EXT:speedbase/Resources/Private/Language/locallang_db.xlf:wizard_speedbase_custom_elements_description
+                    tt_content_defValues {
+                        CType = speedbase
+                    }
+                }
+            }
+            show := addToList(speedbase)
+        }
+    }
+}

+ 22 - 0
Configuration/TypoScript/setup.typoscript

@@ -0,0 +1,22 @@
+
+page = PAGE
+page {
+    10 = TEXT
+    10.value = Huhu!
+}
+
+tt_content {
+    speedbase =< lib.contentElement
+    speedbase {
+        templateName = speedbase
+        templateRootPaths {
+            10 = EXT:speedbase/Resources/Private/Templates/
+        }
+        dataProcessing {
+            10 = Meramo\Speedbase\DataProcessing\SemicolonSeparatedValueProcessor
+            10 {
+                fieldName = tx_speedbase_chatbotterms
+            }
+        }
+    }
+}

+ 14 - 0
Configuration/page.tsconfig

@@ -0,0 +1,14 @@
+@import 'EXT:speedbase/Configuration/TsConfig/Page/Mod/Wizards/NewContentElement.tsconfig'
+
+config.tx_extbase {
+    objects {
+        Meramo\Begriffmgt\Domain\Model\Term {
+            className = Meramo\Begriffmgt\Domain\Model\Term
+        }
+        Meramo\Begriffmgt\Domain\Repository\TermRepository {
+            className = Meramo\Begriffmgt\Domain\Repository\TermRepository
+        }
+        // Add the other models and repositories from the "chatbot terms" extension if needed
+    }
+}
+

+ 20 - 0
Resources/Private/Language/locallang.xlf

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<xliff version="1.0">
+    <file source-language="en" datatype="plaintext" original="messages" date="2023-04-22UTC06:51:550">
+        <header>
+            <authorName>Kerstin</authorName>
+            <authorEmail>k.sieren@meramo.de</authorEmail>
+        </header>
+        <body>
+            <trans-unit id="speedbase_newcontentelement_title" xml:space="preserve">
+                <source>Speedbase Custom Element oll</source>
+            </trans-unit>
+            <trans-unit id="speedbase_ctype_title" xml:space="preserve">
+                <source>Chatbot Terms</source>
+            </trans-unit>
+            <trans-unit id="speedbase_description" xml:space="preserve">
+                <source>Speedbase Custom Element Decription</source>
+            </trans-unit>
+        </body>
+    </file>
+</xliff>

+ 32 - 0
Resources/Private/Language/locallang_db.xlf

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<xliff version="1.0">
+    <file source-language="en" datatype="plaintext" original="messages" date="2023-04-22UTC06:51:550">
+        <header>
+            <authorName>Kerstin</authorName>
+            <authorEmail>k.sieren@meramo.de</authorEmail>
+        </header>
+        <body>
+            <trans-unit id="wizard_speedbase_custom_elements" xml:space="preserve">
+                <source>Chatbot Terms</source>
+            </trans-unit>
+            <trans-unit id="wizard_speedbase_custom_elements_title" xml:space="preserve">
+                <source>Chatbot Terms</source>
+            </trans-unit>
+            <trans-unit id="wizard_speedbase_custom_elements_description" xml:space="preserve">
+                <source>Content element für das Erfassen von 'Chatbot Terms'</source>
+            </trans-unit>
+            <trans-unit id="tt_content.chatbotterms" xml:space="preserve">
+                <source>Begriffe</source>
+            </trans-unit>
+            <trans-unit id="tt_content.chatbottermscategory" xml:space="preserve">
+                <source>Kategorie (falls vorhanden)</source>
+            </trans-unit>
+            <trans-unit id="tt_content.chatbottermstype" xml:space="preserve">
+                <source>Typ (falls vorhanden)</source>
+            </trans-unit>
+            <trans-unit id="tt_content.chatbottermsurl" xml:space="preserve">
+                <source>URL (falls vorhanden)</source>
+            </trans-unit>
+        </body>
+    </file>
+</xliff>

+ 14 - 0
Resources/Private/Language/locallang_ttc.xlf

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<xliff version="1.0">
+    <file source-language="en" datatype="plaintext" original="messages" date="2023-04-22UTC06:51:550">
+        <header>
+            <authorName>Kerstin</authorName>
+            <authorEmail>k.sieren@meramo.de</authorEmail>
+        </header>
+        <body>
+            <trans-unit id="tabs.custom_fields" xml:space="preserve">
+                <source>Terms</source>
+            </trans-unit>
+        </body>
+    </file>
+</xliff>

+ 0 - 0
Resources/Private/Layouts/.gitkeep


+ 3 - 0
Resources/Public/Icons/Extension.svg

@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="83.098" height="84.172" viewBox="43.201 42.122 83.098 84.172">
+  <path fill="#FF8700" d="M106.074 100.128c-1.247.368-2.242.506-3.549.506-10.689 0-26.389-37.359-26.389-49.793 0-4.577 1.083-6.104 2.613-7.415-13.084 1.527-28.784 6.329-33.806 12.433-1.085 1.529-1.743 3.926-1.743 6.98 0 19.41 20.718 63.455 35.332 63.455 6.765.001 18.164-11.112 27.542-26.166M99.25 42.122c13.52 0 27.049 2.18 27.049 9.812 0 15.483-9.819 34.246-14.832 34.246-8.942 0-20.065-24.867-20.065-37.301.001-5.67 2.181-6.757 7.848-6.757"/>
+</svg>

+ 23 - 0
composer.json

@@ -0,0 +1,23 @@
+{
+    "name": "meramo/speedbase",
+    "type": "typo3-cms-extension",
+    "description": "Demonstrate how fast a PHP class can be loaded into TYPO3",
+    "homepage": "https://docs.typo3.org/",
+    "license": ["GPL-2.0-or-later"],
+    "keywords": ["TYPO3 CMS"],
+    "require": {
+        "typo3/cms-core": "^10.4 || ^11.5 || ^12.0",
+        "typo3/cms-rte-ckeditor": "^10.4 || ^11.5 || ^12.0",
+        "typo3/cms-fluid-styled-content": "^10.4 || ^11.5 || ^12.0"
+    },
+    "autoload": {
+        "psr-4": {
+            "Meramo\\Speedbase\\": "Classes/"
+        }
+    },
+    "extra": {
+        "typo3/cms": {
+            "extension-key": "speedbase"
+        }
+    }
+}

+ 29 - 0
ext_emconf.php

@@ -0,0 +1,29 @@
+<?php
+
+$EM_CONF['speedbase'] = [
+    'title' => 'speedbase',
+    'description' => 'Demonstrate how fast a PHP class can be loaded into TYPO3',
+    'category' => 'templates',
+    'constraints' => [
+        'depends' => [
+            'typo3' => '10.4.0-12.5.99',
+            'fluid_styled_content' => '10.4.0-12.5.99',
+            'rte_ckeditor' => '10.4.0-12.5.99',
+        ],
+        'conflicts' => [
+        ],
+    ],
+    'autoload' => [
+        'psr-4' => [
+            'Meramo\\Speedbase\\' => 'Classes',
+        ],
+    ],
+    'state' => 'stable',
+    'uploadfolder' => 0,
+    'createDirs' => '',
+    'clearCacheOnLoad' => 1,
+    'author' => 'Kerstin',
+    'author_email' => 'k.sieren@meramo.de',
+    'author_company' => 'Meramo',
+    'version' => '1.1.0',
+];

+ 13 - 0
ext_localconf.php

@@ -0,0 +1,13 @@
+<?php
+
+use TYPO3\CMS\Core\Information\Typo3Version;
+use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+
+$versionInformation = GeneralUtility::makeInstance(Typo3Version::class);
+// Only include page.tsconfig if TYPO3 version is below 12 so that it is not imported twice.
+if ($versionInformation->getMajorVersion() < 12) {
+ExtensionManagementUtility::addPageTSConfig('
+@import "EXT:speedbase/Configuration/page.tsconfig"
+');
+}

+ 6 - 0
ext_tables.sql

@@ -0,0 +1,6 @@
+CREATE TABLE tt_content (
+    tx_speedbase_chatbotterms TEXT DEFAULT '0' NOT NULL,
+    tx_speedbase_chatbottermscategory VARCHAR(255) DEFAULT '0' NOT NULL,
+    tx_speedbase_chatbottermstype VARCHAR(255) DEFAULT '0' NOT NULL,
+    tx_speedbase_chatbottermsurl VARCHAR(255) DEFAULT '0' NOT NULL,
+);