[themes] how to theme [class/id] a nord_form?

sebastian inforazor at gmail.com
Wed Nov 11 02:51:11 UTC 2009


Hello Drupalites,

I am tryign to figure this out.

When I have a nord_form, either for creation or editing, I get a lot of 
id's like: #thmr_81, thmr_86, #thmr_91, #thmr_98

If I try and use CSS to access them [perhaps setting display:non for 
non-tech savy web admins]

Then this works, UNTIL something else changes on the page, and then the 
numbers all change... SO, I need to find a way to give these random 
place holding id's actual ID's that relate to the content inside of them 
[authored by, published, file upload etc.]

I found the hook:

<?php
/*
* Theming the node form
*/
function phptemplate_node_form($form) {
   $output = "\n<div class=\"node-form\">\n";

   // Admin form fields and submit buttons must be rendered first, because
   // they need to go to the bottom of the form, and so should not be 
part of
   // the catch-all call to drupal_render().
   $admin = '';

   $buttons = drupal_render($form['buttons']);

   // Everything else gets rendered here, and is displayed before the 
admin form
   // field and the submit buttons.
   $output .= "  <div class=\"standard\">\n";
   	$output .= drupal_render($form);
	
	
   $output .= "  </div>\n";

   if (!empty($admin)) {
     $output .= "  <div class=\"admin\">\n";
     $output .= $admin;
     $output .= "  </div>\n";
   }
   $output .= $buttons;
   $output .= "</div>\n";

   return $output;
}
?>

But if I replace $output .= drupal_render($form); with

$output .= drupal_render($form['title']);
$output .= drupal_render($form['body_field']);
$output .= drupal_render($form['custom_select_field']);

Which are the only three I actually need to have displayed for a 
non-admin, then the page will NOT save, [no errors, it just reloads the 
page and erases all my changes]

Also, the function:

drupal_render()

Doesn't really give me much control over how to theme the sub-parts of 
the form...

Can anyone help me to please give real class and/or id names to the 
elements of the form?

Thanks!

Sebastian


More information about the themes mailing list