List Info

Thread: Re: FAPI and _display hook




Re: FAPI and _display hook
user name
2008-02-06 19:49:12
It certainly could.  You could easily theme a table and then
stick the rendered result in a markup form value, and you're
done.

It has nothing to do with Views, really.  The Theme Wizard
is just an example of it that I remember writing.  

--Larry Garfield

On Wed, 6 Feb 2008 23:08:31 +0200, Graeme McKibbin
<gmckibbiniburst.co.za> wrote:
> Ok thanks...
> But does that include building a SELECT query in php
and displaying
> the results in a table?
> 
> (The reason I want to do that is because the Inventory
field does not
> appear in the Views field list)
> 
> 
> On 06 Feb 2008, at 10:58 PM, Larry Garfield wrote:
> 
>>
>> Have a look at the Views Theme Wizard.  In recent
versions, it is a
>> multi-step form that uses the values from step 1 to
generate form
>> step 2.  Step 2 (or sometimes step 3) has no submit
buttons on it,
>> but its content is the result of the previous
steps.  The last step
>> then is the display, and there's no reason why you
can't use form
>> fields of #type markup to show just HTML that was
built off of the
>> previous steps.
>>
>> --Larry Garfield
>>
>> On Wed, 6 Feb 2008 21:53:47 +0200, Graeme McKibbin
>> <gmckibbiniburst.co.za> wrote:
>>> Not sure if I'm on the same page as you, but I
need to have a form
>>> that has some input fields and a submit button,
and when it's
>>> clicked, the form passes the input to itself
(or another page) and
>>> then displays a table of results from a query
(that I've created).
>>> Any idea?
>>>
>>>
>>> On 06 Feb 2008, at 8:59 PM, Ivan Sergio
Borgonovo wrote:
>>>
>>>> Maybe there is a clean way to recycle most
of FAPI if you don't need
>>>> to save anything in _submit but if you'd
just like to produce some
>>>> output based on form input?
>>>>
>>>> eg. you've 2 fields and the form
"landing" page should display the
>>>> product (the landing page may still be the
form path itself).
>>>>
>>>> If there is such a technique that let you
intercept $form_values and
>>>> $form_id outside _submit _validate and
display output accordingly
>>>> I'd
>>>> be glad to know.
>>>>
>>>> Otherwise I'd really enjoy to see a
_display hook that in spite of
>>>> showing the form or redirecting somewhere
else would just have
>>>> access
>>>> to $form_id  and $form_values as _validate
and _submit but would
>>>> output something else other than the form.
>>>>
>>>>
>>>> --
>>>> Ivan Sergio Borgonovo
>>>> http://www.webthatworks.it

>>>>
>>>
>>>
>>>
>>>
>>> Kind Regards
>>>
>>> Graeme McKibbin
>>> Software Developer
>>>
> 
> 
> 
> 
> 
> 


Re: FAPI and _display hook
user name
2008-02-07 02:24:24
On Wed, 6 Feb 2008 19:49:12 -0600
Larry Garfield <larrygarfieldtech.com>
wrote:


> It certainly could.  You could easily theme a table and
then stick
> the rendered result in a markup form value, and you're
done.

> It has nothing to do with Views, really.  The Theme
Wizard is just
> an example of it that I remember writing.  

Thanks.

Emanuele Quinto wrote me about a similar solution for D6 and
finally
I had the chance to see View Wizard.

I find this solution convoluted.

At a first sight furthermore putting stuff in #markup will
end up in
stuff being nested in <form>.

Anyway this approach incur in another problem... what if
your form is
in an area and your results have to be displayed in another
and you
still need the form?
OK hook_display won't solve this problem as well but at the
end the
problem is that $form_values/$form_status is not available
outside
the FAPI while $_POST/$_GET are... but well using
$_POST/$_GET means
you're not using FAPI.

I saw some global in FAPI... and well I think somewhere
there should
be something like $forms[$form-id].
At the end of drupal_get_form $form_values/status should be
fully
populated[1] so you could access it through such a global...
but
beside the fact that we would be adding one more global
(just
something to reflect on, not a dogma), even if I'd find such
kind of
beast in FAPI... it is not documented and not part of the
advertised
FAPI. That means that virtually it doesn't exist. Not being
advertised Karoly would be absolutely free to change its
name or
structure for a bug fix.
And yeah it's better it doesn't get into the
"public" FAPI but I'd be
better to have some king of encapsulated access to
$form_values/status outside drupal_get_form.

FAPI is doing a lot of good work around $_POST that can not
easily be
recycled outside of drupal_get_form.
Not only it validate the form but _validate hook can change
values,
so that $form_values/status is actually more valuable than
$_POST.
And there are other interesting data in $form_values/status
too.

Even stuff that use the _submit hook to really save stuff on
DB force
you to read the DB to see what was sent from the form.

[1] that actually poses another problem if you need
$form_values/status in more than one place

-- 
Ivan Sergio Borgonovo
http://www.webthatworks.it



[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )