Overwrite or change Neos-Default-NodeType Definition?

Hey,

  • is it possible to overwrite a particular attribute from an Neos-Default-Node-Definition?

In specific, it is my intention, to write more than 156 characters in the SEO-Description in inspector. Because, Google/other SearchEngines not count characters, they are looking on pixel. Because of them I can use 5 characters more. And this 5 charachters are really important :rage: (IMHO) :relaxed::wink:


Could I overwrite the part in

#/Packages/Application/TYPO3.Neos.Seo/Configuration/NodeTypes.Mixins.yaml
'TYPO3.Neos.Seo:SeoMetaTagsMixin':
  abstract: TRUE  
  properties:
    metaDescription:
      type: string
      ui:       
          editorOptions:
            placeholder: 'max. 156 characters'
      validation:
        'TYPO3.Neos/Validation/StringLengthValidator':
          maximum: 156

with maxium: 163 somewhere in my Vendor:Site area. So updates would not influence this definition?
This would be the best solution!
Is there a working solution to overwite in such manner? Would be great, if someone would show me a way to do this, or to the docu which treats this.


  • Or is there the possibility to «soften» the validation from the own Vendor:Site-area. Show the hint, but nerverless could «apply» the SEO-Description with more than exact 156 chars?

This would be also a desirable solution!


  • Or do I have to write an own definition like in the Configuration «NodeTypes.yaml» but with own declarated SeoMetaTagsMixin like:
# /Packages/Application/TYPO3.Neos.Seo/Configuration/NodeTypes.yaml

#
# Add mixins; and a SEO tab to the inspector
#
'TYPO3.Neos:Document':
  superTypes:
    'TYPO3.Neos.Seo:TitleTagMixin': TRUE
    'TYPO3.Neos.Seo:SeoMetaTagsMixin': FALSE
    'Vendor.Site:OwnSeoMetaTagsMixin': TRUE        
    'TYPO3.Neos.Seo:TwitterCardMixin': TRUE
    'TYPO3.Neos.Seo:CanonicalLinkMixin': TRUE
    'TYPO3.Neos.Seo:OpenGraphMixin': TRUE
    'TYPO3.Neos.Seo:XmlSitemapMixin': TRUE
  ui:
    inspector:
      tabs:
        seo:
          label: 'TYPO3.Neos.Seo:NodeTypes.Document:tabs.seo'
          position: 30
          icon: 'icon-bullseye'

Not the ideal Solution but would this work?
Nonetheless this would get an error source if updates change something important in the ‘TYPO3.Neos.Seo:SeoMetaTagsMixin’-File, because I would have to write the hole content. And there is mutch more than only the maximum string-length defined.


  • Or knows someone another ingenious solution?
    would be a lot appreciated

You should just be able to do this in your NodeTypes.yaml:

'TYPO3.Neos.Seo:SeoMetaTagsMixin':
  properties:
    metaDescription:
      ui:       
        editorOptions:
          placeholder: 'max. 160 characters'
        validation:
          'TYPO3.Neos/Validation/StringLengthValidator':
            maximum: 160

Maybe we have to drop this Validator, don’t know exactly how we figured out the 156 chars in the first place…

1 Like

Thought, I have to inherit it, with superclass or something else.
Perfect and much more easy to use: Thanks!

The completeness owed:
There have to be the «inspector» line too; Otherwise it does not work. (try and error):

'TYPO3.Neos.Seo:SeoMetaTagsMixin':
  properties:
    metaDescription:
      ui:
        inspector:
          editorOptions:
            placeholder: 'max. 165 characters'
      validation: 'TYPO3.Neos/Validation/StringLengthValidator':
          maximum: 165