Skip to content

Instantly share code, notes, and snippets.

Avatar

Thomas Löffler spoonerWeb

View GitHub Profile
View Classes_Command_MigrationCommand.php
<?php
declare(strict_types = 1);
namespace Vendor\Extension\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use TYPO3\CMS\Core\Core\Environment;
use TYPO3\CMS\Core\Database\Connection;
use TYPO3\CMS\Core\Database\ConnectionPool;
@spoonerWeb
spoonerWeb / NumberViewHelper.php
Last active Jun 15, 2021
TYPO3 Format NumberViewHelper with automatic config
View NumberViewHelper.php
<?php
namespace Vendor\ExtensionName\ViewHelpers\Format;
use TYPO3\CMS\Core\Context\Context;
use TYPO3\CMS\Core\Site\SiteFinder;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
class NumberViewHelper extends \TYPO3\CMS\Fluid\ViewHelpers\Format\NumberViewHelper
{
@spoonerWeb
spoonerWeb / ext_localconf.php
Created Jan 12, 2021
Add PageTS configuration to FlexForm elements
View ext_localconf.php
$GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['flexFormSegment'][\TYPO3\CMS\Backend\Form\FormDataProvider\PageTsConfig::class] = [];
$GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['flexFormSegment'][\TYPO3\CMS\Backend\Form\FormDataProvider\PageTsConfigMerged::class] = [
'depends' => [
\TYPO3\CMS\Backend\Form\FormDataProvider\PageTsConfig::class,
]
];
$GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['flexFormSegment'][\TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseRowDefaultValues::class] = [
'depends' => [
\TYPO3\CMS\Backend\Form\FormDataProvider\PageTsConfigMerged::class
]
@spoonerWeb
spoonerWeb / bitbucket-pipelines.yml
Created Dec 30, 2020
Deployment with composer, npm and deployer with bitbucket pipelines
View bitbucket-pipelines.yml
definitions:
caches:
composer: vendor/
node: frontend/node_modules
steps:
- step: &composer
name: "Install project via composer"
image: composer:2
caches:
- composer
@spoonerWeb
spoonerWeb / UPGRADE.md
Last active Jul 27, 2022
Upgrading a TYPO3 version / Move to composer
View UPGRADE.md

TYPO3 Upgrade

Preparation

Project root == Document root

  1. Create a folder (e.g. public)
  2. Move folders and files into public
    1. fileadmin
  3. uploads
@spoonerWeb
spoonerWeb / AddCategoriesToFile.php
Created Aug 7, 2020
Add category records to TYPO3 file record (e.g. for using it when fetching files via DataProcessing)
View AddCategoriesToFile.php
<?php
namespace Vendor\Package\EventListener;
/*
* This file is part of a TYPO3 extension.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
@spoonerWeb
spoonerWeb / README.md
Created Apr 29, 2020
TYPO3 Solr Search with AJAX and Middleware (TYPO3 >= 9.5, EXT:solr >= 10)
View README.md

Solr search via AJAX and Middleware

How To

  • Add this code into your extension
  • Call your domain URL with the parameter ?ajaxsearch=1&q=<search-term>
  • Get JSON with all results based on your TS settings on root page
@spoonerWeb
spoonerWeb / config.yaml
Last active Apr 20, 2020
"ddev logs web" output
View config.yaml
APIVersion: v1.13.1
name: typo3.org
type: typo3
docroot: public
php_version: "7.4"
webserver_type: nginx-fpm
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
@spoonerWeb
spoonerWeb / Solr.php
Last active Nov 11, 2019
Get result count of Solr search without facets in TYPO3
View Solr.php
<?php
namespace Vendor\ExtensionName\Slot;
/*
* This file is part of a TYPO3 extension.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
@spoonerWeb
spoonerWeb / composer.json
Created Oct 9, 2019
WordPress composer.json
View composer.json
{
"name": "spooner/wordpress",
"type": "project",
"config": {
"vendor-dir": "content/vendor"
},
"extra": {
"wordpress-install-dir": "wp",
"installer-paths": {
"content/plugins/{$name}/": [