3 Probleme bei einen Neos Anfänger


(Matthias Pufke) #1

Hallo, ich arbeite mich gerade in Neos ein und finde hierzu keine Lösungen:

  • Google Structured Data einfügen
  • E-Mail Verschleierung (also E-Mail Adressen im Frontend Quelltext verschleiern)
  • Integration einer EU Cookie Law Police

Ich komme aus dem Joomla Lager - da war das in meinen Augen recht einfach - wo finde ich zu den drei Punkten eine Lösung oder zumindest einen Tipp für einen Lösungsansatz …

Danke vorab für eure Unterstützung!


(Bastian Waidelich) #2

Hallo Matthias,

hast Du mal in den Neos Packages gesucht? Da scheint es zumindest für 2 Deiner Anforderungen schon was zu geben. Ansonsten ist Flow und Neos darauf ausgelegt, dass Du die Funktionsweise selbst beeinflussen kannst. Das ist meist gar nicht so aufwändig und natürlich flexibler als eine vorgefertigte Lösung.

Da gibt es beispielsweise https://www.neos.io/download-and-extend/packages/networkteam/networkteam-neos-mailobfuscator.html

Ebenfalls ungetestet aber https://www.neos.io/download-and-extend/packages/diu/diu-cookiebar.html könnte was sein (oder zumindest einen Ansatz für eine eigene Implementierung darstellen)


(Matthias Pufke) #3

Hallo Bastian - vielen Dank. Nein, habe ich nicht - die Packages hatte ich auch noch nicht entdeckt.
Das hat mir schon mal sehr gut geholfen!


(Peter Rauber) #4

Hoi Matthias

Für strukturierte Daten (wir nutzen jsonLD bzw. Schema.org) habe ich mir ein Fusion-Object gebaut:

prototype(Internezzo.Neos:JsonLD) < prototype(Neos.Fusion:RawArray) {
    @process.tagWrap {
        expression = ${String.length(value) > 0 ? '<script type="application/ld+json">' + value + ' </script>' : ''}
        @position = 'end'
    }
    @process.makeJson = ${Array.length(value) > 0 ? Json.stringify(value) : ''}
}

Das ganze nutze ich dann z.B. beim Rendern von Content-Nodes:

jsonLD = Internezzo.Neos:JsonLD {
        '@context' = 'http://schema.org'
        '@type' = 'LocalBusiness'
        'name' = ${q(node).property('name')}
        'address' = Neos.Fusion:RawArray {
            '@type' = 'PostalAddress'
            'addressLocality' = ${q(node).property('locality')}
            'postalCode' = ${q(node).property('postalcode')}
            'streetAddress' = ${q(node).property('street')}

        }
        'telephone' = Neos.Fusion:Case {
            phone {
                condition = ${q(node).find('contactMethods').children('[instanceof Internezzo.Neos:ContactMethodPhone]').count() > 0}
                renderer = ${q(node).find('contactMethods').children('[instanceof Internezzo.Neos:ContactMethodPhone]').first().property('number')}
            }
        }
        'faxNumber' = Neos.Fusion:Case {
            phone {
                condition = ${q(node).find('contactMethods').children('[instanceof Internezzo.Neos:ContactMethodFax]').count() > 0}
                renderer = ${q(node).find('contactMethods').children('[instanceof Internezzo.Neos:ContactMethodFax]').first().property('number')}
            }
        }
        'email' = Neos.Fusion:Case {
            phone {
                condition = ${q(node).find('contactMethods').children('[instanceof Internezzo.Neos:ContactMethodMail]').count() > 0}
                renderer = ${q(node).find('contactMethods').children('[instanceof Internezzo.Neos:ContactMethodMail]').first().property('address')}
            }
        }
    }

Vielleicht kann dir dies als Inspiration dienen.

Grüsse,
Peter


(Matthias Pufke) #5

Hi Peter, schema.org ist genau das was ich meine/suche. Ich werde mal schauen ob ich damit klar komme. Mir fehlen einfach ein paar Neos Basics - die Luft um Neos ist einfach ein wenig dünn was Infos angeht.