I would recommend Processwire. Although it is little known compared to big one's like WP, Drupal etc it's capabilities ,flexibility and ease of use and develop blew my mind. Multilanguage, which is a pain most of the times, was a breeze with it. https://processwire.com/
Give ProcessWire a try.
There is no default content type (like blog posts and pages in WP).
You have pages, templates and fields.
You create the needed fields (text, file, date, relation etc), you create a template, assign fields to the template, create a page and choose a template for the page, now you have your custom content type.
All of this can be done through the admin interface.
There is nothing on the frontend, that is left to you.
I like https://processwire.com/ you can self-host this php CMS, click together fields for your datamodels and it also has a GraphQL module, meaning you probably can use it without touching php and just query for the data e.g. with Svelte. Great multilanguage support, too.
Hi,
The suggestions you'll most likely receive are:
Also selectors are amazing.
Find all movies with template movie and field name starting with avengers:
$movies = $pages->find("template=movie, name^=avengers");
ProcessWire CMS. It is the most flexible and dev oriented CMS I have ever seen. It has also probably the simplest Backend Interface you have ever seen. It also has a very strong and intuitive API. The CMS itself is build with PHP. It also has a very strong community behind it.
​
I advise you to take a look at it. It will be worth it.
I’m a big fan of ProcessWire. Fast, free and flexible with a powerful and easy API. It focuses on custom templates with custom fields out of the box. The community is active and it has been growing and supported consistently for several years now.
ProcessWire. It's a fantasticly powerful underrated cms. It's focused around making it stupidly easy to have different content types for pages. For example you can quickly generate:
A gallery page with a fixed or infinite number of image slots, with automatic resizing to your specified size.
A product catalogue with varying details about each product.
A real estate site with segemented details about properties
Basically it's got an admin field and template builder where you can go into insane levels of details (e.g specifying how the fields are displayed to someone editing a page).
I think Wordpress is perfectly fine for 80% of the web jobs you'll find on Craigslist / locally.
Most small businesses need an online web presence more so than a robust, innovative web application.
These are the sort of clients that won't want to pay monthly for maintenance / content pushes and would rather get their secretary / clerk to updates copy and what not. So for those clients, wordpress is perfectly fine.
As for alternatives, you can look into Craft or ProcessWire.
Of course, these will have their own pros and cons but you'll find a solution that works best for your workflow.
Personally I stick to Wordpress for small businesses / low paying clients and Laravel / ProcessWire CMS.
For exceptionally high paying clients (or normally when I'm contracted with agencies) I use SiteCore or Sitefinity.
I sometimes will use Umbraco, but I try to avoid that at all costs.
Actually we've transitioned most of our CMSy work to ProcessWire. It's both really powerful and flexible yet still really out of the way in a very awesome fashion. The hardest part is understanding how to structure your site, coming from WordPress it'll take a few days to process and start thinking that way but hang in there it's worth it.
In ProcessWire everything is a "page" driven by templates that define what fields are associated to them (think of it as your model) — right down to users, languages, just everything —, and every page can reference any page, so it's conceptually very flexible. (In ProcessWire, you'd typically use pageFields to do category systems and tags systems)
Once you understand that you name templates the same as your files (note that you don't need to have template files for all templates, some can exist purely to store things), and that you call all fields using objects ($page->field or $page->field->property/method) because ProcessWire will load a page object on all pages loaded. There is a lot more to it, but it's really the crux of it if you only need to do simple sites and output content. You'll most definitely also run across PageArray ($pages), used to call other pages with the find() or get() methods.
The skyscrapers example is kind of an advanced example, it's not the easiest to be thrown into at first. I would suggest you go through some of the tutorials, that's how I introduced it to the juniors at work and we've had good success link to tutorials.
The cheatsheet is also really useful (visit the docs page).
Plus the community is very friendly and helpful, make sure to register to the forums!
I may be downvoted to hell for recommending this, but I've actually had pretty good luck with building large sites like this on ExpressionEngine. It's based on the old CodeIgniter framework and has a pretty good collection of third-party add-ons that are well tested.
EE stores pages as templates in the database or you can save them as files. If you want static content you just paste it into the templates, otherwise you can create channels to store one or more content types. Basically think of it as a custom post type in Wordpress. You define all the fields, then make one or more channel entries. You then drop loop code into your templates to output and format those entries. You can mix and match just about anything. For permissions you can create custom groups and define access on a template-by-template basis. Templates can also be saved as versions in the database to easily go back after a screw-up by one of your editors.
I've also heard from fellow devs having good results with the following, but I haven't used them:
Craft (https://buildwithcraft.com/) ProcessWire (https://processwire.com/) Bolt (https://bolt.cm/)
Definitely see what others are using though, and in a crunch you can always roll your own in Laravel.
I've use https://processwire.com/ for a few clients.
​
It is a bit more work to get going but I found it very nice to work with.
​
The thing about Wordpress is that almost anyone can use it, it has a massive ecosystem of out of the box solutions that fit almost any task. It is extremely popular.
​
Being popular is why it gets half the criticism it gets in my opinion.
https://processwire.com/ Is a good choice. It has a jquery oriented API and is also very very flexible in content management. It is also a more developer oriented CMS. You will need to know HTML/CSS and PHP to start a project in Processwire.
I know you almost made your mind, but reset everything that was said before in the comments. These are mostly people that know only one of the sides, and thus, are not entitled to give an informed opinion.
As said by Laxmin, ProcessWire is an amazing CMS. It's greatest power is flexibility, but it's greatest strength is security. I develop in PW for 5 years and never had a site hacked, even when using shared hosting and not updating the CMS for a long time (stable releases simply don't need to be, although it's incredibly easy to do). PW is also extremely simple, despite all the flexibility. As soon as you understand how it works everything just makes sense, and you can develop anything with it without confusing the editors. That's one of the reason why there are few plugins — usually you simply don't need them. And not needing plugins is one of the reasons why it's so damn secure.
The reason why your previous developer took so long was not the CMS for sure. You can create a complete site in few hours if you use a decent HTML template. The reason why your new developer is recommending to start over is because Wordpress probably is all he knows. That's actually the reason why most people are so fast at recommending Wordpress.
You can't force your developer to learn ProcessWire (although it's easy and fast) so you have only two choices: 1. Let him do the work in WP; 2. Head to the ProcessWire forum https://processwire.com/talk/forum/22-jobs/ and post a job offer to the developers there (you'll find lots of talented people).
Neverminded :) Just make sure you know what you're talking about before commenting next time.
If you are really interested in knowing the reasons, they are explained here https://processwire.com/blog/posts/processwires-roadmap-in-2015/#pw-3.0-changes-namespaces
Here it was: https://processwire.com/talk/topic/16136-amigotoday/
What do You think of it?
I was struggling with no friends for some time before schizophrenia kicked in, in that time I was developing that site, unfortunately it's offline now.
I'm surprised there are no replies here amigo :(
I've been using Processwire for several projects as well and I love it. Never touching WordPress again!
Why not head over to https://processwire.com/talk/ and seek help there? It's a great helpful community.
"WordPress has its foundation as a blogging engine. ProcessWire does not. WordPress has a niche in creating blog-oriented websites that are based entirely upon an existing design theme or template (non-original websites). "
https://processwire.com/about/wordpress-vs-processwire/
Sounds like someone doesn't understand how to use WP properly.
This is a good overview. It goes into the difference between the three main types:
https://processwire.com/docs/tutorials/how-to-structure-your-template-files
Para o escopo do seu projeto um site estático é o melhor custo-benefício. Já quando precisares de um CMS acomplado a um banco de dados, para tarefas mais complexas, recomendo o ProcessWire.com. Troquei o WP por ele há alguns anos e minha vida de desenvolvedor (e dos meus clientes) melhorou muito.
I’d say that you should use a platform that uses first-class custom fields and has support for a repeater [matrix] field type. ProcessWire has the repeater field type built in, but the repeater matrix is part of Pro Fields, a commercial module. Bolt has field-type support for its repeaters, which is essentially the same thing as a matrix.
You could use something like https://processwire.com/ as that's a very easy framework to start making dynamic content. It also has a really powerful permissions system which I guess will come in handy.
Take a look at ProcessWire; it's a lot more straightforward than WordPress -- you can write the front-end templates in just normal HTML/CSS/JS and then add a bit of PHP for the dynamic parts. And yes you can learn it in a day if you're familiar with basic PHP
I personally really like ProcessWire and Craft.
These days I'm mostly a PHP (using frameworks or plain custom) and Go dev though, if that gives a better idea where I'm coming from. Both CMS never disappointed me.
In terms of open source / free CMS's, your best bet is probably Processwire. One of its main "things" is 100% clean templates that have nothing from the CMS itself (only what you as the developer put there).
I believe the reason that WordPress is such a popular platform is the endless ocean of templates. Over 5,900 shown on ThemeForest. Prices range from pretty low to ridiculously high! Even if you search other sites, you'll come across a vast overwhelming choice of templates to choose from.
There are many great things about ProcessWire. One of them being that any template or layout can be achieved. This is quite opposite from WordPress, where you can install a theme/template with a click of a button (so I have read - I don't know, never used the damn thing). ProcessWire does not have a simple way to install a template, because the 'system' does not confine you to anything, the way WordPress, Joomla, or Drupal. Any type of website or webapp can be build. Every single field IS a custom field, by its very design. LOTS can be accomplished before even considering the use of a module even.
YOU MUST know HTML and CSS well enough to build your own template OR you can just use any existing HTML template and simple just insert the required PHP syntax to populate your data!!!
This little snippet is enough to get started <?php echo $page->field_name; ?>
field_name
could be the title of the page, a header, a paragraph, or anything you created!
But what if I don't know how to code?
PLUS I have found that the forums are a bunch of friendly guys and girls. Asking for help is always met with courtesy and directness, no one being rude and telling you to Search or Go Google It! lol
I see you asked this question already in the PW forum. That's really the place where you'll have the best help. I saw that you didn't get an answer for one day, and started a new thread. That's not going to help you, since it spreads the information. The link that was provided there is a good place to start https://processwire.com/talk/topic/3105-create-pages-with-file-upload-field-via-api/ , make sure you go though it and post your doubts.
If you really like (and you should) ability to have true custom fields reverse the letters in this blogging platform and you will be amazed at the PW framework.
Nothing bad on WP, it is great for what it does but coming from Laravel you will enjoy backend freedom & simplicity of ProcessWire that much more.
All the best.
Take a look at ProcessWire.
It's really flexible and powerful. Take a look at their skyscrapers example site to give you an idea of what can be achieved with it.
Pretty powerful stuff.
Yay, logged in! Seems like I did have a reddit account :)
I could teach you how to do it here, but if you ask this at the PW forums you'll have a bunch of helpful people giving you many great answers. Give it a try https://processwire.com/talk/
--
Anyway, here is a teaser:
$p = new Page(); // create a new page $p->template = 'page'; // choose template $p->parent = wire('pages')->get('/parentpage/'); // choose parent page $p->title = $sanitizer->text($input->get->title); // clean user input and set title $p->a_field = $sanitizer->text($input->get->field); // clean user input and set a custom field $p->save(); // save the page
I know of many developers who successfully use ProcessWire CMS/CMF to build sites like this. I'm still quite new with it, have built a few sites, but I know it's quite possible with ProcsssWire.
They have a very active forum, fast replies from friendly people there.
They have a forum section for Jobs if you'd like to take a stab at it!?
I really think Provess Wire needs to be mentioned more.
Super flexible and powerful. Easy to learn, great community and documentation.
Just go and see their demo site to get an idea how good it is.
I can really recommend ProcessWire. It's a super-easy CMS that works with templates and fields. Users and roles are made up out of a 'template' too and you can assign any new field to a template.
Using templates in the front-end is easy too, for example: each template has a default field named 'title'. Aside from that, you could add your own field like 'content' and allow the user to enter that specific text. Then, in the template file, e.g. page.php, you'd do something like this:
<!DOCTYPE html> <html> <head> <title><?= $page->title; ?></title> </head> <body> <h1><?= $page->title; ?></h1> <div><?= $page->content; ?></div> </body> </html>
As you can see - it's super easy and you only need basic PHP (e.g. echoing of strings and some basic if/else statements perhaps) to use it.
Edit: This page from ProcessWire itself describes why to use ProcessWire - they profile themselves as a CMS that is extremely useful for anyone from designer to programmer alike.
Nope. not at all.
https://processwire.com/api/variables/fields/
You can have as many fields as you want, or as few. The default 'title' field is always present. I always add one for Body, Summary, BodyContent and maybe an image or two.
You can then echo any of those fields from any Page into any Template.
The most complex I have ever gotten was creating some field with values that would adjust the layout. So my template would just echo a value for the width (number of columns). At the time I was using Foundation, but just the CSS, as I am still learning SASS.
It was more for proof of theory, as I had removed most of the grid layout from my template and put it in my fields.
It got a little complex, but it was neat. I could change the layout without touching the Template.