[development] hook_form_alter() node_type_form validation and persistence

Steve Ringwood nevets at tds.net
Wed Oct 6 19:30:04 UTC 2010


  Eric

     For the variable name you only want to use the element name, so for

	['scheduler']['publish']['touch']

     you would use 'touch', so the call to variable_get would be

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

     I tend to make my names more self contained so instead of 'touch'
         I would use something like "publish_touch" to the element and variable name.

Nevets

On 10/6/2010 2:02 PM, Eric Schaefer wrote:
> 2010/10/6 Steve Ringwood<nevets at tds.net>:
>> >       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.
> Thats what I guessed. Thats why I tried this:
>
>
>      $form['scheduler'] = array(
>        '#type' =>  'fieldset',
>        '#title' =>  'Scheduler settings',
>        '#collapsible' =>  TRUE,
>        '#collapsed' =>  TRUE,
>        '#weight' =>  35,
>        '#group' =>  'additional_settings',
>      );
>
>      $form['scheduler']['publish'] = array(
>        '#type' =>  'fieldset',
>        '#title' =>  'Publishing settings',
>        '#collapsible' =>  TRUE,
>        '#collapsed' =>  TRUE,
>        '#weight' =>  1,
>        '#group' =>  'additional_settings',
>      );
>      $form['scheduler']['publish']['enable'] = array(
>        '#type' =>  'checkbox',
>        '#title' =>  t('Enable scheduled publishing'),
>        '#default_value' =>  variable_get('scheduler_publish_enable_'.
> $form['#node_type']->type, 0),
>        '#description' =>  t('Check this box to enable scheduled
> publishing for this node type.')
>      );
>      $form['scheduler']['publish']['touch'] = array(
>        '#type' =>  'checkbox',
>        '#title' =>  t('Alter published on time'),
>        '#default_value' =>  variable_get('scheduler_publish_touch_'.
> $form['#node_type']->type, 0),
>        '#description' =>  t('Check this box to alter the published on
> time to match the scheduled time ("touch feature").')
>      );
>
> There is supposed to be a "scheduler" fieldset and a "publish"
> fieldset inside it. Inside the latter are two checkboxes. The form
> gets created alright but the variables don't get set. What am I doing
> wrong?
>
> Thanks,
> Eric
>
>

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


More information about the development mailing list