Bugs

Allerlei Bugs zum Thema TYPO3 NEOS.

Erstellt: 10/2015| Geändert: 10/2015

Bug "The "node" property did not resolve to a NodeInterface"

Das passiert wenn man einen neuen NodeType definiert. Grund ist hier, dass noch keine Daten in der Datenbank sind - wie auch, es gab ja den Typ noch nicht. Also ein Catch 22. Abhilfe ist etwas umständlich:

  • Ein Content Element Two column content anlegen
  • Refresh, dann sieht man eine Content Collection
  • Diese in die unterste Hierarchieebene ziehen
  • In der Datenbank die tabelle typo3_typo3cr_domain_model_nodedata aufrufen
  • Das Element suchen und editieren: Den Inhalt des Feldes path ändern in /sites/defaultsite/teaser
  • Das Feld properties von a:2:{s:6:"layout";s:3:"6-6";s:5:"title";s:8:"Untitled";} ändern zu a:0:{}
Erstellt: 03/2014| Geändert: 10/2015

Bug TYPO3.Neos.NodeTypes:Text "Untitled"

Wenn ich einen TextNode anlegen, bekommt dieser den Titel "Untitled" im NodeTree links unten und das ändert sich auch nicht mehr. Bei Headlines passiert das nicht, diese haben als Name den Text, den man eingibt. Warum dies auftritt findet sich in der Datenbank:

Die Tablle typo3_typo3cr_domain_model_nodedata im Feld Properties steht:

a:2:{s:4:"text";s:25:"<p>why untitled?<br/></p>";s:5:"title";s:8:"Untitled";}

Bei der Headline hingegen:

a:1:{s:5:"title";s:15:"<h1>Header</h1>";}

Sprich: die Headline verwendet das Property title für den Inhalt - und title wird auch für die Anzeige Links im NodeTree verwendet. Wenn ich obiges ändere in

a:1:{s:4:"text";s:25:"<p>why untitled?<br/></p>";}

wird why untitled? im NodeTree angezeigt. Aber ich kann nicht jedesmal die Datenbank editieren, und den Code, der diesen Fehler erzeugt konnte ich nicht finden.

Workaround

Damit nicht alle Texte "Untitled" heissen habe ich als Lösung umgesetzt, dass man das Property editieren kann. Dazu habe ich in mein Configuration/NodeTypes.yaml den NodeType TYPO3.Neos.NodeTypes:Text geändert wie folgt:

 'TYPO3.Neos.NodeTypes:Text':
  ui:
    label: 'Text'  
    inspector:
      groups:
        document:
          label: 'Document'
          position: 1
  properties:
    title:
      type: string
      ui:
        label: 'Title'
        reloadIfChanged: TRUE
        inspector:
          group: 'document'

Damit kann ich nun den Titel wenigstens editieren, ist zwar nervig, aber besser als nichts. Wenn man den Titel 'Untitled' nun löscht und leer lässt, speichert, dann wird der eigegeben Text verwendet im NodeTree.

Erstellt: 03/2014| Geändert: 10/2015

Bug Inline ViewHelper

Wenn ich ein if statement in Fluid wie folgt schreibe:

<div  class="container" style="background: {f:if(condition: '{backgroundImage}', then: '{media:uri.image(image:backgroundImage)}', else: 'background: #fff')}">

und es ist kein backgroundImage gesetzt, so kommt folgender Fehler:

No asset given for rendering.

Aber es sollte ja nie das media:uri.image ausgeführt werden, genau deshalb baue ich ja das if statement ein. Wenn ich es nicht inline schreibe klappt es:

<f:if condition="{backgroundImage}">
<f:then>           
    <div  class="container" style="background: url({media:uri.image(image:backgroundImage)}) 80px 61px no-repeat;">
</f:then>
<f:else>
    <div class="container" style="background: #fff">
</f:else>

Das funktioniert, macht mir aber mein gültiges HTML kaputt durch ein <div> zuviel.

Erstellt: 03/2014| Geändert: 10/2015

igbinary_unserialize_header: unsupported version

Ständig bekomme ich diesen Fehler. Meist hilft ein Löschen des Caches. Aber ein 

./flow flow:cache:flush

klappt auch nicht, da derselbe Fehler kommt. Ich habe dann das Verzeichnis Data/Temporary/Development/Cache gelöscht.

Ursache

Bei mir war für den Webserver die PHP Version 5.4 aktiv, auf der Konsole die 5.3. Daher hatte ich ständig diesen Fehler beim Wechsel zwischen Backend und Konsole. Nun ist die Konsole auch auf 5.4 dann ist dieses Problem weg.

Erstellt: 03/2014| Geändert: 10/2015

Property Panel

Das Property Panel (Inspector, Eigenschaften Panel oder wie auch immer das Ding rechts heisst) liegt über meiner Internetseite. Das heisst ich kann den Text nicht vernünftig lesen. Ich hätte gerne dass die Seite innerhalb korrekt angezeigt wird - das habe ich aber noch nicht geschafft.

Grund ist, dass die Bootstrap media queries die gesamte Fensterbreite hernehmen - d.h. Wenn das Linke Panel ausgefahren ist mit 321px und das Rechte mit 321px (zusammen 642px) tritt der Breakpoint 1024px z.B. (vom Inhalt der Seite aus gesehen) ein bei 1024px - 642px = 382px. D.H. der Inhalt denkt er hätte 1024px, hat aber nur 382px und schaltet aber zur Darstellung für die 1024px um. Damit ist der meiste Text verdeckt von den Panels.

Erstellt: 03/2014| Geändert: 10/2015