Zum Inhalt springen

Einfaches Inhaltelement mit -internen Link- anlegen

Erstellt am 25. Juni 2014 · 2 Antworten · letzte Antwort am 26. Juni 2014

Tags: Frage

mediew ·

Hi,

ich versuche gerade, ganz simple Inhaltselemente in TYPO3 Neos anzulegen. Nur irgendwie läuft es nicht so richtig rund.

Ich habe zu nächst ein Inhaltselement für eine alternative Headline-Form angelegt, was soweit schon mal gut klappte.
Nun wollte ich allerdings gerne ein Inhaltselement anlegen, welches neben Text auch einen internen Link pflegbar macht. Eine Art "Teaser".
Glücklicherweise hat @kitsunet in einen Artikel der T3N (noch nicht komplett online einsehbar) ein sehr ähnliches Inhaltselement als Beispiel.
Das Beispiel hat folgende...

... NodeTypes.yaml:

'Vendor.MyPackageName:Teaser':
  superTypes: ['TYPO3.Neos.NodeTypes:Headline', 'TYPO3.Neos.NodeTypes:Text']
  ui:
    label: 'Teaser'
  properties:
    icon:
      type: string
      defaultValue: ''
      ui:
        label: 'Icon'
    link:
      type: reference
      ui:
        label: 'Link Target'
        inspector:
          group: style
    linktext:
      type: string
      defaultValue: 'Link here'
      ui:
        inlineEditable: true

... Templates/NoteTypes/Teaser.html

{namespace neos=TYPO3\Neos\ViewHelpers}
<div>
    <span class="{icon} type-icon"></span>
    {neos:contentElement.editable(property: 'title')}
    {neos:contentElement.editable(property: 'text')}
    <f:if condition="{link}">
        <p>
            <neos:link.node node="{link}" class="btn btn-default">
                {neos:contentElement.editable(property: 'linktext', tag: 'span')}
            </neos:link.node>
        </p>
    </f:if>
</div>

Dummerweise funktioniert das Beispiel aus dem Heft scheinbar nicht. Ich sehe beim besten willen nirgends eine Möglichkeit, um irgendwo ein Linkziel zu definieren. Weder im "In-Place"- noch im "Raw Content"-Modus. Es muss doch irgendwie möglich sein ein Link pflegbar zu machen. Leider enthält das Demo-Package kein vergleichbares Beispiel.

Hat jemand für mich einen Rat?

mediew ·

Also ein Problem scheint "inspector:group:style" zu sein. Dies Gruppe gibt es nicht.
Ich habe es in die Gruppe 'visibility' eingeordnet. Dort wird es jetzt angezeigt.

'Vendor.MyPackageName:Teaser':
  superTypes: ['TYPO3.Neos.NodeTypes:Headline', 'TYPO3.Neos.NodeTypes:Text']
  ui:
    label: 'Teaser'
    inspector:
      groups:
        link:
          label: 'Link'
  properties:
    icon:
      type: string
      defaultValue: ''
      ui:
        label: 'Icon'
    link:
      type: reference
      ui:
        label: 'Link Target'
        inspector:
          group: 'link'
    linktext:
      type: string
      defaultValue: 'Link here'
      ui:
        inlineEditable: true

Hier habe ich jetzt eine eigene Gruppe "link" angelegt und nun funktioniert es auch so wie es wahrscheinlich gedacht war. Darauf muss man erst mal kommen...:p

mediew ·

Nun ist allerdings noch eine Frage/Problem aufgetaucht.

Mit dem Beispiel von oben (was sich nach dem t3n-Artikel richtet), ist es leider nicht möglich den Linktext inline zu editieren. Jedes mal wenn man zum Bearbeiten in den Textbereich klickt, wird der Link ausgeführt.

Gibt es hierfür eine Standardlösung?

Ich habe jetzt nur eine Art Notlösung, wo ich den Text ebenfalls im Inspector bearbeiten kann.