Jump to content
clsource

PW Site Profiles are like WP Themes?

Recommended Posts

As you may know Wordpress is famous for the diversity of its themes.

Should Processwire begin promoting the creation and possibly selling 

custom site profiles.

like wordpress themes a site profile

will have all the configurations for ready to go

websites.

this could enable a masification of processwire

for people that wants a simple solution

pre configured and working out of the box.

Share this post


Link to post
Share on other sites

For people who want a simple solution out of the box, I would say ProcessWire is not that kind of CMS and that's a good thing.  I see ProcessWire as a developer-oriented tool for building custom, complex content websites that have unique requirements and that should be it's strength.  CraftCMS and ExpressionEngine fit that niche as well.

If ProcessWire were to become a CMS where themes could be swapped at will, I'd imagine that would first pose some technical challenges that would need to be resolved.  For example, to what extent does a theme dictate field/template structure, and if someone were to switch to another theme, how would that work?  Nico's WireThemes proof of concept module has a nice way of going about that.  It's similar to how FormBuilder can map a form's fields to a page's fields when using FormBuilders option to save submissions as pages.

When it comes to WordPress and premium themes (like ThemeForest), once you're on a theme, you are stuck with it.  No easy portability.  Not to mention, each theme is like a CMS within WordPress itself, especially with the trend of mega themes that have recently become popular.  Then when add a few plugins to the mix and you'll probably have all kinds of conflicts.

Although WordPress is still the king of CMSes for ready-to-go themes, I would say that WordPress is going to be losing its dominance in that arena given the new generation of remotely hosted content management systems, like SquareSpace, Wix and Webflow.  Those companies are doing very well because they really cater to people who want something up quick, cheap, easy and with a small learning curve.  No coding required.  It seems that WordPress (.com at least) is stepping up their game to challenge that.  Their new admin system and Jetpack are good examples.

Lastly, being the McDonalds of CMSs will cheapen the image of ProcessWire.

I do think however we should be attracting advanced WordPress developers.  In short, anyone who uses any tools from Roots.io, Underscores, Advanced Custom Fields, WP-CLI, or similar.  There are many talented people in those circles who for reasons beyond me, still use WordPress.

  • Like 11

Share this post


Link to post
Share on other sites

I agree with you that wordpress and processwire are totally different systems

in every aspect. And if PW tries to emulate WP it will lesser its quality and overal developer hapiness.

My point here is we could make a special market for site profiles

that shows a starter package for developers to build on, like those

you mention Roots and Underscores are starter packs for wp theme builders.

Well documented, expertly crafted site profiles

that will lower the barriers for beginners and save time

to seasoned pw developers.

Now there are site profiles, but I feel that they can

be improved in documentation and structure.

  • Like 3

Share this post


Link to post
Share on other sites

yeah, i think it would be cool to have a completely pre-built demo site with filler content, sort of like the old Joomla 'quick start' model.

the expectation would be that this is for people who only want the features as shown on the profile, and no custom development;

could make it easier to promote it to clients with lower budgets, instead of sending on their way to WP or SS..

  • Like 2

Share this post


Link to post
Share on other sites

I have just found this css framework (called Responsee III) the other day (actually, I've been looking for something like this for a while). It is not as "bloated" as (say) Bootstrap or Foundation, so it is easy to figure out what is behind the scenes, as it uses vanilla css so no sass/less or similar is used. This framework is not re-written from scratch every second year either. I tested one of its v2 based demo website by replacing the framework's files with the new versions found in v3, and nothing has changed on the frontend, so even upgrading the framework was as simple as replacing some files. A framework like this would be a good choice to be used for this "quick start site profile". People can customize it easily by using their own "custom.css" to overwrite the rules.

Besides the css framework, the profile should support something similar that WordPress does right out of the box (standard blog features with categories).

I also support (actually I am implementing my own PW version) a variation of the delayed output, when (e.g) basic-page.php only does this: $layout = wireRenderFile("layout/basic-page.inc.php"); and basic-page.inc.php contains the alternative syntax style template code, which is often preferred by beginners and people coming from WordPress and similar...

Edit: I forgot the name and the link of the css framework, so I just added it...

Edited by szabesz
  • Like 2

Share this post


Link to post
Share on other sites

The issue I have with providing joopalpress, out-of-the box, pre-configured solutions, is processwire shouldn't be implying endorsement of any framework or component that is not processwire itself. By including any of those in a default installation, or as an add-on, would degrade processwire to the level of the joopalpresses. The primary strength is processwire is non-destructive and non-limiting with a developer's creations.

What I think might be a solution, is to create a sub-forum under getting started where we can provide topics on setting up processwire with whatever framework (or other add-on) as a guide for new users, and even for seasoned developers to look at. We could also demonstrate how to swap site profiles. I think it would be advantageous to show new users how easy it is to utilize these various components with processwire. But putting all the combinations into an install would not be my first choice.

  • Like 1

Share this post


Link to post
Share on other sites

@rick: In this case we are back to square one, that is "processwire shouldn't be implying endorsement of 'anything else'" which is the current state we are in :) Without an easy to use ("shape it to your needs") frontend "framework", you cannot guide beginners/non-developers in tweaking the profile they use.

In this case, we are talking about bloggers, small companies, etc, who need a  reliable, easy to maintain CMS (ProcessWire) and want to tweak the frontend a little bit, but they do not want to "develop" anything.  They just need useful tips and code snippets with step-by-step instructions on how and where to apply them.

I know, this is not the basic idea behind ProcessWire, but the topic here is "PW Site Profiles are like WP Themes?", and we cannot solve it without anything pre-build for the frontend.

  • Like 1

Share this post


Link to post
Share on other sites

A great example of what I mean is Padloper

https://www.padloper.pw/

It gives you simple components for making your own ecommerce with processwire,

haves a great documentation and its professionally crafted.

I think more software like that should be made :)

  • Like 1

Share this post


Link to post
Share on other sites

Reading the different opinions in this thread about themes for Processwire. Because Processwire is a decoupled system it would be very easy to deliver an out of the box theme. There would be many ways to do this. One way would be the use of child pages that are stacked on top of each other like layers to build up a webpage.

All that needs to be done is to set up a profile where every page has a few child pages. These child pages hold the text and image fields that are used in the (parent) webpage. You just add two more fields: a path to a html layout and a path to it's associated css. You do this for all child pages for as much pages you would have in the website and this would be the theme. Tuning the theme would be as easy as editing each separate html/css for each child. Now let's start selling our themes ;)

Share this post


Link to post
Share on other sites

All that needs to be done is to set up a profile where every page has a few child pages. These child pages hold the text and image fields that are used in the (parent) webpage. You just add two more fields: a path to a html layout and a path to it's associated css. You do this for all child pages for as much pages you would have in the website and this would be the theme. Tuning the theme would be as easy as editing each separate html/css for each child. Now let's start selling our themes ;)

Would it be a "basic setup" similar to those page builders that are so popular these days in WP/Joomla and (possibly) others? Interesting idea.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By EyeDentify
      I as have been a bit confused for some time about how the "Markup Regions" functionality in Processwire worked.
      But i have know read a bit more and think that i am getting to grips with it. And Markup Regions is going to be huge.

      To aid me in understanding Markup Regions better i started to read the Source code for the new "Regular" theme in conjunction with the Blog about the markup regions.
      It helped me a great deal to understand the basics and more fine details of it.

      A tip is to open both links and use the Source code of the "Regular" theme while reading the blog post.
       
      The Source code:
      https://github.com/processwire/processwire/blob/dev/site-regular/templates/_main.php
      The Blog post:
      https://processwire.com/blog/posts/processwire-3.0.62-and-more-on-markup-regions/
       
      I hope this could help others starting out with markup regions.
      Just take it slow and read it a couple a times and soon you will see the greatness of markup regions.

      /EyeDentify 
    • By EyeDentify
      Hello Fellow PW Fans and Gurus.

      I have run into a problem where i have created a template without a template file associated with it.
      Now i would like to HAVE a template file associated with it, not an alternate but as the main template file.

      So i thought, that's easy, I upload the template file and change it in template settings but I only get the Alternate template file setting?

      Ok so maybe i can change it via the API , so i wrote some code for this.
      <?PHP function changeTemplate($pages = null, $templates = null) { /* get the pages to change template on */ $logItems = $pages->findMany('template=tmp_log_item'); /* get the template object for our desired template */ $Template = $templates->get('tmp_new_log_item'); foreach($logItems AS $key => $logData) { /* use template object $Template to set template */ $logData->template = $Template; /* save page item */ $logData->save(); } } /* do the magic change */ changeTemplate(); ?> Needless to say, PW was not happy about this, It throw up an error message:
      Error: Exception: Invalid value sent to Page::setTemplate (in /home/virtual/mydomain/public_html/wire/core/Page.php line 1782)
      Now from what i understand i gave $logData->template the wrong type of value.
      So what should the value be to correct this?
      When I read the docs at: https://processwire.com/api/ref/page/
      the value can be "string" or "Template".

      So i gave it a string and it went haywire.

      How should I approach this cause I realy dont want to manually change template file on över 50 plus pages

      Maybe I should use the Template class to create the value that the API wanted, but I am unsure how to use it.

      Thank you for any info you can give me on this.

      If you want more info to help me, ask and I will try my best to give it to you.
      Updated and Solved
      I solved the problem and have updated the code to reflect this.

      Essentialy i used the get() method of $templates to get the template object for my template i wanted to use using the template name.
      I gave the Object to the $logData->template property and all went well.
      We learn something new every day.
      One Note:
      The template file you want to use must have been uploaded and added as a template in the Template section in the Admin for this code to work as expected.
    • By Mustafa-Online
      MBR international is Sudanese mining company. The company aims to maximize shareholder value by through
      exploration and Production of precious metal and industrial mineral, MBR international mining subsidiary was established in 2015, engaged in Industrial Minerals and Metals mining and related activities including explorations, extraction and processing. 
      **************
       
       

       
       

       
    • By pwuser1
      First I am a PW student I think it's the best PHP Framework.  So please don't get me wrong when I asked when other Frameworks like the big 3 (Wordpress, Joomla, Drupal) are too complicated to use or maintain (I tried them all) why are people still using them? PW is just too elegant in comparison even for a newbie like me.
    • By zaib
      I've a json file, and from json file I'm creating some dynamic pages, problem is how i can edit language field or how to add new filed through API
      I'm doing like this
      <?php $string = file_get_contents('incl/codes.json'); $json_a = json_decode($string, true); $arabic = $languages->get("Arabic"); $page->of(false); foreach($json_a as $code){ $p = new Page(); // create new page object $p->template = 'city_code'; // set template $p->parent = wire('pages')->get('/master_data/city_codes'); // set the parent $p->name = $code["CITY_CODE"]; // give it a name used in the url for the page $p->title = $code["CITY_CODE"]; // set page title (not neccessary but recommended) $p->title->setLanguageValue($arabic, $code["CITY_AR"]); $p->save(); } ?>  
×
×
  • Create New...