Skip to content

Instantly share code, notes, and snippets.

View kitzberger's full-sized avatar

Philipp Kitzberger kitzberger

View GitHub Profile
@kitzberger
kitzberger / Dockerfile
Last active March 2, 2023 16:57
TYPO3 and webp
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libwebp-dev \
&& docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp
RUN apt-get install -y \
graphicsmagick \
webp
@kitzberger
kitzberger / CategoryRepository.php
Last active May 19, 2022 15:29
Repositories for sys_category don't respect storage pids by default. See https://forge.typo3.org/issues/89295#note-10
<?php
namespace Me\MyExtension\Domain\Repository;
use TYPO3\CMS\Extbase\Persistence\Repository;
class CategoryRepository extends Repository
{
public function createQuery()
{
SELECT
uid, pid, list_type,
ExtractValue(`tt_content`.`pi_flexform`, '//T3FlexForms/data/sheet[@index="sDEF"]/language/field[@index="settings.category"]/value') category,
ExtractValue(`tt_content`.`pi_flexform`, '//T3FlexForms/data/sheet[@index="sDEF"]/language/field[@index="settings.special"]/value') special
FROM tt_content
WHERE
CType='list' AND
list_type='xxx' AND
ExtractValue(`tt_content`.`pi_flexform`, '//T3FlexForms/data/sheet[@index="sDEF"]/language/field[@index="settings.category"]/value') = '';
@kitzberger
kitzberger / Default.yaml
Last active April 3, 2022 09:40
TYPO3 CKeditor: Disable certain fields in table/cell dialogs
editor:
config:
disallowedContent: {
table: {
styles: 'width,height',
attributes: 'border,align,cellspacing,cellpadding'
},
td: {
styles: 'width,height,white-space,text-align,vertical-align,background-color,border-color'
}
@kitzberger
kitzberger / PopulateProjectSlugs.php
Created March 29, 2022 08:57
Populate slugs for a custom table (TYPO3 10+)
<?php
declare(strict_types=1);
namespace Vendor\MyExtension\Updates;
use TYPO3\CMS\Install\Updates\PopulatePageSlugs;
use TYPO3\CMS\Install\Updates\RepeatableInterface;
class PopulateProjectSlugs extends PopulatePageSlugs implements RepeatableInterface
@kitzberger
kitzberger / FormSetup.yaml
Last active November 7, 2023 10:48
TYPO3 form with dynamic recipients
TYPO3:
CMS:
Form:
prototypes:
standard:
formElementsDefinition:
Form:
renderingOptions:
translation:
translationFiles:
@kitzberger
kitzberger / Fluid.html
Created January 20, 2022 15:04
Allow &shy; and <br> in TYPO3 headlines
<h2>{header -> f:format.html(parseFuncTSPath:'lib.parseFunc_header')}</h2>
@kitzberger
kitzberger / TYPO3-10-beuser-Groupname.html.patch
Created December 10, 2021 16:22
Patch for TYPO3 10 EXT:beuser to increase displayed length of be groupname
--- Resources/Private/Partials/Permission/Groupname.html 2021-12-10 17:15:46.000000000 +0100
+++ Resources/Private/Partials/Permission/Groupname.html 2021-12-10 17:16:52.000000000 +0100
@@ -21,7 +21,7 @@
<f:comment>
A group name can be resolved
</f:comment>
- {groupname -> f:format.crop(maxCharacters:20)}
+ {groupname -> f:format.crop(maxCharacters:40)}
</f:then>
<f:else>
@kitzberger
kitzberger / setup.typoscript
Created November 25, 2021 04:04
Prepend <i>-tag to link text of typolinks
lib.parseFunc {
tags.a.stdWrap {
prepend = COA
prepend {
10 = LOAD_REGISTER
10.linktype = TEXT
10.linktype {
data = parameters:href
replacement {
10 {
@kitzberger
kitzberger / rename.sh
Last active December 27, 2022 10:14
Rename multiple files via mmv
# Simple change of file extension
mmv "*.ctp" "#1.php"
# Recursively renaming all `.ts` files to `.typoscript`
# ; matching subdirectories
# * matching the filename
mmv ";*.ts" "#1#2.typoscript"