in Pathauto->General Settings
Update action is set to "Create a new alias. Delete the old alias."
Pathauto->Node_Path_settings
Pattern for all Custom_node paths: custom/[term-raw]/[title-raw]

The custom node (built using CCK) has only one added field (field_other).
The Form Template custom_edit.tpl.php

I have the following snippet:

echo '<div class="item">'. drupal_render($form['title']) .'</div>';
echo '<div class="item">'. drupal_render($form['taxonomy']) .'</div>';
echo '<div class="item">'. drupal_render($form['body_filter']) .'</div>';
echo '<div id="item-field-other" class="item" style="width:95%">'. drupal_render($form['field_other']) .'</div>';
echo '<div class="item">'. drupal_render($form['options']) .'</div>';
echo '<div class="item">'. drupal_render($form['author']) .'</div>';
echo '<div class="item">'. drupal_render($form['path']) .'</div>';
echo drupal_render($form['form_token']);
echo drupal_render($form['form_id']);
?>
<div id="buttons"><?php print drupal_render($form['preview']) . ' ' . drupal_render($form['submit']); ?></div>

Also If I choose a Page node instead of Custom node Pathauto does seem to work.

Am I missing something here?

Comments

ebhoeve’s picture

I think I found the solution. I added two lines, containing $form['form_token'] and $form['form_id'], to the beginning
and now it works.

echo drupal_render($form['form_token']); <--- This line moved up
echo drupal_render($form['form_id']); <-- This line moved up
echo '<div class="item">'. drupal_render($form['title']) .'</div>';
echo '<div class="item">'. drupal_render($form['taxonomy']) .'</div>';
echo '<div class="item">'. drupal_render($form['body_filter']) .'</div>';
echo '<div id="item-field-other" class="item" style="width:95%">'. drupal_render($form['field_other']) .'</div>';
echo '<div class="item">'. drupal_render($form['options']) .'</div>';
echo '<div class="item">'. drupal_render($form['author']) .'</div>';
echo '<div class="item">'. drupal_render($form['path']) .'</div>';
?>
<div id="buttons"><?php print drupal_render($form['preview']) . ' ' . drupal_render($form['submit']); ?></div>
greggles’s picture

Status: Active » Fixed

Really you shouldn't call those manually, but at the end of the page you should call

drupal_render($form) as the last part of the form and drupal_render will render any parts of the form that haven't been rendered yet.

I'm not sure why changing the drupal_render order would fix this, but if it is fixed...

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.