function views_theme_wizard_form in Views (for Drupal 7) 5
1 string reference to 'views_theme_wizard_form'
File
- ./
views_theme_wizard.module, line 36
Code
function views_theme_wizard_form($views, $form_values = array()) {
$form = array();
if (!isset($form_values['step'])) {
$step = 1;
}
else {
$step = $form_values['step'];
}
$form['markup'] = array(
'#value' => t('<p>The views theming wizard generates code that you can use in your phptemplate theme to help you customize the output of a view. Simply select a theme and it will generate code for your template.php as well as template files for the individual views.</p><p>At this time this code assumes your view is a <b>list type view</b>! It may not generate effective code for other types of views. Future versions of this program will be smarter, and give more options, but this wizard is still a huge start.</p>'),
'#weight' => 0,
);
$op = isset($form_values['op']) ? $form_values['op'] : '';
while ($step != 0) {
if (1 == $step) {
$form['step'] = array(
'#type' => 'hidden',
'#value' => $step,
);
$form['vid'] = array(
'#type' => 'select',
'#options' => $views,
'#title' => t('Select a view'),
'#weight' => 5,
);
$form['theme_type'] = array(
'#type' => 'select',
'#title' => t('Select Theme Type'),
'#options' => views_theme_wizard_get_theme_types(),
'#weight' => 6,
);
$form['submit'] = array(
'#type' => 'button',
'#value' => t('Select Theme Type'),
'#weight' => 10,
);
$form['submit2'] = array(
'#type' => 'button',
'#value' => t('List Theme Fields'),
'#weight' => 11,
);
$form['step'] = array(
'#type' => 'hidden',
'#value' => $step + 1,
);
$step = 0;
}
elseif (2 == $step && $op == t('List Theme Fields')) {
$view = views_get_view($form_values['vid']);
$form['code1']['#type'] = 'textarea';
$form['code1']['#value'] = views_theme_wizard_list_fields($view);
$form['code1']['#title'] = t('This is a list of all the theme functions you can use to override individual field displays');
$form['code1']['#rows'] = 20;
$form['code2']['#type'] = 'textarea';
$form['code2']['#value'] = views_theme_wizard_example_field($view);
$form['code2']['#title'] = t('This is a basic theme function', array(
'@s' => $view->name,
));
$form['code2']['#rows'] = 20;
$step = 0;
}
elseif (2 == $step && ($op = t('Select Theme Type'))) {
$view = views_get_view($form_values['vid']);
$type = $form_values['theme_type'];
$additions = module_invoke_all('views_theme_wizard_types', 'configure', $type, $view);
if (!$additions) {
$step = 3;
continue;
}
$form['theme_type'] = array(
'#type' => 'hidden',
'#value' => $type,
);
$form['vid'] = array(
'#type' => 'hidden',
'#value' => $form_values['vid'],
);
foreach ($additions as $k => $v) {
$form[$k] = $v;
}
$form['generate'] = array(
'#type' => 'button',
'#value' => t('Generate Theme'),
'#weight' => 10,
);
$form['step'] = array(
'#type' => 'hidden',
'#value' => $step + 1,
);
$step = 0;
}
elseif (3 == $step) {
$view = views_get_view($form_values['vid']);
$form['code1']['#type'] = 'textarea';
$form['code1']['#value'] = views_theme_wizard_generate_list_code($form_values['theme_type'], $view, $form_values);
$form['code1']['#title'] = t('This code goes in your template.php file');
$form['code1']['#rows'] = 20;
$form['code2']['#type'] = 'textarea';
$form['code2']['#value'] = views_theme_wizard_generate_list_template_code($view);
$form['code2']['#title'] = t('This code goes in a file named views-list-@s.tpl.php', array(
'@s' => $view->name,
));
$form['code2']['#rows'] = 20;
$form['code3']['#type'] = 'textarea';
$form['code3']['#value'] = views_theme_wizard_generate_list_stylesheet_code($view);
$form['code3']['#title'] = t('This code goes in a file named views-list-@s.css', array(
'@s' => $view->name,
));
$form['code3']['#rows'] = 20;
$step = 0;
}
}
$form['#multistep'] = TRUE;
$form['#redirect'] = FALSE;
return $form;
}