Forum
Best way to add a non data based form to a Perch Add on App
Hi All,
i decided to expand the simple instagram integration app in a client project i am working on and extend it from a simple scheduled tasks to have some form admin area, mainly to make the process of generating a new access token simpler if it decides to be revoked.
The general interface went up without a hitch (good work perch team!) but now i am little stuck (using the Mailchimp App as a reference), i am still iffy with the core API.
I want to submit a simple form on my add-on default page, it doesn't persist any data, it will have a token text box for someone to put in the token generated from instagram required to get an access token, but that will simply be used to make a curl call to the instagram API to get the access_token (and possible update a settings field).
I can see in the mailchimp app that there are some forms defined using the Perch:Form tag, but looking at them, they seem like front end forms. But i did try and define a template under the structure:
- My App --- templates ----- forms ------- get_access_token.html
<perch:form id="getToken" app="instagram">
<perch:success>
<p>Access Token Set</p>
</perch:success>
<div>
<perch:label for="token">Instagram Token</perch:label>
<perch:input id="token" required="true" type="text" />
<perch:error type="required" for="token">Required</perch:error>
</div>
<div>
<perch:input type="submit" value="Submit" id="btnsubmit" />
</div>
</perch:form>
and then tried to grab some code (appreciate the code is terrible, just trying to get to grips with this by picking apart the Mailchimp App)
$Template = $API->get('Template');
$Template->set('forms/get_access_token.html', 'instagram');
$Form = $API->get('Form');
$Form->handle_empty_block_generation($Template);
$Form->set_required_fields_from_template($Template, array());
/* ---- FORM ---- */
echo $Form->form_start('edit');
echo $Form->fields_from_template($Template, array());
echo $Form->form_end();
/* ---- /FORM ---- */
i assumed that i needed to load my form template, and then load the form using that, but i don't seem to get any output, so not sure if i am walking my way up the garden path backwards to be honest and not doing the right thing, and maybe i should use a bog standard form instead for things like this?
Thanks,
Rob
Your master template should define content for display. Perch will handle turning it into a form. Don't try to build a form in the template.