Khi sử dụng chế độ xem để hiển thị ngày bắt đầu và ngày kết thúc theo mặc định, nó thêm văn bản "vào" giữa hai ngày, tôi đã tự hỏi đâu là cách thích hợp để chuyển đổi "thành" thành "-" hoặc bất cứ điều gì khác.
Cảm ơn
Khi sử dụng chế độ xem để hiển thị ngày bắt đầu và ngày kết thúc theo mặc định, nó thêm văn bản "vào" giữa hai ngày, tôi đã tự hỏi đâu là cách thích hợp để chuyển đổi "thành" thành "-" hoặc bất cứ điều gì khác.
Cảm ơn
Câu trả lời:
Câu trả lời của tôi giả sử tôi có một trường có tên là "field_event_date" hiển thị dưới dạng Nội dung: Ngày sự kiện theo quan điểm của tôi.
Câu trả lời số 1 - Sử dụng Xem mẫu
Trong Phần nâng cao của chế độ xem, trong phần Khác, hãy mở Thông tin chủ đề
Sao chép tên tệp của tùy chọn chủ đề cuối cùng cho Nội dung trường: Ngày sự kiện, trong trường hợp của tôi, đó sẽ là khung nhìn-view-field - VIEWMACHINENAME - BLOCKMACHINENAME - trường-event-date.tpl.php
Sao chép phần sau vào nó:
<?php
/**
* @file
* This template is used to print a single field in a view.
*
* It is not actually used in default Views, as this is registered as a theme
* function which has better performance. For single overrides, the template is
* perfectly okay.
*
* Variables available:
* - $view: The view object
* - $field: The field handler object that can process the input
* - $row: The raw SQL result that can be used
* - $output: The processed output that will normally be used.
*
* When fetching output from the $row, this construct should be used:
* $data = $row->{$field->field_alias}
*
* The above will guarantee that you'll always get the correct data,
* regardless of any changes in the aliasing that might happen if
* the view is modified.
*/
?>
<?php print date("Y-m-d H:i:s", strtotime($row->field_field_event_date[0]["raw"]["value"])); ?>
-
<?php print date("Y-m-d H:i:s", strtotime($row->field_field_event_date[0]["raw"]["value2"])); ?>
Điều này sẽ xuất ra một cái gì đó như 2014-08-09 20:15:00 - 2014-08-12 20:15:00, định dạng bằng chuỗi định dạng date () .
Câu trả lời số 2 - Sử dụng Xem trường
Điều này sẽ xuất ra một cái gì đó như Chủ nhật, ngày 1 tháng 12 năm 2013 - 12:00 - Chủ nhật, ngày 1 tháng 12 năm 2013 - 12:00, dựa trên định dạng bạn đã chọn.
[field_my_time] - [field_my_time_1]
.
Mặc dù câu trả lời ở trên là chính xác, nhưng tốt nhất là không sử dụng php trong TPL như thế này. Drupal đi kèm với một loạt các API ưa thích, một trong số đó là template_pre process_view_view_fields ( Như được thấy ở đây )
Trong template.php của bạn làm điều này:
function YOURTHEME_preprocess_views_view_fields(&$vars) {
if($vars['view']->name == 'YOUR_VIEW') {
if (strpos($vars['fields']['YOUR_FIELD']->content,'to') !== false) {
$vars['fields']['YOUR_FIELD']->content = str_replace('to','-',$vars['fields']['YOUR_FIELD']->content);
}
}
}
Trong Ngày 7.x-2.8 trở lên, toàn bộ chuỗi "ngày bắt đầu đến ngày kết thúc" có thể dịch được. Điều này có nghĩa là một cách dễ dàng để thay đổi "thành" thành "-" là sử dụng mô-đun Ghi đè Chuỗi . Đơn giản chỉ cần tải xuống và kích hoạt mô-đun, sau đó truy cập / admin / config / khu vực / chuỗioverrides. Trên trang đó, thêm "! Ngày bắt đầu vào! Ngày kết thúc" (không có dấu ngoặc kép) trong "Bản gốc" và "! Ngày bắt đầu -! Ngày kết thúc" (không có dấu ngoặc kép) trong "Thay thế". Nhấp vào để lưu. Bạn cũng có thể cần phải xóa bộ nhớ cache của trang web trước khi thấy sự thay đổi.
Một lợi ích của phương pháp này là nó sẽ thay đổi "thành" thành "-" trên các nút và dạng xem cùng một lúc.