迅睿CMS框架是一款PHP8高性能·簡單易用的CMS開源開發(fā)框架,基于MIT開源許可協(xié)議發(fā)布,免費且不限制商業(yè)使用,是免費開源的產(chǎn)品,以萬端互聯(lián)為設(shè)計理念,支持的微信公眾號、小程序、APP客戶端、移動端網(wǎng)站、PC網(wǎng)站等多終端式管理系統(tǒng)。
聯(lián)系官方銷售客服
1835022288
028-61286886
請大佬們指點一下:
開發(fā)插件的時候,像這種的表單,是在哪里自定義的呢 ?現(xiàn)在就是想自己調(diào)配一些表單!
然后, 我看源碼里只是這樣寫的:
那這個變量是在哪里定義的呢 ?
還是說,是自己在后臺手動創(chuàng)建的表單 ?
如果是那樣,那開發(fā)插件的時候如何插入這些表單呢 ?
按你自己平時寫php代碼的習(xí)慣來寫,插件沒有什么限制條件,編程方式很自由,按你的方式來寫
回復(fù)迅??蚣軇?chuàng)始人
我想能自由的調(diào)用官方里邊的一些表單,比如單選、多選、上傳等這些,,
一個是能和整個系統(tǒng)統(tǒng)一,
再就是,如果自己再做有點麻煩啊,,怎么樣才能調(diào)用到呢 ?
誰能幫寫個demo?
\Phpcmf\Service::V()->assign("myfield", "這里是控制器定義的變量,在模板中輸出就行");
調(diào)用官方里邊的一些表單,比如單選、多選、上傳等這些,
下載一個開發(fā)者工具就行了
方便的很啊,我開發(fā)插件都用他呢
回復(fù)@易學(xué)習(xí)
大神,按照你這個方法,為什么我得不到表單post過來的值呢 ?
這是PHP
<?php namespace Phpcmf\Controllers\Admin; class Home extends \Phpcmf\App { public function index() { // $name = 'hello word'; $a=\Phpcmf\Service::L('input')->post('ceshi'); $name=\Phpcmf\Service::M('testm', 'test')->find(); // 將變量傳入模板 \Phpcmf\Service::V()->assign([ 'testname' => $name, 'p' => $a, ]); // 選擇輸出模板 前臺位于 /template/pc/default/home/myapp/test.html 這個文件要自己手動創(chuàng)建 \Phpcmf\Service::V()->display('test.html'); } }
這是模板
<form action="" class="form-horizontal" method="post" name="myform" id="myform"> {dr_form_hidden()} {$form} <div class="row myfbody"> <div class="col-md-12"> <div class="portlet light bordered"> <div class="portlet-title"> <div class="caption"> <span class="caption-subject font-green sbold ">{dr_lang('內(nèi)容')}</span> </div> <div class="actions"> <div class="btn-group"> <a class="btn" href="{$reply_url}"> <i class="fa fa-mail-reply"></i> {dr_lang('返回列表')}</a> </div> </div> </div> <div class="portlet-body"> <div class="form-body"> <p>----title----</p> <?php echo dr_fieldform( '{ "name":"測試", "fieldname":"ceshi", "ismain":"1", "fieldtype":"Text", "setting":{ "option":{"fieldtype":"","fieldlength":"","value":"","width":"300","css":"" }, "validate":{ "required":"0","pattern":"","errortips":"","check":"","filter":"","formattr":"","tips":"輸入測試文字"} }, "ismember":"1" }', $ceshi); ?> <p>----content----</p> <?php echo dr_fieldform('{"name":"測試","fieldname":"ceshi","ismain":"1","fieldtype":"Text","setting":{"option":{"fieldtype":"","fieldlength":"","value":"","width":"300","css":""},"validate":{"required":"0","pattern":"","errortips":"","check":"","filter":"","formattr":"","tips":"輸入測試文字"}},"ismember":"1"}', $ceshi);?> </div> </div> </div> </div> </div> <div class="portlet-body form myfooter"> <div class="form-actions text-center"> <label><button type="button" onclick="dr_ajax_submit('{dr_now_url()}', 'myform', '2000')" class="btn green"> <i class="fa fa-save"></i> {dr_lang('保存內(nèi)容')}</button></label> <label><button type="button" onclick="dr_ajax_submit('{dr_now_url()}', 'myform', '2000', '{$reply_url}')" class="btn yellow"> <i class="fa fa-mail-reply-all"></i> {dr_lang('保存并返回')}</button></label> </div> </div> </form>
這是后臺界面,提示系統(tǒng)崩潰~~?。。?/p>
學(xué)習(xí)學(xué)習(xí)
大概這樣吧
<?php
$field = [
'type' => [
'ismain' => 1,
'fieldtype' => 'Select',
'fieldname' => 'type',
'setting' => ['option' =>["options"=>"單行文本|text\n多行文本|textarea\n圖片|image\n編輯器|ueditor\n","value"=>"","fieldtype"=>"","fieldlength"=>'',"css"=>""],"validate" =>["required"=>"0","pattern"=>"","errortips"=>"","check"=>"","filter"=>"","formattr"=>"","tips"=>""],"is_right"=>"0"],
],
'text' => [
'fieldtype' => 'Text',
'fieldname' => 'text',
'setting' => ['option' =>["width"=>400,"fieldtype"=>"VARCHAR","fieldlength"=>255],"validate" =>['required'=>'1','formattr'=>'onblur=\"check_title();get_keywords(\'keywords\');\"']],
'textarea' => [
'fieldtype' => 'Textarea',
'fieldname' => 'textarea',
'setting' => ['option' =>["width"=>500,"height"=>60,"fieldtype"=>"VARCHAR","fieldlength"=>255],"validate" =>['filter'=>'dr_clearhtml']],
'image' => [
'fieldtype' => 'File',
'fieldname' => 'image',
'setting' => ['option' => ['ext' => 'jpg,gif,png,jpeg', 'size' => 10, 'input' => 1]]
'ueditor' => [
'fieldtype' => 'Ueditor',
'fieldname' => 'ueditor',
'setting' => ['option' =>["mode"=>"1","width"=>"100%","height"=>400],"validate" =>['required'=>'1']],
]
];
\Phpcmf\Service::V()->assign([
'type' => dr_fieldform($field['type']),
'text' => dr_fieldform($field['text']),
'textarea' => dr_fieldform($field['textarea']),
'ueditor' => dr_fieldform($field['ueditor']),
'image' => dr_fieldform($field['image']),
]);
\Phpcmf\Service::V()->display('123.html');
?>
<div class="form-group">
<label class="col-md-2 control-label">{dr_lang('類型')}</label>
<div class="col-md-9">
{$type}
</div>
<div class="form-group dn" name="text">
<label class="col-md-2 control-label">{dr_lang('內(nèi)容')}</label>
{$text}
<div class="form-group dn" name="textarea">
{$textarea}
<div class="form-group dn" name="image">
{$image}
<div class="form-group dn" name="ueditor">
{$ueditor}
回復(fù)@because
你這個怎么獲取表單post過來 的值啊 ?
回復(fù)@SDK
if (IS_AJAX_POST) {//判斷post
$data = \Phpcmf\Service::L('input')->post('data', false);//獲取內(nèi)容
//對應(yīng)處理
if ($data['type'] == 'text') {
$data['value'] = $data['text'];
}else if($data['type'] == 'textarea'){
$data['value'] = $data['textarea'];
}else if($data['type'] == 'image'){
$data['value'] = \Phpcmf\Service::M()->db->table('attachment_data')->select('attachment')->where('id',$data['image'])->get()->getRowArray();
if($image_map['attachment'] != ""){
$data['value'] = 'uploadfile/'.$image_map['attachment'];//SITE_URL.
}
}else if($data['type'] == 'ueditor'){
$data['value'] = $data['ueditor'];
}else{
$this->_json(0, dr_lang('沒有選擇類型'));
//記錄數(shù)據(jù)表
$rt = \Phpcmf\Service::M()->table('123')->insert([
'type' => $data['type'],
'key' => $data['key'],
'remark' => $data['remark'],
'value' => $data['value'],
!$rt['code'] && $this->_json(0, $rt['msg']);//失敗
$this->_json(1, dr_lang('操作成功'));//成功
按你自己平時寫php代碼的習(xí)慣來寫,插件沒有什么限制條件,編程方式很自由,按你的方式來寫
回復(fù)迅??蚣軇?chuàng)始人
我想能自由的調(diào)用官方里邊的一些表單,比如單選、多選、上傳等這些,,
一個是能和整個系統(tǒng)統(tǒng)一,
再就是,如果自己再做有點麻煩啊,,怎么樣才能調(diào)用到呢 ?
誰能幫寫個demo?
\Phpcmf\Service::V()->assign("myfield", "這里是控制器定義的變量,在模板中輸出就行");
調(diào)用官方里邊的一些表單,比如單選、多選、上傳等這些,
下載一個開發(fā)者工具就行了
方便的很啊,我開發(fā)插件都用他呢
回復(fù)@易學(xué)習(xí)
大神,按照你這個方法,為什么我得不到表單post過來的值呢 ?
這是PHP
這是模板
這是后臺界面,提示系統(tǒng)崩潰~~?。。?/p>
學(xué)習(xí)學(xué)習(xí)
大概這樣吧
<?php
$field = [
'type' => [
'ismain' => 1,
'fieldtype' => 'Select',
'fieldname' => 'type',
'setting' => ['option' =>["options"=>"單行文本|text\n多行文本|textarea\n圖片|image\n編輯器|ueditor\n","value"=>"","fieldtype"=>"","fieldlength"=>'',"css"=>""],"validate" =>["required"=>"0","pattern"=>"","errortips"=>"","check"=>"","filter"=>"","formattr"=>"","tips"=>""],"is_right"=>"0"],
],
'text' => [
'ismain' => 1,
'fieldtype' => 'Text',
'fieldname' => 'text',
'setting' => ['option' =>["width"=>400,"fieldtype"=>"VARCHAR","fieldlength"=>255],"validate" =>['required'=>'1','formattr'=>'onblur=\"check_title();get_keywords(\'keywords\');\"']],
],
'textarea' => [
'ismain' => 1,
'fieldtype' => 'Textarea',
'fieldname' => 'textarea',
'setting' => ['option' =>["width"=>500,"height"=>60,"fieldtype"=>"VARCHAR","fieldlength"=>255],"validate" =>['filter'=>'dr_clearhtml']],
],
'image' => [
'ismain' => 1,
'fieldtype' => 'File',
'fieldname' => 'image',
'setting' => ['option' => ['ext' => 'jpg,gif,png,jpeg', 'size' => 10, 'input' => 1]]
],
'ueditor' => [
'ismain' => 1,
'fieldtype' => 'Ueditor',
'fieldname' => 'ueditor',
'setting' => ['option' =>["mode"=>"1","width"=>"100%","height"=>400],"validate" =>['required'=>'1']],
]
];
\Phpcmf\Service::V()->assign([
'type' => dr_fieldform($field['type']),
'text' => dr_fieldform($field['text']),
'textarea' => dr_fieldform($field['textarea']),
'ueditor' => dr_fieldform($field['ueditor']),
'image' => dr_fieldform($field['image']),
]);
\Phpcmf\Service::V()->display('123.html');
?>
<div class="form-group">
<label class="col-md-2 control-label">{dr_lang('類型')}</label>
<div class="col-md-9">
{$type}
</div>
</div>
<div class="form-group dn" name="text">
<label class="col-md-2 control-label">{dr_lang('內(nèi)容')}</label>
<div class="col-md-9">
{$text}
</div>
</div>
<div class="form-group dn" name="textarea">
<label class="col-md-2 control-label">{dr_lang('內(nèi)容')}</label>
<div class="col-md-9">
{$textarea}
</div>
</div>
<div class="form-group dn" name="image">
<label class="col-md-2 control-label">{dr_lang('內(nèi)容')}</label>
<div class="col-md-9">
{$image}
</div>
</div>
<div class="form-group dn" name="ueditor">
<label class="col-md-2 control-label">{dr_lang('內(nèi)容')}</label>
<div class="col-md-9">
{$ueditor}
</div>
</div>
回復(fù)@because
你這個怎么獲取表單post過來 的值啊 ?
回復(fù)@SDK
if (IS_AJAX_POST) {//判斷post
$data = \Phpcmf\Service::L('input')->post('data', false);//獲取內(nèi)容
//對應(yīng)處理
if ($data['type'] == 'text') {
$data['value'] = $data['text'];
}else if($data['type'] == 'textarea'){
$data['value'] = $data['textarea'];
}else if($data['type'] == 'image'){
$data['value'] = \Phpcmf\Service::M()->db->table('attachment_data')->select('attachment')->where('id',$data['image'])->get()->getRowArray();
if($image_map['attachment'] != ""){
$data['value'] = 'uploadfile/'.$image_map['attachment'];//SITE_URL.
}
}else if($data['type'] == 'ueditor'){
$data['value'] = $data['ueditor'];
}else{
$this->_json(0, dr_lang('沒有選擇類型'));
}
//記錄數(shù)據(jù)表
$rt = \Phpcmf\Service::M()->table('123')->insert([
'type' => $data['type'],
'key' => $data['key'],
'remark' => $data['remark'],
'value' => $data['value'],
]);
!$rt['code'] && $this->_json(0, $rt['msg']);//失敗
$this->_json(1, dr_lang('操作成功'));//成功
}