跳到主內容

Views PHP

Drupal 7能夠方便在views執行php的模組 https://www.drupal.org/project/views_php

顯示某個欄位內容 : field_dow 

<?php
// 假設 $data 是你已經從資料庫或其他來源獲取的資料
$field_dow = $data->_field_data['nid']['entity']->field_dow['und'];

// 提取 [field_dow] 內的值
$dow_values = array_map(function($item) {
    return $item['value'];
}, $field_dow);

// 印出結果
echo implode(', ', $dow_values);
?>

field_dow 的值為 1 ~ 7,接下來轉換成 一 ~ 日(星期)

<?php
// 假設 $data 是你已經從資料庫或其他來源獲取的資料
$field_dow = $data->_field_data['nid']['entity']->field_dow['und'];

// 數字對應的星期轉換表
$weekdays = [
    1 => '一',
    2 => '二',
    3 => '三',
    4 => '四',
    5 => '五',
    6 => '六',
    7 => '日'
];

// 提取 [field_dow] 內的值並轉換成星期
$dow_names = array_map(function($item) use ($weekdays) {
    return $weekdays[$item['value']];
}, $field_dow);

// 印出結果
echo implode(', ', $dow_names);
?>

我的站有一個功能是在撈夜市的的時間,例如今天是星期五,他就會只顯示星期五的夜市

使用 Views Day of Week (views_dow) 達成的,但由於他預出來的值是英文,不動原始碼的情況,就用這個作法去處理