'fieldset', '#title' => t('User page'), '#collapsible' => TRUE, '#collapsed' => TRUE, '#attached' => array( // Ensures a proper summary is added to its vertical tab. 'js' => array(drupal_get_path('module', 'menu_position') . '/plugins/menu_position.user_page.js'), ), ); $form['conditions']['user_page']['user_page_enable'] = array( '#type' => 'checkbox', '#title' => t('Apply this rule on user account pages.'), '#default_value' => !empty($variables['user_page_enable']) ? $variables['user_page_enable'] : 0, '#description' => t('Check to apply this rule to user pages, e.g. user/1 or users/admin'), '#weight' => -20, ); // Add a submit handler. $form['#submit'][] = 'menu_position_menu_position_rule_user_page_form_submit'; } /** * Prepares the plugin's variables to be stored in the rule. * * @param $form * A reference to the "add/edit rule" form array. * @param $form_state * A reference to the current form state, including submitted values. */ function menu_position_menu_position_rule_user_page_form_submit(&$form, &$form_state) { // The user has added our plugin's form elements as a condition for the rule. if (!empty($form_state['values']['user_page_enable'])) { $variables = array('user_page_enable' => $form_state['values']['user_page_enable']); $form_state['values']['conditions']['user_page'] = $variables; } }