2011-03-08 3 views
5

드루팔 (Drupal)에 신용 카드 양식을 생성 중입니다. 사용자가 신용 카드 만료일을 선택할 수있는 날짜 선택 필드가 필요합니다.이 필드는 월과 연도만으로 구성됩니다.월과 연도가있는 날짜 필드 생성 - Drupal

Drupal 양식 #type '날짜'는 day-month-year 옵션이있는 날짜 선택기를 생성합니다. 나는 단지 month-year이 필요하다. 어떤 도움이 필요합니까?

답변

1

이봐, 나는 이것을하는 올바른 방법을 발견했다. 이 솔루션은 사용자 정의 양식 #type 요소를 작성합니다. 날짜 API 모듈합니다 (Date module의 일부)를 사용하여 http://www.akchauhan.com/create-drupal-form-elements-like-date-element/

+1

그런데 실제 날짜 모듈을 월 단위로만 세분화하여 사용하는 것을 고려 했습니까? –

+0

나는 그것에 대해 몰랐다. 나는 그것을 시도 할 것이다. 감사. – Sparky

3

두 개의 선택 상자로 이동하여 필드를 월 및 연도로 미리 채 웁니다.

'#TYPE'=> '선택', '#options'=> 어레이 ( '1'=> '1월' '2'=> '2월' . . .'12 '=> '12 월',),

같은 방식으로합니다. 간단한 PHP 코드를 사용하여 연도 배열을 생성 한 다음 모든 옵션을 수동으로 제공하는 대신 옵션에서 사용할 수 있습니다!

+0

제안 해 주셔서 감사합니다. 확실히 유용한 솔루션입니다. – Sparky

9

를 참조하십시오, 당신은 date_select 유형은 당신이 당신의 분야에 대한 상자 양식 요소를 선택할 줄 것이다

<?php 
$form['payment_expirationDate'] = array(
    '#type' => 'date_select', 
    '#title' => t('Expiration Date:'), 
    '#date_format' => 'm-Y', 
    '#default_value' => $expirationDate, 
    '#date_year_range' => '-1:+10', 
    '#required' => TRUE, 
    '#date_label_position' => 'within' 
); 
?> 

.... 같은 것을 할 수 있습니다. #date_format 배열 키를 사용하면 PHP 날짜 형식 문자열을 사용하여 선택 상자의 내용과 내용을 제어 할 수 있습니다.

2

방금 ​​Drupal 7에서 수행했습니다. 날짜 모듈을 설치하고 사용 설정하고 콘텐츠 유형에 날짜 필드를 추가 한 다음 설정을 편집 할 때 "수집 할 날짜 속성"에서 연도를 달. 그런 다음 사용자가 해당 유형의 새 인스턴스를 만들면 2 개의 드롭 다운 상자가 나타납니다. 한 달은 한 달, 한 해는 한 달.

멋지게 표시하려면 먼저 구성> 날짜 및 시간 설정으로 이동 한 다음 PHP Date 형식을 사용하여 새 형식을 만듭니다. "F Y"는 "April 2012"와 같은 것을 줄 것입니다. 해당 형식을 사용하는 새 날짜 형식을 만든 다음 콘텐츠 형식 표시 설정으로 돌아가서 새 날짜 필드를 편집하여 새 날짜 형식을 사용합니다.