TYPO3 – PHP 8 max_execution_time – htaccess – all-inkl
Mit der neuen Umstellung auf PHP 8.x greift bei dem Hoster all-inkl (ggf. auch bei anderen Hostern) nicht mehr in der htaccess die PHP Einstellung: max_execution_time
Dafür gibt es aber schon eine Abhilfe:
ALT: max_execution_time erhöhen bis PHP 7.x
in der .htacces Datei ans Ende folgendes eintragen:
php_value max_execution_time 300
max_execution_time erhöhen ab PHP 8.x
Erstellt nun eine neue Datei: .user.ini
Tragt dort nun ein:
max_execution_time = 300
Nun funktioniert auch unter der PHP 8 die Einstellungen die ihr für Eure TYPO3 Installation benötigt.
Content Block für TYPO3
Hier ist ein Akkordeon als Content Block für TYPO3, das du in dein Projekt einbinden kannst. Es besteht aus der content-block.yaml, der frontend.html, der backend-preview.html und einer data.json Datei.
Content Block Akkordeon
meta:
title: Akkordeon
description: Ein einfaches Akkordeon für TYPO3 Content Blocks
author: Dein Name
version: 1.0.0
categories: [default]
schema:
properties:
items:
type: array
minItems: 1
items:
type: object
properties:
title:
type: string
title: Titel
content:
type: string
title: Inhalt
format: html
required: [items]
template: frontend.html
backendPreview: backend-preview.html
---
frontend.html
---
<!-- frontend.html -->
<div class="accordion">
<f:for each="{data.items}" as="item" key="index">
<div class="accordion-item">
<button class="accordion-button" onclick="toggleAccordion({index})">{item.title}</button>
<div class="accordion-content" id="accordion-{index}">{item.content}</div>
</div>
</f:for>
</div>
<style>
.accordion-item { margin-bottom: 10px; }
.accordion-button { cursor: pointer; background: #007bff; color: #fff; padding: 10px; border: none; width: 100%; text-align: left; }
.accordion-content { display: none; padding: 10px; border: 1px solid #ccc; }
</style>
<script>
function toggleAccordion(index) {
var content = document.getElementById("accordion-" + index);
content.style.display = (content.style.display === "block") ? "none" : "block";
}
</script>
---
backend-preview.html
<!-- backend-preview.html -->
<div class="accordion-preview">
<f:for each="{data.items}" as="item">
<div class="accordion-item">
<strong>{item.title}</strong>
<p>{item.content}</p>
</div>
</f:for>
</div>