I have a really silly problem that has cost me a load of time already.
I have created a content template with a URL in there. When I look at the HTML code for it, I see a big fat "maxlength=256" in the form tag. I'd like to expand the length of this field, because my customer wishes to enter really long links (over 500 characters). Any idea how I can change it? When I do a generic search through the code I see so many occurences of 256, but the length might just as well be in the database somewhere. I have of course made the database field a longer varchar (1024 sounded poetic to me), so that's something I don't have to worry about.
I think it's silly, but the customer's always right, as we know.
I am using Drupal 6.14.
Yahoooooo! I fixed it, thanks to the helpful Drupal pages: http://drupal.org/node/300705
I figured out I could edit the form after it has been generated completely. The solution presented by Erik is good, but doesn't appear to work for CCK fields. In my case Erik's solution could have worked if it wasn't for this generation step that needs to happen first.
My new code is as follows:
function longerfield_form_alter(&$form, &$form_state, $form_id) {
$form['#after_build'][] = 'longerfield_after_build';
}
function longerfield_after_build($form, &$form_state) {
// This is for a node reference field:
$form['field_page_boeken'][0]['data']['url']['#maxlength'] = 1024;
return $form;
}
Now, I too see that it's ugly, especially because there might be other form elements here (just increment from 0), but it works for the first element! Yippeee!