Hi Craft CMS community

Short background: I am working for over 10 years with CMS and lately was using ProcessWire (and sometimes WordPress). Both are fine and especially ProcessWire is a really cool CMS for all sorts of things. I've built small to large websites, shops, blogs etc. with it.

However, sometimes I feel like the last 10% of awesomeness are missing :-) and some parts doesn't match my needs. That's the only reason looking for something else and Craft looks quite good (knowing there is nothing fitting 100%).

I read the templating docs and those for plugin development. But there are some questions left.

  1. There is no MVC like system, right? Where do I put (separate) code that is not for frontend output? Like on a calendar where a user can filter what needs to be displayed (aka the controller).
  2. I really couldn't figure out how to create an entry (I think this is something like a page in Craft) from the API not the CP?
  3. Do I need to use plugins for all kind of interaction (like gather user data from a form and save it as an entry or somewhere else in the Craft DB)? Or implementing PayPal or using PHPMailer or creating PDF files etc.

I consider using it for first time on my next project. Not a simple corporate website, but with a lot of different challenges how to convert clients ideas into a web-project :-) Do you think Craft has a rather steep learning curve like Magento or is something simple to use as WordPress? Maybe here are ProcessWire user with experience on both CMS.

Thanks for reading :-)

1 Answer 1


While I've got no expierence with ProcessWire, I'm a fairly new Craft user myself, and I have to say, it's been a breeze to work with.

With regards to your questions:

  1. All your separate, custom code goes into a plugin, which has to have a certain structure (can be generated for you at this site). There you can hook into events, make your own controllers for custom actions, ...
  2. Creating an entry from code can be done by working with it's Model/Record classes and saving it.
  3. There's quite some things already in Craft by default, but to handle forms, you'll either have to write your own controller action to capture it, or use a plugin, same goes for using PayPal or creating PDF's. You can also use composer packages with Craft.

While there is a slight learning curve, mainly for plugin development (as you need to know more about Craft's internals than when just creating templates etc...), I found the community around Craft to be one of the best I ever encountered. When stuck, feel free to pose your questions here or on slack :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.