How to build a new PageLayout?

Hi,

for a beginners, the NEOS documentation is more than opaque and meaningless.

I’ve been trying to create my own page layout for several hours and just can’t do it.

Is there possibly a step-by-step guide for beginners who do not have a Fusion / Flow degree?

I would like to have an introduction where I can understand the simple connections.

Is there such a possibility?

Thanks in advance.

1 Like

Hi,

for me your post is also somewhat opaque.
It helps others to answer questions when more information is provided than a complaint and written frustration.

I assume you already went through everything on https://docs.neos.io/cms/building-your-first-website and did some searching.

So my usual first question: what are you actually trying to do?

A new page nodetype with its own layout?
A new layout variant for the same page type?
What is the exact problem you have?
How for did you come?
Are there errors or stuff is just not happening?
Do you have a code example we can look at?

Best,
Sebastian

Hi Sabastian,

ok yes, sorry, i am frustrated, you´re right :slight_smile:
Currently I’m also learning View-JS and Laravel and they do have really good documentations.
But the NEOS-Doks are really not made for NESO-beginners. The videos also not.

I have a fresh installation of NEOS with the with Qode Q NEOS-skeleton.
I’ve installed it like shown in the Video: https://docs.neos.io/cms/building-your-first-website/local-setup

So i played alot around and watched a bunch of videos, but I don’t understand a lot of shown things there. And it´s hard for me to explain my siuation in english at this point.

As I understood, I try to add a new page nodeType.
And NOW, I’m a big step further and it seems to work now:

So The document-part is done, as I can see.
The next step is to define the layout for this page.
What general steps I have to do for that?

My plan is to add a file
/Resource/Private/Fusion/Document/Page/BacherStandardPage.fusion

After that I trie to define some fusion-files for page-parts.

KR D.

The most confusing Thing for me was at first the 3 page-nodeTypes

grafik

Why are they defined and what exactly are they doing?
And the the other 3 document-nodeTypes…

grafik

How do they work together with the other 3 and why?
I watched a bunch of “understand rendering”-videos.
But these increased my confuseness. :slight_smile:

Ah ok. Great that you made some progress.

It’s a lot of stuff for beginners I know. I do coaching/training for individuals and teams and initially they always struggle a bit, but after a few sessions they all really appreciate what Neos has to offer in those regards.

As our best practises are “alive” some of the docs and videos are already “old” and don’t reflect anymore what you might encounter in the code.

So the “constraints” are there to define what editors can later add to certain areas.

For example the generic page could have as childNode constraint something like “Constraint.Document.Page”.
And the same or other pages types now inherit from “Constraint.Document.Page”.
Now an editor can add those pagetypes as subpages to the generic page.

The same works for content etc. So this way the concept what nodetypes are allowed where is much more flexible and easier to maintain than how we did it in the past where you had to define each and every nodetype in the childnode constraint.

For that to work those “constraint” nodetypes don’t need anything besides being marked as “abstract”.

The abstract page type is meant to be inherited by other page types but also provides its own rendering that the other types can inherit from in Fusion. That makes it different from a mixin which doesn’t provide its own rendering in Fusion. So more or less a naming convention.

So in the HomePage you should see that in inherits from AbstractPage and probably one of the constraints (I never looked at the Skeleton distribution in detail).

Hope that already helps a bit.

Btw. you can also ask questions in German in the D-A-CH Slack channel or here in the matching category if that’s easier for you.

Me and others also provide (paid) training. That probably would speed things up a bit initially.
I’m currently collecting the most common topics/questions in my trainings to create some new documentation & videos as soon as private and project pressure allows again.