:::

3-5 用 $op 來自動載入對應的子樣板檔

  1. 上個單元說了,index (列出)、show (顯示)、create (表單) 需要有界面,因此,會有對應子樣板(名稱規則為 op_資料表_動作.tpl 依此類推)。
  2. setup.php 使用了 submission_setup.tpl 主樣板
    $GLOBALS['xoopsOption']['template_main'] = 'submission_setup.tpl';
  3. submission_setup.tpl 主樣板位於 templates/ 下,位置不可更改,其內容為:
    <{$toolbar|default:''}>
    <{if $now_op|default:false}>
        <{include file="$xoops_rootpath/modules/$xoops_dirname/templates/op_`$now_op`.tpl"}>
    <{/if}>
    
    <script language="JavaScript" type="text/javascript">
        $(document).ready(function(){
            $('[data-toggle="tooltip"]').tooltip();
            $('[data-bs-toggle="tooltip"]').tooltip();
        });
    </script>
    1. <{$toolbar|default:''}> 就是工具列,不需要可以刪除。其值由 setup.php 的頁尾部份送過來的
      $xoopsTpl->assign('toolbar', Utility::toolbar_bootstrap($interface_menu, false, $interface_icon));

      樣板標籤後的 |default:'' 是用來給預設值,避免沒有送 $toolbar 變數過來時,會顯示錯誤。

    2. $now_op 也是由 setup.php 的頁尾部份送過來的,用來自動載入子樣板。
      $xoopsTpl->assign('now_op', $op);
      <{if $now_op|default:false}>
          <{include file="$xoops_rootpath/modules/$xoops_dirname/templates/op_`$now_op`.tpl"}>
      <{/if}>
    3. 例如流程會根據 $op 的值來執行動作,萬一沒有 $op 值,就執行 default:,因此,我們必須自行定義  $op 的值,以便後續自動載入子樣板。
      //預設動作
      default:
          if (empty($id)) {
              $where_arr = [];
              Submission::index($where_arr, [], [], 20);
              $op = 'submission_index';
          } else {
              $where_arr['id'] = $id;
              Submission::show($where_arr);
              $op = 'submission_show';
          }
          break;
      1. 例如沒有 $id 時,就是用 index() 列出全部,因此,我們就自己設定一個 $op = 'submission_index'; 後續便會自動載入 op_submission_index.tpl 這個子樣板檔
      2. $id 時,就是用 show() 來觀看某一筆資料,因此,我們就自己設定一個 $op = 'submission_show'; 後續便會自動載入 op_submission_show.tpl 這個子樣板檔
    4. 最後一部份非必須,只是為了支援 BootStrap4 或BootStrap5 的tooltip提示功能,放著即可。用到刪除亦無妨。
      <script language="JavaScript" type="text/javascript">
          $(document).ready(function(){
              $('[data-toggle="tooltip"]').tooltip();
              $('[data-bs-toggle="tooltip"]').tooltip();
          });
      </script>

       


:::

書籍目錄

展開 | 闔起

快速登入


https%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D2066%26tbsn%3D56

計數器

今天: 812812812
昨天: 1856185618561856
總計: 8776736877673687767368776736877673687767368776736