# 視圖與模型
* * * * *
### 視圖
視圖是作者復制的其他列表或編輯頁面視圖修改的,在實際項目開發中作者推薦能復制就直接復制,這樣既可以降低出錯誤的概率又可以提升工作效率,若手敲的話可能經常因為某個字母或字符的錯誤導致系統報錯。
**blogroll_edit.html 內容如下:**
~~~
<form action="{:url()}" method="post" class="form_single">
<div class="box">
<div class="box-body">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>鏈接名稱</label>
<span>(友情鏈接名稱,用于前端展示)</span>
<input class="form-control" name="name" placeholder="請輸入友情鏈接名稱" value="{$info['name']|default=''}" type="text">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>友情鏈接圖片</label>
<span class="">(請上傳單張圖片)</span>
<br/>
{assign name="img_id" value="$info.img_id|default='0'" /}
{:hook('File', ['name' => 'img_id', 'value' => $img_id, 'type' => 'img'])}
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>鏈接URL</label>
<span>(例如:https://demo.onebase.org)</span>
<input class="form-control" name="url" placeholder="請輸入鏈接URL" value="{$info['url']|default=''}" type="text">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>鏈接描述</label>
<span>(此友情鏈接的描述信息)</span>
<textarea class="form-control" name="describe" rows="3" placeholder="請輸入鏈接描述">{$info['describe']|default=''}</textarea>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>排序</label>
<input class="form-control" name="sort" placeholder="請輸入排序值" value="{$info['sort']|default='0'}" type="text">
</div>
</div>
</div>
</div>
<div class="box-footer">
<input type="hidden" name="id" value="{$info['id']|default='0'}"/>
{include file="layout/edit_btn_group"/}
</div>
</div>
</form>
~~~
**blogroll_list.html 內容如下:**
~~~
<div class="box">
<div class="box-header">
<ob_link><a class="btn" href="{:url('blogrollAdd')}"><i class="fa fa-plus"></i> 新 增</a></ob_link>
</div>
<div class="box-body table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>名稱</th>
<th>圖片</th>
<th>URL</th>
<th>排序</th>
<th>創建時間</th>
<th>狀態</th>
<th>操作</th>
</tr>
</thead>
{notempty name='list'}
<tbody>
{volist name='list' id='vo'}
<tr>
<td>{$vo.name}</td>
<td><img class="admin-list-img-size" src="{$vo.img_id|get_picture_url}"/></td>
<td>{$vo.url}</td>
<td>{$vo.sort}</td>
<td>{$vo.create_time}</td>
<td>{$vo.status_text}</td>
<td class="col-md-2 text-center">
<ob_link><a href="{:url('blogrollEdit', array('id' => $vo['id']))}" class="btn"><i class="fa fa-edit"></i> 編 輯</a></ob_link>
<ob_link><a class="btn confirm ajax-get" href="{:url('blogrollDel', array('id' => $vo['id']))}"><i class="fa fa-trash-o"></i> 刪 除</a></ob_link>
</td>
</tr>
{/volist}
</tbody>
{else/}
<tbody><tr class="odd"><td colspan="7" class="text-center" valign="top">{:config('empty_list_describe')}</td></tr></tbody>
{/notempty}
</table>
</div>
<div class="box-footer clearfix text-center">
{$list->render()}
</div>
</div>
~~~
* * * * *
### 模型
好啦,最后一步,來加個友情鏈接數據模型,通過功能可以分析出 前端有查詢需求,所以咱們的模型加到通用模塊的model中,內容如下:
~~~
<?php
// +---------------------------------------------------------------------+
// | OneBase | [ WE CAN DO IT JUST THINK ] |
// +---------------------------------------------------------------------+
// | Licensed | http://www.apache.org/licenses/LICENSE-2.0 ) |
// +---------------------------------------------------------------------+
// | Author | Bigotry <3162875@qq.com> |
// +---------------------------------------------------------------------+
// | Repository | https://gitee.com/Bigotry/OneBase |
// +---------------------------------------------------------------------+
namespace app\common\model;
/**
* 友情鏈接模型
*/
class Blogroll extends ModelBase
{
}
~~~
目前來看咱們后臺的友情鏈接功能已經開發完成了,來看看使用起來咋樣~
若對系統執行流程較熟悉的話剛才這一波完全可以在30分鐘內搞定,可以大大提升生產力喔,規范的流程也可降低很多不必要的錯誤。
下面是剛才開發的功能測試截圖 ^_^。



- 序言
- 基礎
- 安裝環境
- 安裝演示
- 規范
- 目錄
- 介紹
- 后臺介紹
- 后臺首頁
- 會員管理
- 系統管理
- 系統設置與配置管理
- 菜單管理
- 系統回收站
- 服務管理
- 插件管理
- 文章管理
- 接口管理
- 優化維護
- SEO管理
- 數據庫
- 文件清理
- 行為日志
- 執行記錄
- 統計分析
- 接口介紹
- 接口文檔
- 錯誤碼設計
- Token介紹
- 前臺介紹
- 架構
- 架構總覽
- 生命周期
- 入口文件
- 模塊設計
- 依賴注入
- 控制器架構
- 邏輯架構
- 驗證架構
- 服務架構
- 模型架構
- 行為架構
- 插件架構
- 配置
- 配置介紹
- 配置加載
- 配置擴展
- 請求
- 請求信息
- 日志
- 后臺行為日志
- 系統執行日志
- 框架日志
- 數據
- 數據庫設計
- 數據字典
- 數據庫操作
- 事務控制
- 混合操作
- 實戰
- 控制器
- 邏輯與驗證
- 視圖與模型
- 插件研發
- 服務研發
- 接口研發
- 雜項
- 數據導入導出
- 二維碼條形碼
- 郵件發送
- 云存儲服務
- 支付服務
- 短信服務
- 微信分享
- 生成海報
- 聊天室
- PJAX
- Demo
- Widget
- 附錄
- 常量參考
- 配置參考
- 函數參考
- 進階
- Redis
- 自動緩存
- 全自動緩存
- 索引
- 數據簽名
- 全自動事務
- 隊列