:::

10-4 列出某主題下的所有文章

  1. 修改 templates/op_submission_show.tpl 在「我要投稿」下方引入 op_submission_data_index.tpl 樣板檔:
    <div class="text-center my-3">
        <{if $now > $start_ts and $now < $end_ts}>
            <a href="index.php?op=submission_data_create&submission_id=<{$id}>" class="btn btn-lg btn-primary my-3"><i class="fa-solid fa-pen-to-square"></i> 我要投稿</a>
        <{/if}>
    </div>
    
    <{include file="$xoops_rootpath/modules/submission/templates/op_submission_data_index.tpl"}>
  2. 修改 index.php 以及 setup.php switch() 流程,在 default 中的 show() 加入第二個自訂的參數 ['all_submission_data'],用來取得該主題下所有投稿文章
    //預設動作
    default:
        if (empty($id)) {
            ...略...
        } else {
            $where_arr['id'] = $id;
            Submission::show($where_arr, ['all_submission_data']);
            $op = 'submission_show';
        }
        break;
  3. 接著修改class/Submission.php 先加入:
    use XoopsModules\Submission\Submission_data;
  4. 接著便可在 class/Submission.php  show() 中加入撈取該主題的文章語法,非管理者只能撈取已經審核,而且除了「不通過」以外的所有文章,順便加入BootstrapTable功能:
    // if (in_array('xxx', $other_arr) || in_array('all', $other_arr)) {
    //     $data['xxx'] = ooo::get_all();
    // }
    
    if (in_array('all_submission_data', $other_arr) || in_array('all', $other_arr)) {
        if (Tools::chk_is_adm('', '', __FILE__, __LINE__, 'return')) {
            $data_where_arr['submission_id'] = $data['id'];
        } else {
            $data_where_arr = ['submission_id' => $data['id'], "review_time != '0000-00-00 00:00:00'", "award != 'x' "];
        }
        Submission_data::index($data_where_arr);
    }
  5. 修改 class/Submission_data.php  index() 中,刪除確認的語法,加上submission_id的參數,以利刪除後,轉向到某個投稿主題下的頁面
    //刪除確認的JS
    $SweetAlert = new SweetAlert();
    $SweetAlert->render('submission_data_destroy_func', "{$_SERVER['PHP_SELF']}?op=submission_data_destroy&submission_id={$where_arr['submission_id']}&id=", "id");
  6. index.php中的刪除流程,其轉向就可以加入投稿主題的編號了
    //刪除資料
    case 'submission_data_destroy':
        Submission_data::destroy($id);
        header("location: {$_SERVER['PHP_SELF']}?id=$submission_id");
        exit;

     

  7. 最後,整理一下 templates/op_submission_data_index.tpl 就差不多大功告成了。
    <{if $all_submission_data|default:false}>
        <table data-toggle="table" data-pagination="true" data-search="true" data-mobile-responsive="true" class="table table-sm table-striped table-hover">
            <thead>
                <tr>
                    <!--投稿主題-->
                    <th data-field="title" data-sortable="true" class="nowrap"><{$smarty.const._MD_SUBMISSION_DATA_TITLE}></th>
                    <!--年級-->
                    <th data-field="grade" data-sortable="true" class="nowrap c">班級</th>
                    <!--投稿姓名-->
                    <th data-field="name" data-sortable="true" class="nowrap c"><{$smarty.const._MD_SUBMISSION_DATA_NAME}></th>
                    <!--指導老師-->
                    <th data-field="teacher" data-sortable="true" class="nowrap c"><{$smarty.const._MD_SUBMISSION_DATA_TEACHER}></th>
                    <!--審查時間-->
                    <th data-field="review_time" data-sortable="true" class="nowrap c"><{$smarty.const._MD_SUBMISSION_DATA_REVIEW_TIME}></th>
                    <!--獎項-->
                    <th data-field="award" data-sortable="true" class="nowrap c"><{$smarty.const._MD_SUBMISSION_DATA_AWARD}></th>
                    <{if $smarty.session.submission_adm|default:false}>
                        <th><{$smarty.const._TAD_FUNCTION}></th>
                    <{/if}>
                </tr>
            </thead>
            <{foreach from=$all_submission_data key=k item=data name=all_submission_data}>
                <tr>
                    <!--投稿主題-->
                    <td><a href="<{$xoops_url}>/modules/submission/index.php?op=submission_data_show&id=<{$data.id}>"><{$data.title}></a><{$data.files}></td>
    
                    <!--班級-->
                    <td><{$data.grade}>年<{$data.info.class}>班</td>
    
                    <!--投稿姓名-->
                    <td><{$data.name}></td>
    
                    <!--指導老師-->
                    <td><{$data.teacher}></td>
    
                    <!--審查時間-->
                    <td><{$data.review_time}></td>
    
                    <!--獎項-->
                    <td><{if $data.award=="x"}>不通過<{else}><{$data.award}><{/if}></td>
    
                    <{if $smarty.session.submission_adm|default:false}>
                        <td>
                            <a href="javascript:submission_data_destroy_func(<{$data.id}>);" class="btn btn-sm btn-xs btn-danger" title="<{$smarty.const._TAD_DEL}>"><i class="fa fa-trash"></i></a>
                            <a href="<{$xoops_url}>/modules/submission/index.php?op=submission_data_edit&submission_id=<{$data.submission_id}>&id=<{$data.id}>" class="btn btn-sm btn-xs btn-warning" title="<{$smarty.const._TAD_EDIT}>"><i class="fa fa-pencil"></i></a>
    
                        </td>
                    <{/if}>
                </tr>
            <{/foreach}>
        </table>
    <{/if}>
    

     


:::

書籍目錄

展開 | 闔起

快速登入


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

計數器

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