Skip to main navigation Skip to main content Skip to page footer

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>