:::

9-9 根據群組來拿掉或取代資料

  1. 若是讓非管理員也看到報名者的電話或姓名,那可能會出大事...因此,我們可以除了管理員之外,其他群組不能看到電話,姓名也只能看到局部姓名
    case "show":
        ...略...
        $ApplyModel->disable('phone', ['index'], [1]);
        $ApplyModel->replace('uid', [], ['substr_replace' => ['this', '〇', 3, 3]], [1]);
        $ApplyModel->index();
        break;

    加上後,管理員看起來像這樣:

    非管理員則像這樣:

  2. 關於判斷群組拿掉某個欄位:
    $ApplyModel->disable('phone', ['index'], [1]);

    第一個參數就是針對phone欄位來使之不顯示
    第二個參數是要指定在哪些功能中不顯示,目前指定在index列表中不顯示
    第三個參數則是例外的群組陣列,也就是哪些群組不進行隱藏,填入[1]代表管理員群組不取代,可以看到電話。

  3. 關於disable()可參考:https://campus-xoops.tn.edu.tw/modules/tad_book3/page.php?tbsn=48&tbdsn=1629

  4. 關於判斷群組用函數(而非指定替換值的方式)替換欄位內容:
    $ApplyModel->replace('uid', [], ['substr_replace' => ['this', '〇', 3, 3]], [1]);

    第一個參數就是針對uid欄位,因為之前有套用uid_name(),所以,此時該欄位值會變成姓名。
    第二個參數未填,原本是要填值的對應,但因為這不是已知的值(天曉得報名的人會叫做什麼名字),所以,留空。
    第三個參數是callback陣列,用來呼叫各種函數用,這裡用substr_replace函數來把姓名的第二個字取代成〇,其中this代表uid_name的值(也就是姓名)
    第四個參數則是例外的群組陣列,也就是哪些群組不進行取代,填入[1]代表管理員群組不取代,可以看到全名。


:::

書籍目錄

展開 | 闔起
https%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D47%26tbdsn%3D1590

計數器

今天: 4131413141314131
昨天: 3438343834383438
總計: 7394460739446073944607394460739446073944607394460