В нашей системе Drupal 6 мы используем пользовательские автоциклы для нескольких пользовательских типов записей (для Drupal 7 также должно работать следующее). Чтобы это сработало, мы внедрили правило, используя модуль правил, который запускается при сохранении записи.
Правило выполняется по событию После сохранения содержимого и должны убедиться, что вы сохраняете тип контента, который вы заинтересованы. (Например, если вы автонумерация виджеты, добавить IF для контента типа . это виджет
Для ваших действий, Погружает * Populate содержание, созданное на «custom_number» поля * действие на правило (где «custom_number» ваше поле автоматически номер), и следовать этому примеру:
$number = db_result(db_query(
"SELECT MAX(field_custom_number_value) FROM {content_type_widget}"));
if(empty($number) || $number < 200) { // Replace 200 with your starting value
$number = 200;
} else {
$number++;
}
return array(0 => array('value' => $number));
Каждый раз, когда вы сохраняете новый виджет, система em запускает запрос, чтобы найти max custom_number, уже назначенный. Если ни один не назначен или не назначен номер менее 200, система назначит 200; в противном случае он назначит 1 больше текущего назначенного максимального номера.
Если вы хотите, вы также можете добавить строку кода отладки, чтобы добавить сторожевую линию или другое событие отладки в случае обнаружения числа, которое меньше вашего желаемого минимума.
Работал как очарование, спасибо! – user1281146