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