เมื่อใช้มุมมองเพื่อแสดงวันที่เริ่มต้นและสิ้นสุดตามค่าเริ่มต้นจะเพิ่มข้อความ "เป็น" ในระหว่างวันที่สองวันฉันสงสัยว่าวิธีที่เหมาะสมในการแปลง "เป็น" เป็น "-" หรืออย่างอื่นคืออะไร
ขอบคุณ
เมื่อใช้มุมมองเพื่อแสดงวันที่เริ่มต้นและสิ้นสุดตามค่าเริ่มต้นจะเพิ่มข้อความ "เป็น" ในระหว่างวันที่สองวันฉันสงสัยว่าวิธีที่เหมาะสมในการแปลง "เป็น" เป็น "-" หรืออย่างอื่นคืออะไร
ขอบคุณ
คำตอบ:
คำตอบของฉันถือว่าฉันมีเขตข้อมูลที่เรียกว่า "field_event_date" ซึ่งแสดงเป็นเนื้อหา: วันที่จัดกิจกรรมในมุมมองของฉัน
คำตอบ # 1 - ใช้เทมเพลตดู
ภายใต้ส่วนขั้นสูงของมุมมองภายใต้ส่วนอื่น ๆ ให้เปิดข้อมูลชุดรูปแบบ
คัดลอกชื่อไฟล์ของตัวเลือกชุดรูปแบบสุดท้ายสำหรับเนื้อหาของฟิลด์: วันที่ของเหตุการณ์ในกรณีของฉันมันจะเป็น views-view-field - VIEWMACHINENAME - BLOCKMACHINENAME - field-event-date.tpl.php
คัดลอกสิ่งต่อไปนี้ลงไป:
<?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"])); ?>
นี้บางสิ่งบางอย่างออกจะเหมือน 2014/08/09 20:15:00 - 2014/08/12 20:15:00, รูปแบบการใช้วันที่ () สตริงรูปแบบ
คำตอบ # 2 - ใช้ฟิลด์ดู
สิ่งนี้จะแสดงผลบางอย่างเช่นวันอาทิตย์ที่ 1 ธันวาคม 2013 - 12:00 - วันอาทิตย์ที่ 1 ธันวาคม 2013 - 12:00 ตามรูปแบบที่คุณเลือก
[field_my_time] - [field_my_time_1]
และเขียนผลของสนามวันที่สิ้นสุดที่มีรูปแบบการเปลี่ยนเพื่อสิ่งที่ต้องการ
แม้ว่าคำตอบข้างต้นนั้นถูกต้อง แต่ควรปฏิบัติไม่ให้ใช้ php ใน TPL เช่นนี้ Drupal มาพร้อมกับ API แฟนซีหลายอันหนึ่งในนั้นคือ template_preprocess_views_view_fields ( ตามที่เห็นที่นี่ )
ใน template.php ของคุณทำสิ่งนี้:
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);
}
}
}
ในวันที่ 7.x-2.8 และสูงกว่าสตริงทั้งหมด "วันที่เริ่มต้นจนถึงวันที่สิ้นสุด" สามารถแปลได้ ซึ่งหมายความว่าวิธีง่าย ๆ ในการเปลี่ยน "เป็น" เป็น "-" คือการใช้โมดูลString Overrides เพียงดาวน์โหลดและเปิดใช้งานโมดูลจากนั้นไปที่ / admin / config / region / stringoverrides ในหน้านั้นให้เพิ่ม "! start-date เป็น! end-date" (โดยไม่ใส่เครื่องหมายอัญประกาศ) ภายใต้ "Original" และ "! start-date -! end-date" (โดยไม่ใส่เครื่องหมายอัญประกาศ) ใต้ "การแทนที่" คลิกบันทึก คุณอาจต้องล้างแคชเว็บไซต์ของคุณก่อนที่จะเห็นการเปลี่ยนแปลง
ข้อดีอย่างหนึ่งของวิธีนี้คือจะเปลี่ยน "เป็น" เป็น "-" บนโหนดและมุมมองพร้อมกัน