[development] Node Rendering Debate

sime info at urbits.com
Fri Jun 22 01:54:44 UTC 2007


I love what I'm hearing. Can we call it a "Render API"? We really are 
risking the term "fapi" being synonymous with #everything while the 
distinction is not clear.


Jeff Eaton wrote:

> It would be perfectly possible to *render* a form in that fashion,  
> but unless you called drupal_get_form() it would not actually enter  
> the full form lifecycle. In fact this is already possible using  
> Drupal 5's infrastructure. Try this in your hook_nodeapi op view:
>
> $node->content['my_thing'] = array(
>   '#type' => 'fieldset',
>   '#title' => t('Test fieldset'),
>   '#collapsible' => TRUE,
>   '#collapsed' => FALSE,
> );
>
> $node->content['my_thing']['content'] = array(
>   '#value' => 'Test content goes here...',
> );
>
> It will add a collapsible fieldset to your view containing static  
> content.
>
> renderable elements are renderable elements. Form elements just  
> render into <input> tags and so on. FormAPI adds additional behavior  
> on top of that, but under the hood, the rendering infrastructure is a  
> way of taking a metadata rich array structure and rendering it into  
> raw HTML (or JSON, or XML, if you feel like layering a new set of  
> theme functions onto it.)
>
> It is a tremendously powerful system. We shouldn't jump into using it  
> unawares, but we would also be missing a huge opportunity to pass up  
> this system of storing meta-data rich structures and renderable content.
>
> --Jeff
>
> On Jun 21, 2007, at 6:16 PM, sime wrote:
>
>> If the drupal_render on a node is made possible, would you be able  
>> insert, say, a form somewhere in the tree and have it render? Would  
>> you be able to nest additional nodes in the tree? Would you be able  
>> to insert parts of the node under a fapi fieldset elements? Bear in  
>> mind, I'm not thinking about the ramifications on theming, more I'm  
>> interested in where we see drupal_render going.
>
>
>
>



More information about the development mailing list