[development] hook_form_alter() node_type_form validation and persistence

Steve Ringwood nevets at tds.net
Wed Oct 6 18:02:21 UTC 2010


  Eric

     There is a bit of magic for that form, the values in the form are automatically
     stored as Drupal variables use the form elements name plus the node type
     So by using

       '#default_value' =>  variable_get('scheduler_'.$form['#node_type']->type, 0),

     the default value uses the previous stored value if available, otherwise 0.
     The 'scheduler' comes from the form element name ($form['workflow']['scheduler'])

     You can add new elements to existing field sets or add your own field set.

Nevets

On 10/6/2010 12:27 PM, Eric Schaefer wrote:
> Hi List!
>
> Maybe I just can't see the forest for the trees:
>
> In scheduler.module (http://drupal.org/project/scheduler) in
> scheduler_form_alter() the following code can be found (D6):
>
>
>    if ('node_type_form' == $form_id) {
>      $form['workflow']['scheduler'] = array(
>        '#type' =>  'checkbox',
>        '#title' =>  t('Enable scheduled (un)publishing'),
>        '#default_value' =>  variable_get('scheduler_'.
> $form['#node_type']->type, 0),
>        '#description' =>  t('Check this box to enable scheduled
> (un)publishing for this node type.')
>      );
>      $form['workflow']['scheduler_touch'] = array(
>        '#type' =>  'checkbox',
>        '#title' =>  t('Alter published on time'),
>        '#default_value' =>  variable_get('scheduler_touch_'.
> $form['#node_type']->type, 0),
>        '#description' =>  t('Check this box to alter the published on
> time to match the scheduled time ("touch feature").')
>      );
>    }
>
> I am trying to understand this. I can't figure out how the values of
> the two checkboxes get validated and persisted back to
> "scheduler_story" and "scheduler_touch_story". Is there some magic
> involved that guesses the variable names from $form['workflow']?
> How would I add my own fieldset?
>
> Thanks,
> Eric
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20101006/d245c298/attachment.html 


More information about the development mailing list