## 功能描述
后臺的HTML的表單組件代碼,會有許多不熟悉前端的小伙伴改動起來會比較費勁。其實在YznCMS中有一個的`FormBuilder`類庫,能使用php一句話代碼生成一些的文本框,下拉框,上傳組件等等,
### 通用屬性
| 屬性名 | 描述 |
| --- | --- |--|
| `$name` | 通常為我們組件的名稱,我們在后臺接收時可以通過這個名稱來獲取到它所對應的值 |
|`$value`|通常為我們數據庫中的值,在新增的時候通常為空,在修改的時候通常需要是數據庫中對應字段的值 |
|`$options`|組件的擴展屬性,通常為一一鍵值匹配并最終渲染在組件的屬性中,通常我們使用的有`data-rule/disabled/readonly/multiple`等等,也常用于自定義組件屬性。|
### 支持組件
```
//創建一個表單標簽元素
label($name, $value = null, $options = [], $escape_html = true)
//創建一個表單輸入字段
input($type, $name, $value = null, $options = [])
//創建一個文本輸入字段
text($name, $value = null, $options = [])
//創建一個密碼輸入字段
password(string $name, array $options = [])
//創建一個范圍輸入選擇器
range($name, $value = null, $options = [])
//創建一個隱藏的輸入字段
hidden($name, $value = null, $options = [])
//創建一個電子郵件輸入字段
email($name, $value = null, $options = [])
//創建一個tel輸入字段
tel($name, $value = null, $options = [])
//創建一個url輸入字段
url($name, $value = null, $options = [])
//創建一個textarea輸入字段
textarea($name, $value = null, $options = [])
//創建一個選擇框字段
select($name,$list = [],$selected = null,array $selectAttributes = [],array $optionsAttributes = [],array $optgroupsAttributes = [])
//創建一個按鈕字段
button($value = null, $options = [])
//創建單選按鈕輸入字段
radio($name, $value = null, $checked = null, $options = [])
//創建一組單選框字段
radios($name, $list, $checked = null, $title = [], $options = [])
//創建復選按鈕字段
checkbox($name, $value = 1, $checked = null, $options = [])
//創建一組復選按鈕框字段
checkboxs($name, $list, $checked, $title = [], $options = [])
//創建一個上傳圖片組件(單圖)字段
image($name = null, $value = null, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = [])
//創建一個上傳圖片組件(多圖)字段
images($name = null, $value = null, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = [])
//創建上傳文件組件(單文件)字段
upload($name = null, $value = null, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = [])
//創建上傳文件組件(多文件)字段
uploads($name = null, $value = null, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = [])
//創建顏色選擇字段
color($name = null, $value = null, $options = [])
//創建日期時間選擇器字段
datetime($name = null, $value = null, $options = [])
//創建百度富文本編輯器字段
ueditor($name, $value = null, $options = [])
//創建動態下拉列表字段
selectpage($name, $value, $url, $field = null, $primaryKey = null, $options = [])
//創建動態下拉列表(復選)字段
selectpages($name, $value, $url, $field = null, $primaryKey = null, $options = [])
```
### 組件示例
> 以下為FormBuilder所支持的所有組件調用示例,你可以復制你所需要的組件到你的表單中,然后按需要修改名稱或值即可
> 部分組件如選擇框,單選框復選框等需要在layui表單中放置,樣式才會生效,在普通頁面生成是最原始的風格
```
<form class="layui-form" method="post">
<div class="layui-form-item">
<label class="layui-form-label">文本框</label>
<div class="layui-input-block">
{:Form::text('row[text]','',["lay-verify"=>"required"])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">TAG標簽</label>
<div class="layui-input-block">
{:Form::text('row[tag]','',["class"=>"form-tags"])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">密碼框</label>
<div class="layui-input-block">
{:Form::password('row[password]',["lay-verify"=>"required"])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">多文本</label>
<div class="layui-input-block">
{:Form::textarea('row[textarea]','',["lay-verify"=>"required"])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">單選框</label>
<div class="layui-input-block">
{:Form::radio('row[radio]','1',true,['title'=>"顯示"])}
{:Form::radio('row[radio]','0',false,['title'=>"隱藏"])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">單選框組</label>
<div class="layui-input-block">
{:Form::radios('row[radios]',['aa'=>'AA', 'bb'=>'BB'], 'aa',['aa'=>'顯示','bb'=>'隱藏'])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">選擇框</label>
<div class="layui-input-block">
{:Form::select('row[radios]',['aa'=>'AA', 'bb'=>'BB'], 'aa')}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">復選框</label>
<div class="layui-input-block">
{:Form::checkbox('row[checkbox]','1',true,['title'=>"顯示"])}
{:Form::checkbox('row[checkbox]','0',false,['title'=>"隱藏"])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">復選框組</label>
<div class="layui-input-block">
{:Form::checkboxs('row[checkboxs]',['aa'=>'AA', 'bb'=>'BB'], 'aa,bb',['aa'=>'顯示','bb'=>'隱藏'])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">單圖片</label>
<div class="layui-input-block">
{:Form::image("row[image]")}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">多圖片</label>
<div class="layui-input-block">
{:Form::images("row[images]")}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">單文件</label>
<div class="layui-input-block">
{:Form::upload("row[upload]")}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">多文件</label>
<div class="layui-input-block">
{:Form::uploads("row[uploads]")}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">顏色框</label>
<div class="layui-input-block">
{:Form::color("row[color]",'#ddd',['class'=>'layui-input'])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">日期框</label>
<div class="layui-input-block">
{:Form::datetime("row[datetime]",'',['class'=>'layui-input','data-date-range'=>'-'])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">動態下拉</label>
<div class="layui-input-block">
{:Form::selectpage("row[selectpage]",'','category/selectpage','name','id',["lay-verify"=>"required"])}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">動態下拉(多選)</label>
<div class="layui-input-block">
{:Form::selectpages("row[selectpages]",'','category/selectpage','name','id',["lay-verify"=>"required"])}
</div>
</div>
</form>
```
- 與1.4版本差異說明
- 序言
- 使用條款
- 安裝
- 環境搭建
- 事件
- 表單生成
- 數據限制
- 命令行
- 注意事項
- 一鍵生成CRUD
- 一鍵生成菜單
- 一鍵安裝
- 一鍵壓縮打包
- 系統配置
- 常規字段
- 特殊字段1:高級下拉框[selectpage]
- 特殊字段2:自定義字段
- 特殊字段3:自定義多圖片
- 郵箱/短信類
- 前端&組件
- 后臺前端框架
- 文件上傳
- table數據表格
- auth權限驗證
- 動態顯示(Favisible)
- 動態下拉(SelectPage)
- 鍵值組件(Fieldlist)
- 標簽輸入
- uniapp教程
- ??插件使用說明
- YznBBS論壇【bbs】
- 簡介
- 注意事項
- cms內容管理【cms】
- 變量/常量
- 函數
- getCategory - 欄目獲取
- catpos - 面包屑
- seo - 生成SEO
- buildCatUrl - 生成欄目URL
- buildContentUrl - 創建內容鏈接
- 標簽
- 公共參數
- 欄目標簽
- 列表標簽
- 排序標簽
- 上一頁標簽
- 下一頁標簽
- Tags標簽
- 萬能標簽
- 原生標簽
- 搜索頁
- 篩選頁
- 內容詳情頁
- 模板
- 技巧/問題
- 敏感詞檢測
- 欄目授權不全
- 循環表格
- 部分虛擬主機tags頁面報錯
- 內容頁分頁
- 分頁偽靜態
- 實現電腦和手機模板分離
- 閱讀收費
- 友情鏈接【links】
- 聊天室【chatroom】
- 簡介
- 前端安裝
- 后端
- 創建wss服務
- 注意事項
- 自定義表單【formguide】
- 調用方式
- 支付插件【pay】
- 支付寶
- 微信
- 萬能采集【collection】
- 采集列表規則
- 采集內容規則
- 關于圖片
- H5設計【diywap】
- 接口文檔【apidoc】
- 返回頂部【returntop】
- 通用數據導出【dataoutput】
- 通用數據導入【dataimport】
- 多通道短信【easysms】
- 塞郵郵箱【saiyouems】
- 第三方登錄【synclogin】
- 中文分詞【getwords】
- QQ客服【kefu】
- 地圖位置【address】
- 智能人機驗證【vaptcha】
- 數據轉換【v9toyzn】
- 數據轉換【dedetoyzn】
- 百度收錄查詢【baidurecord】
- 蜘蛛訪問統計【spider】
- editormd編輯器【editormd】
- Easymde編輯器【easymde】
- 百度ueditor插件【ueditor】
- TinyMCE富文本編輯器
- 敏感詞檢測【sensitive】
- 郵箱發送【phpmailer】
- 內容收藏【favorite】
- 隊列插件【queue】
- 七牛云【qiniu】
- 阿里云oss【alioss】
- 騰訊云【cos】
- 迅搜全文檢索【xunsearch】
- 評論插件【comments】
- 會員邀請【invite】
- 快遞查詢插件【expressquery】
- 禮品卡提貨系統【pickup】
- 地區插件【area】
- IP歸屬地查詢【ipregion】
- 百度統計插件【baidutongji】
- 消息通知【notice】
- 微信管理【wechat】
- 在線投票系統【vote】
- 圖片處理【imgproc】
- 后臺登錄主題【adminlogin】
- 文檔管理系統【docs】
- 頻率限制【throttle】
- 2FA雙因子驗證【twofas】
- 智能AI摘要【summaraidgpt】
- ??開發者入駐
- 申請入駐
- 建立私庫
- 插件入駐流程
- 模板入駐流程
- ??插件開發
- 目錄結構
- 數據庫
- 測試數據
- 插件信息
- 插件配置
- 核心文件
- 插件函數
- 跨域配置
- 常見問題
- YznCMS開發遇到錯誤怎么辦?(新手必看)
- 開啟調試模式
- 偽靜態(URL重寫)
- 如何去除訪問鏈接中的index.php
- 各類虛擬主機偽靜態使用注意事項
- 如何自定義404頁面顯示模板
- 管理員登錄時提示請于1天后再嘗試登錄
- 寶塔面板一鍵部署
- 后臺登錄時驗證碼不顯示
- 后臺密碼忘記重置方法
- 關于編輯器的一些說明
- 如何重置后臺登錄地址
- 如何修改或禁用左側菜單欄的角標
- 高版本php報錯怎么辦
- 如何關閉前臺會員中心
- composer
- composer簡介
- 內置composer
- 常用命令
- 參考文檔
- 安全建議
- 更新日記和補丁包