Модуль Automatic Nodetitles позволяет автоматически генерировать названия документов. Возможно скрыть поле для ввода названия и оно будет генерироваться автоматически всегда, а возможно оставить это поле видимым и использовать автогенерацию названия только в том случае, если оно не введено вручную. Названия, которые будут использоваться для документов, можно определить для каждого типа документа отдельно.

После установки модуля, на страницу настройки типа документа будет добавлена секция «Автогенерация названия», в которой и указывается образец, по которому будет происходить генерация.

Drupal. Automatic Nodetitles

С использованием Automatic Nodetitles вместе с модулем Token, станет возможным использование маркеров. Дополнительно возможно использование для автоназвания ПХП-кода. Примеры 5 сниппетов взяты со страницы ленты модуля:

Логин автора
<?php
 
global $form_values;
 
$title = 'Автор: '. $form_values['name'];
  return
$title;
?>

Номер автора
<?php
$name
= db_prefix_tables('{node}_nid');
$id = db_result(db_query("SELECT id FROM {sequences} WHERE name = '%s'", $name)) + 1;
return
$id;
?>

Случайное число
<?php
$name
= db_prefix_tables('{node}_nid');
$random = (rand()%1025);
$id = db_result(db_query("SELECT id FROM {sequences} WHERE name = '%s'", $name)) + $random * 3;
srand(time());
return
$id;
?>

Номер автора, тип документа, номер документа
<?php
//wrap [nid] in quotes or else we'll get a parse error
$token = '[nid]';

if (!empty(
$token)) {
 
// this node is not new
 
return [author-uid] . '-' . [type] . '-' . $token;
}
else {
 
// this node is new
 
$nid = db_next_id('{node}_nid');
  return [
author-uid] . '-' . [type] . '-' . $nid;
}
?>

Тип документа и номер документа
<?php
$token_nid
= '[nid]';
$token_type = '[type]';
if (!empty(
$token_nid)) {
 
// this node is not new
 
return $token_type . ' - ' . $token_nid;
}
$name = db_prefix_tables('{node}_nid');
$id = db_result(db_query("SELECT id FROM {sequences} WHERE name = '%s'", $name)) + 1;
return
$token_type . ' - ' . $id;
?>