2008-09-18 3 views

ответ

5

Если вы не разработчик (или хотите сократить процесс разработки), еще одним возможным решением является использование модуля auto_nodetitle. Auto nodetitle позволит вам создавать правила для создания заголовка узла. Это могут быть программные правила, заменяемые токены или просто статический текст. Стоит посмотреть, если ничего другого.

3

Чтобы удалить тело, отредактируйте этот тип, разверните «Настройки формы отправки» и поместите в поле для метки поля тела. Для названия вы можете переименовать его в другое текстовое поле. Если вам действительно не нужны никакие текстовые поля, вы можете создать пользовательский модуль, например, называемый foo, и создать функцию foo_form_alter(), которая заменяет $ form ['title'] #value, когда $ form ['type'] ['# value '] - ваш тип узла.

+0

Это хорошо работало для поля «Тело», но я предпочитаю модуль auto_nodetitle для удаления поля «Имя». Спасибо! – 2008-09-18 13:04:52

2

Если вы не разработчик (или вы хотите комбинациям процесс развития), Другим возможным решением является использовать модуль auto_nodetitle. Auto nodetitle позволит вам создать правила для создания заголовка узла . Это могут быть программные правила, жетоны, которые заменены, или просто статический текст. Стоит посмотреть, если ничего еще.

И добавить к William OConnor's решение ...

Модуль плохо документированы, к сожалению. Это действительно эффективно, если вы используете PHP с ним, на мой взгляд. Отметьте в «Evaluate PHP в шаблон» и введите в «Шаблон для названия» поле что-то вроде:

<?php echo $node->field_staff_email[0]['email']; ?> 

или:

<?php echo $node->field_staff_name[0]['value'] . '-' . gmdate('YmdHis'); ?> 

... где я имел поле с внутренним имя «field_staff_email» и использовал модуль электронной почты CCK, поэтому был использован тип «email». Или у меня было поле с внутренним именем «field_staff_name» и было просто обычным текстовым полем - таким образом, использовался тип «значение». Вызов gmdate() на конце - это обеспечить уникальность, потому что у вас могут быть два или несколько сотрудников, названных одинаковыми.

Как я обнаружил, все это было на первых экспериментировал с:

<?php print_r($node); ?> 

... что, конечно, дали сумасшедшие результаты, но, по крайней мере, я смог разобрать вывод и выяснить, как использовать $ node правильно здесь.

Просто обратите внимание, что если вы используете любую из этих подпрограмм PHP, то в итоге вы получите список содержимого в Drupal Admin, показывающий записи точно так же, как вы закодировали PHP. Вот почему я не просто использовал gmdate(), потому что тогда было бы трудно найти мою запись для редактирования.

Обратите внимание, что вы можете использовать преобразование Base-36 в gmdate(), чтобы уменьшить размер вывода, потому что gmdate ('YmdHis') довольно длинный.

3

Нет необходимости устанавливать что-либо:
при редактировании типа содержимого, нажмите кнопку «Редактировать»
(в меню Edit | Управление полями | Показать поля)
нажмите на Представление настройки формы

на метка поля тела:
Оставьте поле пустым, оно удалит поле «Тело».

0

Исходные ответы - все хорошо. Так же, как другая идея для части заголовка ... как насчет создания настраиваемого файла шаблона для типа узла cck. Скопируйте node.tpl.php на node-TYPE.tpl.php, а затем отредактируйте новый файл и удалите, где будет отображаться заголовок. (Не забудьте очистить кеш).

Выполнение этого способа означает, что каждый узел по-прежнему имеет заголовок, поэтому для управления контентом у вас не осталось пустых заголовков или чего-либо подобного.

HTH!