2011-03-08 12 views
5

Tôi đang tạo biểu mẫu thẻ tín dụng trong Drupal. Tôi cần một trường chọn ngày mà người dùng có thể chọn ngày hết hạn thẻ tín dụng của họ, chỉ bao gồm Tháng và Năm -Không có ngày.Tạo trường ngày chỉ có tháng và năm - Drupal

Biểu mẫu Drupal #type 'ngày' tạo trình chọn ngày, có tùy chọn day-month-year. Tôi chỉ cần month-year. Bất kỳ giúp đỡ?

Trả lời

1

Xin chào, tôi đã tìm đúng cách để thực hiện việc này. Giải pháp tạo ra một hình thức tùy chỉnh #type yếu tố. Xem http://www.akchauhan.com/create-drupal-form-elements-like-date-element/

+1

Bằng cách này, bạn đã cân nhắc sử dụng mô-đun Ngày thực tế với độ chi tiết được đặt thành chỉ tháng và năm? –

+0

Tôi không biết về nó. Tôi sẽ thử xem. Cảm ơn. – Sparky

3

Đi cho hai hộp chọn và điền trước các trường có tháng và năm!

'#type' => 'chọn', '#options' => mảng ( '1' => 'Tháng Một, '2'=>' Tháng Hai, . . . '12' => 'Tháng 12',),

Tương tự như vậy trong nhiều năm. Bạn có thể tạo mảng năm bằng cách sử dụng mã php đơn giản và sau đó sử dụng nó trong tùy chọn thay vì cho tất cả các năm theo cách thủ công!

+0

Cảm ơn đề xuất. Nó chắc chắn là một giải pháp có thể sử dụng. – Sparky

9

Sử dụng các module Ngày API (một phần của Date module), bạn có thể làm một cái gì đó như thế này ....

<?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' 
); 
?> 

Loại date_select sẽ cung cấp cho bạn lựa chọn các yếu tố hình thức hộp cho lĩnh vực của bạn. Và khóa mảng #date_format cho phép bạn sử dụng chuỗi định dạng ngày tháng PHP để kiểm soát những hộp chọn nào xuất hiện và những gì đi vào bên trong chúng.

2

Tôi vừa mới thực hiện điều này trong Drupal 7. Chỉ cần cài đặt và bật mô-đun ngày, thêm trường ngày vào loại nội dung của bạn, sau đó chỉnh sửa cài đặt, trong "Thuộc tính ngày để thu thập", chỉ cần đánh dấu Năm và Tháng. Sau đó, khi người dùng tạo một phiên bản mới của loại đó, họ sẽ chỉ nhận được 2 hộp thả xuống; một cho tháng và một cho năm.

Để hiển thị chúng một cách độc đáo, trước tiên hãy chuyển đến Định cấu hình> Cài đặt ngày và giờ, sau đó tạo Định dạng mới bằng cách sử dụng định dạng PHP Date ví dụ: "F Y" sẽ cung cấp cho bạn một cái gì đó như "Tháng 4 năm 2012". Tạo Loại ngày mới sử dụng định dạng đó và sau đó quay lại cài đặt hiển thị Loại nội dung của bạn và chỉnh sửa trường Ngày mới để sử dụng Loại ngày mới.