All Collections
API / Customization / Advanced
HAPI Forms - Now You're In Control
HAPI Forms - Now You're In Control

With HAPI Forms you can completely customize and simplify the experience of creating and updating items in PeopleVine.

Jordan Gilman avatar
Written by Jordan Gilman
Updated over a week ago

Your client and/or your users are going to be happy for HAPI Forms : )  

With HAPI Forms you can setup completely custom forms to replace our out of the box create screens.  With the ability to render both in the Control Panel and on your website (with page based permissions), you can truly customize the entire experience.

For example, if you wanted to simplify the event create flow, you could simply write something like this:

<div class="container">
    <div id="pvForm">
      <input type="textbox" id="event_title" placeholder="Event Title"/><br>
      <input type="textbox" id="content_event_date" placeholder="MM/DD/YYYY"/><br>
      <select id="event_type">
          <option value="register">Registration Required</option>
          <option value="ticket">Tickets</option>
      <textarea id="event_summary" placeholder="Enter Summary Here"></textarea><br>
      <input type="checkbox" id="allow_cancel"/>Allow people to cancel their tickets.<br>
      <input type="button" onClick="HAPIform('#pvForm', 'events', 'create')" value="Submit" class="btn"/>

In this case we are prompting the user to enter the event title, date, select event type, enter a summary and enable or disable self cancel.  This is to show you the various inputs that are currently supported.  

You'll notice on the input button, we've added an onClick method called HAPIform().  This is designed to take 3 inputs: 

  1. The ID or class (with # or . syntax)  where all the inputs, selects and textareas are located.

  2. The object you are adding.

  3. Either create or update based on the action you're trying to complete.  Keep in mind if you're doing an update, you must include the _no of that item.

The only pre-requisite to leveraging HAPI Forms is to enable jQuery (sorry we got lazy... too much programming to do, but what's wrong with jQuery, thanks to them our life is easier and the latest speeds can handle a few extra KB).

Did this answer your question?