With Drupal I can create custom content types and fields and have content reference each other and display information about each other on the content page. For example a content type of Album and another content type of Song. I could create content called Billie Jean and it would have an Album field that would allow me to attach it to the Thriller Album content. Then looking at the BIllie Jean content I could have a block that shows the Thriller Album with all its attached songs. And Clicking the Album it would automaticically show reference to Billie Jean. Is this possible/farily easy with GRAV? I’m looking at Drupal alts because of the backend pita care and feeding it requires and stability concerns long term. Thanks
Hello @burgerwhore, welcome to the Grav forum.
First of all I’m not very familiar with Drupal but since your question remained unanswered here are my two cents.
What you require can be done in Grav. The different standard and custom page types in Grav are actually content types. Each page has a so called page header or frontmatter with a kind of metadata of that page. You can use that frontmatter data in the templating engine Grav uses: Twig.
The documentation has a section about Content Types but that’s more about the returned http content type. See for an explanation about content types as data objects this issue (from 2015!) Does Grav have custom content types? Grav also supports a taxonomy.
Just begin reading the Grav documentation and start experimenting. Of course as with all CMSses there’s a learning curve but most people find Grav fun to learn and relatively easy to create a site with.
If you want to build custom functionality, then you can go for Grav.
Grav is entirely flexible in regards to custom content types. You can create whatever you like.
Every page in Grav is represented by a template that defines how that is output. So a Page can be a blog list, a blog item, a contact page, a standard page, whatever you decide your site needs.
Each page is a markdown file (
.md ) with a YAML frontmatter section at the top. This frontmatter defines the standard page headers, plus you can put in custom stuff (or post types if you use the WordPress naming). There are no restrictions or limits on this other than that they should be valid YAML.
Because this is unstructured by default, you would have to use the same structure in like pages. If you use the admin panel, you can create a blueprint (see Antimatter theme’s
blueprints/ folder, for examples). These are again YAML files that define fields so they can be rendered as forms. These files represent the whole of the admin, and you can see many other examples in
You can go for wordpress too - The most excellent CMS of all time.
If you want to work with Laravel, then check out: OctoberCMS.
All these CMS have better SEO support very well.
I hope this helps!!