Làm cách nào để thêm các lớp bổ sung vào trường ngày ở dạng xem?


7

Tôi đang sử dụng Drupal 7 . Tôi đã tạo một chế độ xem, đó là sử dụng trường ngày. Tôi muốn tạo các lớp bổ sung cho trường ngày cho chế độ xem cụ thể đó.

Ví dụ,

<div class="field-content">
 <span class="date">10</span>
 <span class="month">June</span>
 <span class="year">2011</span>
 <span class="time"> 8:00 </span>
</div>

Bây giờ tôi có một mã:

<div class="field-content">
 <span class="date-display-single">10 June 2011, 8:00</span>
</div>

Làm thế nào tôi có thể làm điều đó từng bước?

Câu trả lời:


3
  1. Bạn cần cài đặt mô-đun mã thông báo (phiên bản beta mới nhất bao gồm mã thông báo trường) và mô-đun trình định dạng tùy chỉnh từ http://drupal.org/project/custom_formatters .

  2. Sau đó kích hoạt nó từ trang mô-đun.

  3. Chuyển đến admin-> architecture-> formatters.

  4. Thêm một định dạng mới, đặt tên mà bạn thích.

  5. Định dạng: HTML + Mã thông báo

  6. Loại trường: Ngày

  7. Định dạng:

    <span class="day">[node:source:field-datefieldname:custom:j]</span>
    <span class="month">[node:source:field-datefieldname:custom:F]</span>
    <span class="year">[node:source:field-datefieldname:custom:Y]</span>
  8. Tiết kiệm

Bây giờ, bạn đã tạo một trình định dạng ngày tùy chỉnh, mà bạn có thể sử dụng theo quan điểm của mình!


4

Bạn có thể làm điều này mà không cần bất kỳ mô-đun bổ sung.

  1. Thêm trường ngày. Loại trừ điều này khỏi màn hình. Chọn tùy chỉnh và viết d trong hộp (như trong ngày php trong ngày). Thay đổi 'Cài đặt kiểu' - Tùy chỉnh trường HMTL (đặt thành không) và Tùy chỉnh trường và trình bao bọc nhãn HTML (được đặt thành không).Trường ngày Drupal
  2. Thêm trường ngày một lần nữa. Loại trừ điều này cũng từ màn hình. Chọn tùy chỉnh và viết M vào hộp (như trong ngày php trong tháng). Thay đổi 'Cài đặt kiểu' - Tùy chỉnh trường HMTL (đặt thành không) và Tùy chỉnh trường và trình bao bọc nhãn HTML (được đặt thành không).
  3. Thêm trường ngày một lần nữa. Loại trừ điều này cũng từ màn hình. Chọn tùy chỉnh và viết Y vào hộp (như trong ngày php trong năm). Thay đổi 'Cài đặt kiểu' - Tùy chỉnh trường HMTL (đặt thành không) và Tùy chỉnh trường và trình bao bọc nhãn HTML (được đặt thành không).
  4. Thêm trường ngày một lần nữa (LẦN THỜI GIAN!). KHÔNG LOẠI TRỪ NÀY TỪ HIỂN THỊ. Chọn tùy chỉnh và viết G: i (như trong ngày php cho giờ và phút). Thay đổi 'Cài đặt kiểu' - Tùy chỉnh trường HMTL (đặt thành không) và Tùy chỉnh trường và trình bao bọc nhãn HTML (được đặt thành không).
  5. Viết lại kết quả của trường ngày cuối cùng này. Sử dụng các mẫu thay thế, sau đó bạn có thể viết một cái gì đó như thế này:

    <div class="date">
      <span class="day">
        [created]
      </span>
      <span class="month">
        [created_1]
      </span>
      <span class="year">
        [created_2]
      </span>
    </div>

Kết quả viết lại Drupal


1
Đây có vẻ là một phương pháp tuyệt vời cho ngày đã tạo, nhưng có vẻ như bạn không thể chọn "Định dạng tùy chỉnh" nếu bạn đang sử dụng trường mô-đun Ngày được thêm vào loại nội dung?
Đánh dấu

1
@Mark, nếu bạn gặp phải vấn đề này, bạn có thể thêm các định dạng ngày của mình bằng cách sử dụng / admin / config / khu vực / ngày-giờ, sau đó bước 1-3 bạn chọn định dạng phù hợp từ danh sách thả xuống thay vì tùy chỉnh.
Webdrips

3

Một cách nhanh chóng hợp lý (nếu bạn có thể viết php), nhưng giải pháp hơi hack sẽ là ghi đè lên mẫu cho trường đó (xem phần cơ bản theo chủ đề ), xử lý giá trị ngày thô với php để lấy ra các phần riêng biệt và sau đó dán chúng lại với nhau HTML bạn chọn.

Ngoài ra, tôi nghĩ rằng bạn có thể viết một trình định dạng trường ngày tùy chỉnh ( đây là người đã làm điều đó cho D6). Đó sẽ là một giải pháp tốt trong trường hợp bạn muốn sử dụng lại trình định dạng tùy chỉnh trong các nút của mình.


1

Điều này là không thể khi sử dụng UI UI. Bạn sẽ cần một đoạn mã khá phức tạp và tôi tò mò về trường hợp sử dụng của bạn trước khi khuyến khích bạn bắt tay vào tìm hiểu điều đó.

Nếu bạn hỏi làm thế nào để thêm các lớp vào toàn bộ trường, câu trả lời sẽ là như thế này:

  1. Nhấp vào trường trong giao diện Lượt xem.

  2. Mở rộng bộ trường "Cài đặt kiểu".

  3. Chọn hộp kiểm "Tùy chỉnh trường HTML", sau đó chọn hộp kiểm "Tạo lớp CSS".

  4. Nhập lớp mong muốn của bạn.

Có lẽ giải pháp đó sẽ là đủ. Nếu không, tôi chúc bạn may mắn.


2
Cảm ơn câu trả lời, nhưng giải pháp của bạn chỉ giúp thay đổi lớp cho tất cả các lĩnh vực, nó không cho phép tôi tạo các phần ngày riêng biệt.

1
Sau đó, viết một trình định dạng tùy chỉnh có thể là tùy chọn thực sự duy nhất của bạn, vào thời điểm ngày đến lớp chủ đề được xử lý hoàn toàn, hãy xem chức năng Trình trợ giúp để nhận dữ liệu trường thô và được hiển thị .
tim.plunkett

1

Điều này thực sự dễ dàng, (một khi bạn biết cách)

Sử dụng trường tùy chỉnh bộ hiển thị

Chuyển đến quản trị / cấu trúc / DS / trường

(Trong menu: Cấu trúc -> Bộ hiển thị -> Trường)

Nhấp vào thêm trường mã

Đối với trường hợp sử dụng của tôi, tôi đã nhập như sau

Nhãn

Bất cứ điều gì

Các thực thể

Nút

Trường giới hạn

Bỏ trống

Mã trường

<div>
  <span class="mf-month">[node:created:custom:M]</span> 
  <span class="mf-day">[node:created:custom:d]</span>
</div>

Mã thông báo

đã kiểm tra

Khi bạn đã tạo trường, sau đó chuyển đến trang quản lý hiển thị cho loại nội dung và chế độ xem mà bạn đang điều chỉnh và chọn trường tùy chỉnh mới.

Ảnh chụp màn hình của thiết lập ở trên

Ảnh chụp màn hình của trang cài đặt

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.