문제

나는 이미 많은 시간이 걸리는 바보 같은 문제가 있습니다.

URL이있는 컨텐츠 템플릿을 만들었습니다. HTML 코드를 보면 양식 태그에 큰 지방 "maxlength = 256"이 표시됩니다. 고객이 실제로 긴 링크 (500 자 이상)를 입력하기를 원하기 때문에이 필드의 길이를 확장하고 싶습니다. 내가 어떻게 바꿀 수 있는지 아십니까? 코드를 통해 일반적인 검색을 할 때는 256의 많은 발생을 볼 수 있지만 길이는 어딘가에 데이터베이스에있을 수 있습니다. 물론 데이터베이스 필드를 더 긴 바르 차 (1024)로 만들었습니다 (1024는 시적으로 들렸습니다). 그래서 걱정할 필요가 없습니다.

나는 그것이 어리 석다고 생각하지만, 우리가 알고 있듯이 고객은 항상 옳습니다.

Drupal 6.14를 사용하고 있습니다.

도움이 되었습니까?

해결책 2

야후! 유용한 드 루 팔 페이지 덕분에 고정했습니다.http://drupal.org/node/300705

양식이 완전히 생성 된 후에 양식을 편집 할 수 있다는 것을 알았습니다. Erik이 제시 한 솔루션은 좋지만 CCK 필드에는 효과가없는 것으로 보입니다. 제 경우에는 Erik의 솔루션 이이 세대 단계가 아닌 경우 먼저 발생했을 수 있습니다.

내 새 코드는 다음과 같습니다.

function longerfield_form_alter(&$form, &$form_state, $form_id) {
      $form['#after_build'][] = 'longerfield_after_build';
    }

function longerfield_after_build($form, &$form_state) {
  // This is for a node reference field:
  $form['field_page_boeken'][0]['data']['url']['#maxlength'] = 1024;
  return $form;
}

이제 나도 추악하다는 것을 알 수 있습니다. 특히 다른 형태의 요소가있을 수 있기 때문에 (0에서 증가 함), 첫 번째 요소에서 작동합니다! yippeee!

다른 팁

hook_form_alter ()를 사용하려고합니다 Templete.php 또는 사용자 정의 모듈.

다음과 같이 보일 것입니다.

MODULE_form_alter(&$form, &$form_state, $form_id) {
  if($form_id = 'name_of_form_you_want_to_alter') {
    form['name_of_url_field']['#maxlength'] = 500;
  }
}

모듈을 이름으로 바꾸십시오 테마 (Template.php 인 경우) 또는 이름으로 바꾸십시오. 사용중인 사용자 정의 모듈.

양식의 ID를 찾으려면 FireBug로 요소를 검사하십시오. URL 필드의 ID에 대해서도 마찬가지입니다.

자세한 내용이 필요한지 알려주세요.

편집 : 지적한 바와 같이, 테마 레벨에서 후크를 호출 할 수없는 것처럼 보입니다.

이를 수행하는 가장 좋은 방법은 사이트를위한 작은 사용자 정의 모듈을 만드는 것입니다. sitename_customazations와 같은 것을 부를 수 있습니다.

당신이 필요한 것은 modulename.info라는 간단한 .info 파일 만 있으면 다음과 같이 보입니다.

name = SITE customizations
description = "Customizations"

또한 modulename.module 파일이 필요합니다. hook_form_alter 전화.

추신. PHP 태그를 닫지 않도록하십시오 (?>) .module 파일에서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top