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"}>
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;
class/Submission.php
先加入:
use XoopsModules\Submission\Submission_data;
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);
}
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");
//刪除資料
case 'submission_data_destroy':
Submission_data::destroy($id);
header("location: {$_SERVER['PHP_SELF']}?id=$submission_id");
exit;
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}>