2008-09-18 2 views

답변

5

개발자가 아니거나 개발 프로세스를 바로 가기로 사용하려는 경우 auto_nodetitle 모듈을 사용하는 것이 좋습니다. Auto nodetitle을 사용하면 노드 제목을 생성하는 규칙을 만들 수 있습니다. 프로그래밍 방식의 규칙, 대체되는 토큰 또는 단순히 정적 텍스트 일 ​​수 있습니다. 만일 아무것도 보이지 않는 한. 당신이 (또는 개발 과정을 단축 할) 개발자를하지 않은 경우

3

본문을 제거하려면 형식을 편집하고 "제출 양식 설정"을 확장하고 본문 필드 레이블에 공백을 넣으십시오. 제목의 경우 다른 텍스트 필드로 이름을 바꿀 수 있습니다. 실제로 텍스트 필드가 필요 없다면 foo라고하는 사용자 정의 모듈을 만들고 $ form [ 'type'] [ '#']을 $ 0000으로 바꿀 때 $ form [ 'title']을 #value으로 대체하는 foo_form_alter value ']는 노드 유형입니다.

+0

Body 필드에는 좋았지 만 Name 필드를 제거하기 위해서는 auto_nodetitle 모듈을 사용하는 것이 좋습니다. 감사합니다. –

2

, 또 다른 가능한 해결책은 auto_nodetitle 모듈을 활용 이다. 자동 nodetitle을 사용하면 노드 제목을 생성하기위한 규칙을 만들 수 있습니다. 프로그래밍 방식 규칙 인 토큰이 대체되거나 단순히 정적 텍스트 일 ​​수 있습니다. 그럴만한 가치가없는 경우 else.

그리고 William OConnor's 솔루션에 추가 할 수 ...

모듈은 제대로 불행히도 설명되어 있습니다. 내 생각에 PHP를 사용하면 정말 효과적입니다. "패턴에 평가 PHP의"을 확인하고 "제목에 대한 패턴"에 입력 필드 뭔가 같은 :

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

또는 : 나는 내부와 필드를했다

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

... 이름은 "field_staff_email"이고 CCK 이메일 모듈을 사용했습니다. 따라서 '이메일'유형이 사용되었습니다. 또는 "field_staff_name"이라는 내부 이름을 가진 필드가 있었으며 일반 텍스트 필드 였으므로 'value'유형이 사용되었습니다. 결국 gmdate() 호출은 동일한 것을 지칭하는 두 명 이상의 직원이있을 수 있으므로 고유성을 보장하는 것입니다.

나는이 모든 첫 번째 실험에 의해이었다 발견하는 방법 : 물론 미친 결과를 제공하지만, 적어도 내가 출력을 구문 분석하고 사용하는 방법을 알아낼 수 있었다

<?php print_r($node); ?> 

... $ node 객체가 제대로 여기에 있습니다.

이 PHP 루틴 중 하나를 사용하면 드루팔 (Drupal Admin)의 콘텐트 목록이 PHP 코딩 코드와 정확히 일치하게됩니다. 이것이 편집을 위해 내 기록을 찾기가 어려울 수 있기 때문에 gmdate() 만 사용하지 않은 이유입니다.

또한 gmdate ('YmdHis')가 상당히 길기 때문에 gmdate()에서 Base-36 변환을 사용하여 출력 크기를 줄일 수 있습니다.

3

아무것도 설치할 필요가 없습니다 : 눌러 "편집"
콘텐츠 유형을 편집 할 때
이 (편집의 메뉴에서 | 필드 관리 | 디스플레이 필드)에 제출에
클릭 형태로 설정

에 본문 필드 레이블 : 는 공백으로 남겨
, 그것은 본문 필드를 제거합니다.

0

초기 답변은 모두 좋습니다. 그냥 제목 부분에 대한 또 다른 생각 ... 같은 방법 CCK 노드 유형에 대한 사용자 지정 서식 파일을 만드는 방법에 대한. node.tpl.php를 node-TYPE.tpl.php에 복사 한 다음 새 파일을 편집하고 제목이 렌더링 된 위치를 제거하십시오. (망가 캐시를 삭제하는 것을 잊지).

이렇게하면 모든 노드에 여전히 제목이 있으므로 콘텐츠 관리를 위해 빈 제목이나 이와 유사한 내용이 남지 않습니다.

HTH!

관련 문제