Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by pwired

  1. Bumping this thread

    If you cannot add extra input fields and labels to the core Comments Form to expand on it, for example Surname, Country, Month, Year, or any other custom field/label, etc etc then what is the use of having it in this limited way in the core ?

    Would like to know who is using the core Comments fieldtype in Processwire and in what way, purpose ?


  2. With fbg13's jump start code, now it is easy to add some extra code and formatting
    and make a working form example out of it.

    1) Add <?php namespace ProcessWire; on the top of your template to prevent error Class "Page" not found
    2) Add action="./" to the form
    3) Add labels and a <textarea> section to the form
    4) Change the default named submit button into something custom e.g. Send

    namespace ProcessWire;
    if($input->post->submit) {
    	$p = new Page();
    	$p->template = "test";  // template_to_save_form
    	$p->parent = $pages->get("/test/");
    	$p->title = $input->post->name . " - " . date("Y-m-d");
    	$p->fullname_txt = $input->post->name;
    	$p->message_txa = $input->post->message;

    And the form

    <form action="./" method="post">
      <label for="fname">Full name:</label><br>
      <input type="text" name="name"><br>
      <label for="message">Message:</label><br>
      <textarea name="message" rows="5" cols="20"></textarea><br>
      <input type="submit" name="submit" value="Send">


    Enter a name, a message and hit the send button a few times
    and see magically grow the number of child pages holding
    the entered form data.

    Now you can further process the form data like showing a success page
    and emailing the form data.





  3. Things that I came across about creating/editing pages with the api:

    1) Set output formatting state off, for page manipulation

    2) First save page in preparation for adding files e.g. an image

    So allow me to add 1) here to improve the above example code:

    if($input->post->submit) {
    	$p = new Page();
    	$p->template = "template_to_save_form";
    	$p->parent = $pages->get("/parent-page/");
    	$p->title = $input->post->name . " - " . date("Y-m-d");
    	$p->submitted_by = $input->post->name;
    	$p->message = $input->post->message;


    • Like 1
  4. Hi,
    I am using the core Comments fieldtype in Processwire.
    It has the default Form input labels Name, Email and Text.

    This question has been asked before but I found no answer in the Forum section.
    How can I add extra input labels to the Comments Form such as Country, Year. etc ?

  5. Quote

    So it now does that and it also links to a new page that describes all of the past and current site profiles, along with additional details on how to create and install site profiles ..... added just by having a profile-specific finishing file, for those that want it. So if you want your site profile to perform any other types of customizations on top of what you can already do with a site profile, this is the place to do it. 

    Hi Ryan, Big thanks for doing this, as it adds to beginners friendly and jump start with Processwire.

    Merry christmas to the Processwire Family

    • Like 5
  6. Quote

    This cuts the size of the core in half, going from 15.5 MB down to 7.5 MB, which is quite a slim down!  
    This means the site-regular, site-default, site-beginner, site-languages, and site-classic now live in their own dedicated repos on ProcessWire’s GitHub.

    How many processwire users find this NOT useful ? Some user base polling or voting would be on its place.

    For so many years having these profiles out of the box added to beginners friendly and jump start with processwire.

    • Like 4
  7. Quote

    The problem is, that the accordion nav solution from UIkit converts all parent pages into accordion triggers.
    I've seen other solutions, where only the arrow or plus icon is the trigger and the name is the link ......

    You can keep on using UIKit but it is not a silver bullet solution for any situation. Find any mobile menu/accordion navigation
    on jqueryscript dot net for free with code examples, and demos ready for you to use with processwire.
    Have a look here: https://www.jqueryscript.net/


    • Like 1
    • Confused 1

  8. 1)
    What about keeping the main layout styling in vanilla css and put only utility classes for final layout tweaking ?
    That would give you the best of 2 worlds !

    Having said that, how many percent of all the available tailwind utility classes are really going to be used ?
    Certainly not all of them in every website you make, let's say 40% - 50% - 60%  ?

    That brings me to the idea to sort out only the most useful ideas and classes from Bulma, Spectre and Bootstrap
    and bring them in your own utility class framework. That would make things certainly more effective.
    How much time would that take ? Sticking to only essential and useful classes, not that long.



  9. Quote

    You really have a virtualmachine with Windows for each and every project you work on?

    Ever worked with VirtualBox, VMWare, Proxmox, other ? You build only once a virtualmachine
    with all your preferred programs, languages, libraries, tools, utilities, components, snippets, etc. etc.
    You use that virtualmachine as a Template. After that it is simply cloning the Template for each Project.
    It's like having multiple laptops in a single laptop 😉

    • Like 1
  10.  I do not have Windows since I am not fond of it either. 

    We'll you can't beat Laragon5, HeidiSQL and WinSCP when it comes to Windows 😏
    I manage every project in it's own virtualmachine, I run every virtualmachine
    from a simple usb3 2Tb external hdd ... all very practical.

    • Like 1
  11. Another very good example of how to handle parts of a website efficiently in processwire "as a page"

    I was building a website from scratch lately and was fiddling my css around to look for a way to get it better organized.
    And then came across this post from Diogo again:



    1. Create a template file css.php and put all your css code inside. On the top of the file put this code <?php header("Content-type: text/css"); ?>.

    2. Create a "css" PW template with that file.

    3. Create a "css" page and give it the "css" template.

    4. Link to the stylesheet like this <link rel="stylesheet" href="<?php echo $pages->get('/css/')->url; ?>">.

    5. use the PW API on your stylesheet 🙂


    6. put some fields on the "css" template and use them on your css

    Examples: the color picker field for colors; an image field with your style pictures (background, logo, etc).







  12. I was addressing your first question

    This is a different question


    I was looking for a way to make template with fields programatically.

    Have you read the Processwire Documentation ?
    Your answers are here:


    Creating a new template with api

    <?php namespace ProcessWire;
    $fieldgroup = new Fieldgroup();
    $fieldgroup->name = "something";
    $fieldgroup->add("title"); // add some fields
    $template = new Template();
    $template->name = "something"; // must be same name as the fieldgroup
    $template->fieldgroup = $fieldgroup;

    Adding fields to a template with api

    <?php namespace ProcessWire;
    $template = $templates->get("some_template");
    $template->fields->add("body"); // add some fields




    Beginner mistakes






    • Like 2
    • Thanks 1
  • Create New...