Skip to content

Instantly share code, notes, and snippets.

View oliverthiele's full-sized avatar

Oliver Thiele oliverthiele

View GitHub Profile
@oliverthiele
oliverthiele / Template.html
Created June 30, 2014 15:51
Nested TYPO3 Fluid TranslateViewHelper for a localized string with localized date as argument.
<f:translate extensionName="ot_website" id="page_created" arguments="{0: '{f:format.date(date: \'@{data.crdate}\', format: \'{f:translate(id: \\\'formatDate\\\', extensionName: \\\'ot_website\\\')}\')}'}" />
@oliverthiele
oliverthiele / TruncateDbCache.phpsh
Last active August 6, 2019 19:30
Truncate TYPO3 Cache (DB and typo3temp/Cache/*)
#!/usr/bin/php -q
<?php
/**
* Truncates all TYPO3 cf_% and cache_% database tables
*/
function fetchArray($in) {
if(is_file($in)) {
return include $in;
} else {
@oliverthiele
oliverthiele / ModelController.php
Created July 22, 2014 20:33
Debugging errors like "An error occurred while trying to call Vendor\ExtKey\Controller\ModelController->showAction() " in extbase extensions
/**
* A special action which is called if the originally intended action could
* not be called, for example if the arguments were not valid.
*
* The default implementation sets a flash message, request errors and forwards back
* to the originating action. This is suitable for most actions dealing with form input.
*
* We clear the page cache by default on an error as well, as we need to make sure the
* data is re-evaluated when the user changes something.
*
@oliverthiele
oliverthiele / LocalConfiguration.php
Created December 11, 2014 13:12
Redis Configuration in TYPO3
<?php
return array(
// ...
'SYS' => array(
'caching' => array(
'cacheConfigurations' => array(
'cf_cache_hash' => array(
'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\RedisBackend',
'options' => array(
'database' => 10,
@oliverthiele
oliverthiele / GravatarViewHelper.php
Created April 20, 2015 13:21
TYPO3 Fluid GravatarViewHelper
<?php
namespace OliverThiele\OtWebsite\ViewHelpers;
use TYPO3\CMS\Fluid\ViewHelpers\Form\AbstractFormFieldViewHelper;
/**
* Class GravatarViewHelper
*
* @package OliverThiele\OtWebsite\ViewHelpers
*/
class GravatarViewHelper extends AbstractFormFieldViewHelper {
@oliverthiele
oliverthiele / Lib.breadcrumb.t3s
Created August 19, 2015 15:07
TYPO3 Rootline Menu / Breadcrumb with RDFa metadata
/**
* TYPO3 Rootline menu with RDFa metadata
*
* @author Oliver Thiele
* @see https://developers.google.com/structured-data/breadcrumbs
*/
lib {
breadcrumb = HMENU
breadcrumb {
special = rootline
@oliverthiele
oliverthiele / Lib.numberedMenu.t3s
Last active August 29, 2015 14:27
TYPO3 Main Navigation
lib.numberedMenu = HMENU
lib.numberedMenu {
entryLevel = 1
1 = TMENU
1 {
wrap = <ul>|</ul>
noBlur = 1
NO = 1
NO {
@oliverthiele
oliverthiele / robots.txt
Last active November 23, 2023 18:18
robots.txt for TYPO3
User-agent: *
# Only allow URLs generated with RealURL
Disallow: /*?id=*
Disallow: /*&id=*
# L=0 is the default language
Disallow: /*?L=0*
Disallow: /*&L=0*
@oliverthiele
oliverthiele / realurl_conf.php
Last active April 17, 2017 11:21
TYPO3 RealURL-Konfiguration Example
<?php
// Not needed in current RealURL versions: $TYPO3_CONF_VARS['FE']['addRootLineFields'] .= ',tx_realurl_pathsegment';
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array(
'_DEFAULT' => array(
'init' => array(
'enableCHashCache' => true,
'appendMissingSlash' => 'ifNotFile,redirect[301]',
'enableUrlDecodeCache' => true,
'enableUrlEncodeCache' => true,
'adminJumpToBackend' => true,
@oliverthiele
oliverthiele / CssStyledContent2FluidStyledContent.sql
Created September 14, 2016 10:26
TYPO3 DB Updates for switching from EXT:css_styled_conten to EXT:fluid_styled_content
UPDATE tt_content SET CType='textmedia' WHERE tt_content.CType='text';
UPDATE tt_content SET CType='textmedia' WHERE tt_content.CType='textpic';
UPDATE tt_content SET CType='textmedia' WHERE tt_content.CType='images';
UPDATE tt_content LEFT JOIN sys_file_reference ON sys_file_reference.uid_foreign=tt_content.uid AND sys_file_reference.tablenames='tt_content' AND sys_file_reference.fieldname='image' SET tt_content.CType='textmedia', tt_content.assets=tt_content.image, tt_content.image=0, sys_file_reference.fieldname='assets' WHERE tt_content.CType='textpic' OR tt_content.CType='image';
UPDATE be_groups SET explicit_allowdeny=CONCAT(explicit_allowdeny,',tt_content:CType:textmedia:ALLOW') WHERE (explicit_allowdeny LIKE '%tt\\_content:CType:textpic:ALLOW%' OR explicit_allowdeny LIKE '%tt\\_content:CType:image:ALLOW%' OR explicit_allowdeny LIKE '%tt\\_content:CType:text:ALLOW%') AND explicit_allowdeny NOT LIKE '%tt\\_content:CType:textmedia:ALLOW%';
UPDATE be_groups SET explicit_allowdeny=CONCAT(explicit_allowdeny