A base package for Neos CMS projects
, (*1)
⚠️ NOTE, (*2)
This package is not being further developed anymore as most features have been replaced over the years with Neos core functionality.
You can still copy parts you might need, but it's not recommended to be installed anymore., (*3)
Description
This package works as starting point for Neos CMS projects.
It provides good defaults needed in many projects and can be combined
with other packages to quickly setup a new website., (*4)
Features
NodeTypes
Shel.NeosBase:MetaMenuMixin
can be added as super type
to Neos.Neos:Document
to mark pages to be shown with
the Shel.NeosBase:MetaMenu
ts object.
For example in a site footer., (*5)
RootPage
Shel.NeosBase:RootPage
is a good starting point for a website which
can have additional properties for the whole website.
Change the type of your root node to this to use it., (*6)
You should add the following constraint to your document types to
only allow the RootPage
as site root and adapt it to your nodenames:, (*7)
"My.Package:MyDocumentType":
constraints:
nodeTypes:
"Shel.NeosBase:RootPage": false
-
Shel.NeosBase:Honeypot
is a hidden form element which catches spam bots.
Viewhelpers
-
EmbedViewHelper
allows to embed file content via fluid, for example svg files.
-
FlattenViewHelper
renders an two-dimensional array as simple string for sending form data via mail.
-
TagViewHelper
renders a tag with defined attributes. Instead of writing something like this in your node templates <div{attributes ->f:format.raw()}>
you can now write <snb:tag attributes="{attributes}" tag="div">
To use them, add the following to your fluid template:, (*8)
{namespace snb=Shel\NeosBase\ViewHelpers}
Or when you want autocompletion add instead the following to the
beginning of your template:, (*9)
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:snb="https://xsd.helzle.it/ns/Shel/NeosBase/ViewHelpers">
Afterwards alt-click on the schema url and tell PhpStorm to fetch the schema from the external resource., (*10)
Fluid viewhelper schemas
For autocompletion you can add the viewhelper schema to PhpStorm.
The schema is in the package folder at Documentation/Schema.xsd
., (*11)
To rebuild the Fluid viewhelper schema for this package run this:, (*12)
./flow documentation:generatexsd --phpNamespace "Shel\NeosBase\ViewHelpers" --targetFile Packages/Plugins/Shel.NeosBase/Documentation/Schema.xsd --xsdNamespace "https://helzle.it/ns/Shel/NeosBase/ViewHelpers"
Validators
-
IsEmptyValidator
- for the included HoneyPot form element.
Enhanced TypoScript for page rendering
Page rendering
This package uses the alternative page rendering described in the Neos documentation.
The basic prototype to extend from is Shel.NeosBase:DefaultPage
.
Read the Neos documentation about how to add your own page layouts., (*13)
Additional html head parts
Adds additional configurable meta tags in the page header (f.e. css, author, ie compatibility, viewport, favicon, etc...).
See the prototype Shel.NeosBase:DefaultPage
for details., (*14)
Additional html body parts
Also included is a configurable live reload script when you are developing your stylesheets.
See Settings.yaml
for the configuration., (*15)
To easily include your javascript bundle see the ts path body.javascripts.bundle
., (*16)
TypoScript objects
-
Shel.NeosBase:Navigation
is a menu to be used for the main site navigation
-
Shel.NeosBase:MetaMenu
is a menu which renders all documents marked with the Show in meta menu
property, provided by the Shel.NeosBase:MetaMenuMixin
.
-
Shel.NeosBase:SiteLogo
is a configurable helper to render the site logo including the link to the homepage.
-
Shel.NeosBase:LinkTag
, Shel.NeosBase:ScriptTag
, Shel.NeosBase:MetaTag
, Shel.NeosBase:StyleSheetTag
make it easier to add custom tags to document.
-
Shel.NeosBase:Debug
is a fusion helper to output a fusion value to the browser console.