I would suggest you give OctoberCMS a look. It's built on top of Laravel, and it's easy to tap into the underlying framework wherever you need(just clone/inspect the repo and you'll see a very familiar directory structure). I just built an expense management system for a large trade group within it and I would definitely choose it again. The backend is very polished and user-friendly.
I have to agree with what others have said about building your own CMS from scratch in principle, but I don't know your budget/time constraints/team size/familiarity with laravel/php in general so I can't say definitively that it would be a bad move. But I think there are some strong arguments against going that route even if your client does have deep pockets and a forgiving temperament.
For example, keep in mind that the bigger, established CMSs have already solved all of the nitty-gritty frustrating wrinkles you're going to run into with large scale content management. Another consideration is that if you're going to have to maintain this thing in the future you may inadvertently build yourself into a corner such that implementing some feature the client wants is a huge pain. To that effect, October has a very robust plugin system that you can use to your advantage there(I'm sure other CMSs are the same). Getting wordpress plugins to play nicely with Laravel(without committing heresy and modifying third-party code) might be a huge headache. So, just some considerations to take into account.
While Godot can do a lot of things, I believe it would be better to use a Web framework for this purpose (or even a ready-made CMS such as October, which is the one we currently use for the Godot website).
Some feedback: Please compare with a modern CMS, pretty sure it can tick all the same boxes. Minimum PHP version, is this a self imposed limitation for the sake of security? Seems a bit backward. Also code footprint? This only matters if the features are the same, more features requires more code.
I used https://backpackforlaravel.com/ for a project in the past.
https://octobercms.com/ is the most popular CMS for Laravel I think
https://nova.laravel.com/ is really slick, I tried it for a CMS project and sorta had to hack it to get what I wanted, but for crud management of models it is really nice
You can call this method from your frontend using the AJAX framework: https://octobercms.com/docs/ajax/introduction
For example:
<form data-request="onCheckEmail"> <input name="email" value=""> <button type="submit"> <div id="result"></div> <!-- see next example --> </form>
Instead of returning a JSON response, you can also return a rendered partial, which makes updating the frontend easier:
public function onCheckEmail() { $user = Auth::findUserByLogin(post('email')); $partial = $user ? 'taken' : 'available';
return ['#result' => $this->renderParial('yourComponentName::' . $partial . '.htm')]; }
Now you can simply create a taken.htm
and available.htm
partial in your component folder with the appropriate markup.
I'm holding out hope that the next version of PyroCMS will be on point. It looks good so far, but I can't consider it for production until the documentation is completed and the forums have a bit more action. Previously CodeIgniter based, the 3.* branch runs on Laravel and it looks like the latest update for Pyro already runs on Laravel 5.3.
OctoberCMS is targeted towards developers and is not necessarily geared toward being simple for an average content creator by default. However, you can get it there. It's Laravel based as has been mentioned.
BoltCMS is Symfony based and gets a lot of love around here.
I'd say those those three would be the first ones I'd look at as far as "a CMS that's powered by clean, well structured PHP". It shouldn't take too long to get all three up and running with the default setup and try them out. Then take a look at the code and the database structure to see what's up.
If you are using good IDE and development setup, you should be able to browse through the code pretty quickly and see how clean and well structured the code is.
If you're at absolute beginner stage on PHP and PHP CMSs, but experienced with development, I'd strongly recommend looking at OctoberCMS instead. October is built on Laravel - which is the most popular framework for PHP so much of what you learn is transferable and the code is a lot cleaner than WordPress. WordPress does it's own thing and of course has a massive ecosystem, but in modern development terms is far behind October
I deploy WordPress myself for clients and it certainly has it place - great for getting a website up and running quickly - and October is a minnow by comparison. But you'll have a lot more fun and potential with October.
https://leaderinternet.com/blog/october-cms-vs-wordpress
​
This is the typical response someone gives to October comments that didn't bother learning the priciples behind it.
Yes, it's a CMS for developers. It's your job to build the interface, database and logic that powers the website. October enables you to do this with a powerful Laravel base and many tools like backend forms and built in user management.
You as a developer build the technical stuff and then present it in a simpler form to the customer.
Unlike Wordpress you'll never have to hide features a user shouldn't see or shouldn't care about. In October everyhting is opt-in, so you build those three forms a customer usually needs to edit her page and that's it.
Check out the builder plugin for example: https://octobercms.com/plugin/rainlab-builder
It enables you to scaffold a complete plugin with controllers, models, permissions and multiple languages in minutes.
I personally run over 100 projects on October and every single customer loves it!
There are optional "framework extras" that you can include to get a simple but powerful jQuery based framework.
Or you can include your own framework as you would with any other laravel (or other web framework).
You should be using tools / libraries that promote rapid application development (RAD) rather then a predefined CMS.
Why?
RAD libraries are generic / non-specific they are designed to be implemented in many different ways (depending on what the project requirements are).
In contrast CMS framework developers already had a use-case in mind when they created it (for example wordpress = blogging, magento = ecommerce, Drupal = corporate forum with focus on scale, etc).
It should also be noted that if you look for RAD libraries other people may have gone off and developed a CMS (specific custom implementation) using it as a dependency. For example OctoberCMS is based on Laravel.
Before all of that you need to refine your workflow, not using git is a humongous problem, even if you have to stoop to using a GUI for it instead of the console (way better), it'd be better then nothing.
Bolt.cm is what I wish WordPress was. Also OctoberCMS but that's not very user friendly right now, still got a lot of cool ideas though and even a killer feature for building reusable plugins very quickly.
Inside of work we make bespoke business applications rather than content-oriented websites so we tend to favour lighter admin panels based on popular frameworks such as Laravel or .NET MVC.
If you're looking for something in PHP that's very much "batteries included" similar to Django, check out OctoberCMS. Don't let the name fool you. It has some built-in CMS elements but it's extremely developer oriented. It's more of a framework built on top of a framework (Laravel).
It's fairly new so there isn't as much out there for it in terms of plugins but the list is respectable: https://octobercms.com/plugins
I have a hard time thinking of October as a traditional CMS. It's more of a development framework for developers. There is no intention in its default state of being user friendly for content creators/editors.
I'm not saying anything negative about their direction or philosophy. However, a replacement CMS for Wordpress or Drupal it is not.
This forum post was an interesting read regarding this.
WordPress is a gigantic security concern. Hell, take a look at this, a way to get root access to a server from an insecure WordPress install. The only way to reasonably stay secure with WordPress is to use the most up to date version, as vulnerbilities are found all the time. And using the most current version means that you're limited in what plugins you can use, which is generally the main reason people use WordPress. Basically, WordPress suffers the classic PHP security problem but at a larger scale. If you do it right it's completely fine, but it's so easy to do it wrong.
If you want some half-blend of learning and immediately functional, I recommend OctoberCMS. I haven't used it, but it's a fully-fledged CMS that uses Laravel and is intended for you to jump in and change things.
I've been trying out OctoberCMS lately. It's relatively new and thus lacking in some of the plugins that you can find with things like WordPress and Drupal, but it's a nice system. They are moving to a release client at the end of this month.
Looks like a less interesting version of Ripple.com. Ripple's website always reminded me of a Wordpress template.
I think it needs to be more human (less professional), more aligned with what OpenBazaar is (community driven). Some examples:
I'm a really big fan of OctoberCMS. I find editing content via the backend isn't painful like other CMS's. ( I'm looking at you Wordpress / Joomla )
From a non-tech savvy point of view, the simplicity should hit home immediately. For a developer, just wait til you see how easy it is to make plugins. ;)
clients who want to be able to design their own"
I think with this i see already issue, they want you to make website that they can change?
For OctoberCMS i created this simple frontend editor that allows you to define what client can edit https://octobercms.com/plugin/samuell-contenteditor
You get a whole admin backend with a form builder, multi-language support and user and rights management out of the box. Check out the builder plugin to see it in action. Managing data and relations between models is baked into the backend (like Laravel Nova, but way more powerful). By using frontend components and the included ajax framework you can build everything from simple web sites to full blown webapps literally in minutes. The ajax framework works kind of like livewire (it loads server rendered html responses dynamically) but has been around and tested for many years. The result feels like an SPA but all of the ligic lives in php. Oh and since Laravel is mostly abstracted (but still available if needed) a Laravel update is literally just a single click.
I have yet to find a tool that makes me more productive.
Everything you see by default is only meant for you (the dev). It is your job to make the content editable by the customer.
Do this by installing existing plugins (like RainLab.Pages) or create your own plugins (use RainLab.Builder to bootstrap the base functionality very quickly). For example, if there is a "Team" page, you could create a custom Team plugin, where the end-user can simply add and remove a person. You will then implement a Component that generates the output on the frontend.
Your customer only has to login, choose "Team" from the main menu and then make the changes.
October's concept is to show as little as possible to the end-user. This makes the CMS very user friendly, because a user will never be overwhelmed by features he doesn't need.
October CMS could be a good fit for you, clients don't have to edit HTML (the CMS section is actually meant for developers, the RainLab.Pages plugin from the core developers is what clients should be given access to).
There are some page-builder like theme bases out there: https://octobercms.com/theme/ketikidis-clear, so it could fit quite well with your requirements.
The only difference is that October uses Twig as a templating language, not Blade. Twig is very easy to learn however, and anything you can do in Laravel / Blade you can do in October.
Thanks man! I really appreciate it.
I get the responsiveness and accessibility things, you may have noticed I mentioned I'm not much of a front-end guy, so the feedback is appreciated.
Thanks for the follows by the way :) I try to reciprocate whenever I can, as you said, it's hard.
I purposely hid the uses page away as for now the site gets a lot of traffic from my facebook friends who'll probably click a link or two but not dig deep enough to find it. I don't like to flaunt what I have but I wanted to get myself into the awesome-uses list on github.
The header is the same for now, until I create the partials for different headers. It's kind of an ongoing thing as opposed to a finished project.
I'll do a dive into some of my old code for sure if that's what you're interested in! (I had to delete a certain Gist, sorry about that.)
The login message was a mistake which I wasn't supposed to leave in, but nearly spat my tea out when I went to log in so I left it in. It reminds me of Monty Python.
My admin panel looks kind of like this.
Because it is OctoberCMS. I make silly little projects all the time and found OctoberCMS in my browsing. I ended up enjoying it so much I'm now trying to come up with new projects just to use it in.
(Speaking of which I think I just thought of a plugin to make for it...)
Thanks for reading and following, man. Like I said I really appreciate it.
I can highly recommend the Mall plugin for October CMS. A very easy yet powerful e-commerce plugin. October is based on Laravel so you get all of the underlying goodness!
He just answered your question. It's just a lot more complicated than you thought it would be.
The simple answer is just to install an existing CMS framework and customize it. Although you'll probably want one that's easy to incorporate what you've already done. And for that you'll want a headless CMS and learn how to use it's API unless you're familiar with a templating engine to an existing framework. Otherwise just install a CMS and rebuild it.
This will be complicated, but look into https://www.keystonejs.com/ as a challenging solution. It'll require you to dive into NPM/Node JS/MongoDB which are javascript-based server-side technologies that are quite popular right now. Alternatively, look into https://octobercms.com/ which is a framework based on the laravel php framework
Well, you've got everything that Laravel offers available, but you've also got user management, permissions, multi-lang and an admin panel out-of-the box as well as built in CMS features.
With plugins like RainLab.Builder you can scaffold new features in just a few minutes.
October isn't a CMS like WordPress, it really shines if you develop feature rich web apps.
I am not really sure what you mean when you say whether you "only need a CMS or whether the CMS is part of a larger project/web app"? I have a Laravel built website, and basically need an admin to manage the CRUD of all my models. But some of the models (Post, Event, Business) have content fields that require a rich text box with advanced features like image positioning/resizing, galleries, etc. I would also like to have auto-save and revisions for these models.
Hmm I have never heard of October. But my thoughts after taking a first glance are not great.
Right off the bat why in god's name would I want two templating systems in my project? It uses Twig in a Laravel based CMS!? And then I don't even want to know what these abominations theme-ish files are. They have a php class...sandwiched in-between a twig template, and a set of config or vars on top, separated by "==" ? Very bizarre.
I am not really sure what you mean when you say whether you "only need a CMS or whether the CMS is part of a larger project/web app"? I have a Laravel built website, and basically need an admin to manage the CRUD of all my models. But some of the models (Post, Event, Business) have content fields that require a rich text box with advanced features like image positioning/resizing, galleries, etc. I would also like to have auto-save and revisions for these models.
Hmm I have never heard of October. But my thoughts after taking a first glance are not great.
Right off the bat why in god's name would I want two templating systems in my project? It uses Twig in a Laravel based CMS!? And then I don't even want to know what these abominations theme-ish files are! https://octobercms.com/docs/cms/pages. They have a php class...sandwiched in-between a twig template, and a set of config or vars on top, separated by "==" ? Very bizarre.
OctoberCMS is a free, open-source, self-hosted CMS platform based on the Laravel PHP Framework.
With what appears to be an ethical, passion project it is proving to be a dark-horse competitor for CMS giants Wordpress and Joomla.
OctoberCMS was the CMS Critic Awards "Best Flat File CMS" winner in 2018.
Is the "adult" page a regular file in /ministries subdirectory or is /ministries a controler with 'adult' a value of page parameter (like a :page_id, or :slug etc.)? Have a look at this piece of documentation, it might be helpful https://octobercms.com/docs/markup/filter-page, see the diference between links to pages in subdirectories and links to generated pages via Reverse routing.
We build all sorts of sites for a lot of different clients. We typically either build the site in Wordpress (I know I know..), develop a custom admin panel if it's built in Laravel, or (now that it's available) we've used Nova on a few projects.
Sorry that's a garbage answer. I've tried a few of the other Laravel based CMS systems out there I just never did enjoy using them from a development perspective. Their admin panels looked considerably more user friendly though.
I hope that helps! Thanks for the kind words.
Like some already said here a good fitting CMS system strongly depends on the specific use case you or your client has. But to mention another system let me just throw in October. I recently got in contact with it on a bigger news site I also do some web-work for and I have to say this thing is really versatile and - as soon you get familiar with the engine - is also very extendable.
I was working with WordPress and Joomla for years.. I try Octobercms and i really never looked back. For Developer view is super easy to work with it, to make any changes according to clients needs. As for clients view, this CMS is really client friendly because you can customize it to your client needs. For example take a look to this theme https://octobercms.com/theme/ketikidis-octobercms-success It has a Page Builder that is really powerful and easy for everyone. Just give a try to this CMS and see for your self.
I worked with October CMS and it's a good choice for a developer that is looking for an admin-based Laravel site. It's true that it comes with content editor, but this editor is more a code editor than a WYSIWYG. The application structure is great. The "new" thing about OctoberCMS is the components function: https://octobercms.com/docs/cms/components , this is very useful for large applications. If you've worked with twig/blade templating you will love October CMS. You can create plugins/modules and reuse them. There are ready made templates and plugins, so starting a project in OctoberCMS is a smart choice.
Just read documentation about Plugins: https://octobercms.com/docs/plugin/registration
It's really short and after one day you will have your first plugin working.
You can also take a look at my Reservations plugin https://github.com/vojtasvoboda/oc-reservations-plugin It contains a component with frontend form which fills data to backend as you wanted.
If you're into Laravel, you should check out October CMS
From the site:
> October is a free, open-source, self-hosted CMS platform based on the Laravel PHP Framework. A simple and modular CMS that grows with you, with a precise and beautiful interface that comes as second nature.
> I am considering using quasi exclusively Laravel to build my clients' websites. I am fully aware that it is probably overkill and should be using a CMS like Wordpress
Well you could also consider using a CMS which is built on top of :
Also dont forget lumen (laravel lite):
I would first turn to WordPress because it is the most popular open source CMS out there and I have the most experience with it over others (like Drupal or Joomla).
If you didn't want to have to deal with some of the legacy codebase (and/or stick with Laravel), OctoberCMS would be a good fit.
People are saying use PHP but I just wanted to mention you can separate your html in partials in every backend language.
Another way that comes to mind is start using a cms ie. OctoberCMS. It's done in PHP but you don't actually have to touch PHP yourself. You can create partials and import it into your html code.
Third way would be already mentioned AJAX call. Do a request for the html file and dynamically add it to your page.
Short answer: no.
Longer answer: nope.
WordPress is unique in that it gives developers an extremely extensible API to work with and build upon. With so many other CMS's, you have to do a lot of the legwork yourself.
That said, the closest thing I can think of is probably October CMS. Here's a link to some documentation regarding their backend form fields.
https://octobercms.com/docs/backend/forms
They have a repeater field type that can contain other fields, but it seems like it has some bugs (doesn't work with file uploads?). However, all of the logic to save that data needs to be written by you, the developer, albeit with some helper classes provided by October.
Drupal has something called Field Collections that I think is similar, but also requires a fair amount of code just to get it off the ground. Depending on how big your site is and how many custom content types you have, that could be a lot of manual code writing with some complicated syntax!
My 2¢, experiment with other CMSs for projects that are not centered around large amounts of text content. WordPress is so far ahead of these other platforms when it comes to publishing, you would be better off learning new techniques rather than adopting your WordPress ones.
Build a stats app or something with JS graphs, or a SoundCloud clone, etc.
And I say all this as the mod of this sub, with some bias and love for ACF :)
Try https://octobercms.com/ . It's based on Laravel, so you'll have a complete PHP framework to extend it with, and has a decent content editing system and backend already in place. Seems to be fairly easy to template for as well.
I haven't had the chance to fool with this yet, but one CMS I just used for a simple project, if you are looking for CMS alternatives, is October. It's not going to replace Wordpress or Drupal but I found it faily impressive.
I just spent 3 days teaching 12-15 aged kids to rapidly build web applications using October CMS, a modern PHP platform based on Laravel. The course content was essentially a mixture of this presentation and this presentation. They are very happy campers =)
I don't think you're going to find exactly what you're asking for. Laravel is a framework, whereas Wordpress is a platform. There's a rather huge gap between the two. :)
A framework gives you a set of tools to help you write the code faster and better, while a platform gives you the website in a basic form so you can work on it.
If you're looking for a Laravel-based CMS, I haven't tried it myself but I think October CMS is supposed to be decent.