企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
很多人都需要万能表单进行填写 大部人都不知道怎么填写提交地址,下面给出一个示例: ~~~ <form name="" method="post" action="{:purl('form/content/add','mid=1','index')}" class="ajax_post   layui-form  ">         <div class="cont">       <table width="100%" border="0" cellspacing="0" cellpadding="0" class="FormTable">         <tr id="form_group_linkman">           <td class="tdL">联系人: </td>           <td class="tdR layui-input-inline"><div>               <input  placeholder='请输入联系人'    type='text' name='linkman' id='atc_linkman' style='' class='layui-input c_linkman ' value='' />             </div></td>         </tr>         省略代码         <tr>           <td class="tdL"><br/></td>           <td class="tdR"><input type="submit" name="Submit" value="提交"></td>         </tr>       </table>     </div>   </div> </form> ~~~ 咱们逐步分析下:首先提交的地址你可以写: ~~~ {:purl('form/content/add','mid=1','index')} ~~~ mid=1 就是你的表单id  那么表单的内容怎么来的呢,表单的内容htm 其实也是这个地址生成的  你的域名/p/form-content-add/mid/1.html  你打开这个地址就可以直接复制出来 然后改为自己的样式 加载在任意界面就可以提交内容了。 这里也可以打开 ![](https://img.kancloud.cn/02/41/0241ea2561d4b98be5615bfc51b0a93b_1306x320.png) 现在默认提交后是返回到提交的内容详情如果想改为跳转为首页也可以的。 plugins\form\index\Content.php   $url = purl('content/show',['id'=>$id]); 改为你想跳转的地址就可以 补个效果图 请忽略样式 测试用的没有样式: ![](https://img.kancloud.cn/db/aa/dbaab64291120bc8e468da19684b8f47_794x403.png) 反正也是发布了就借楼说下  purl 函数的作用,简单的说他就是生成插件操作的url, 共有三个参数, 打开common.php 搜索下就会发现有注释。  /\*\*      * 生成插件操作链接      * @param string $url 链接:插件名称/控制器/操作      * @param array $param 参数      * @param string $module 模块名,admin需要登录验证,index不需要登录验证      */ function purl($url = '', $param = [ ], $module = ''){ 省略代码 } 这样看着是不是有点蒙,没事咱们分析下 $url 就是插件的操作路径 例如:form/content/add  这时候你还不确定是访问 form 目录下admin目录还是index目录呢  $param 就是参数了 可以是数组 可以是变量 看你函数怎么写了 没有的话就可以为空 $module 就是指定是admin目录还是index目录了  也就是官方的说的登录验证和非登录验证。 {:purl('form/content/add','mid=1','index')} 比如这个链接 我们就是提交到了 plugins\form\index\Content.php 中的add方法 {:purl('form/content/add','mid=1','admin')} 比如这个链接 我们就是提交到了 plugins\form\admin\Content.php 中的add方法 这个就有权限了没有操作权限的就无法操作了 学会了 purl 生成的方法 就可以根据插件的目录去生成各种地址了。