PHP code example of quansitech / qscmf-buttontype-modal

1. Go to this page and download the library: Download quansitech/qscmf-buttontype-modal library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

quansitech / qscmf-buttontype-modal example snippets


composer 

  public function add(){
    if (IS_POST) {
        // 业务逻辑
    }
    else {
        // 使用FormBuilder快速建立表单页面。
        $builder = new \Qscmf\Builder\FormBuilder();
        $builder
            ->setPostUrl(U('add'))
            ->addFormItem('nick_name', 'text', '用户名*')
            ->addFormItem('email', 'text', '电子邮箱*')
            ->addFormItem('telephone', 'text', '手机')
            ->addFormItem('pwd', 'password', '密码*')
            ->addFormItem('pwd1', 'password', '重复密码*')
            ->setShowBtn(false);
  
        return $builder;
    }
  }
  
  public function buildTopModal(){
    return (new \Qs\ModalButton\ModalButtonBuilder())
                ->setTitle("新增")
                ->bindFormBuilder($this->add());
  }
  
  // 按钮options属性传入ModalButtonBuilder对象 
   (new \Qscmf\Builder\ListBuilder())->addTopButton('modal', ['title' => '新增'],'','',$this->buildTopModal())
  

  public function edit($id){
    if (IS_POST) {
        // 业务逻辑
    }
    else {
        $info = D('User')->getOne($id);
        // 使用FormBuilder快速建立表单页面。
        $builder = new \Qscmf\Builder\FormBuilder();
        $builder
            ->setPostUrl(U('add'))
            ->addFormItem('nick_name', 'text', '用户名*')
            ->addFormItem('email', 'text', '电子邮箱*')
            ->addFormItem('telephone', 'text', '手机')
            ->addFormItem('pwd', 'password', '密码*')
            ->addFormItem('pwd1', 'password', '重复密码*')
            ->setFormData($info)
            ->setShowBtn(false);
  
        return $builder;
    }
  }
  
  public function buildEditFormModal($id ){
    return (new \Qs\ModalButton\ModalButtonBuilder())
        ->bindFormBuilder($this->edit($id))
        ->setKeyboard(false)
        ->setBackdrop(false)
        ->setTitle('编辑');
    }
  
  $data_list = D('User')->select();
  foreach($data_list as &$data){
    $right_edit_form_modal = $this->buildEditFormModal($data['id']);
    $data['list_edit_form'] = $right_edit_form_modal;
  }
  // 每一行数据需要定义'list_edit_form'的值,且该值为ModalButtonBuilder对象 
   (new \Qscmf\Builder\ListBuilder())
  ->addRightButton('modal',['title' => '编辑'], '', '', 'list_edit_form')
  ->setTableDataList($data_list)
  

    public function edit($id){
    if (IS_POST) {
        // 业务逻辑
    }
    else {
        $info = D('User')->getOne($id);
        // 使用FormBuilder快速建立表单页面。
        $builder = new \Qscmf\Builder\FormBuilder();
        $builder
            ->setPostUrl(U('add'))
            ->addFormItem('nick_name', 'text', '用户名*')
            ->addFormItem('email', 'text', '电子邮箱*')
            ->addFormItem('telephone', 'text', '手机')
            ->addFormItem('pwd', 'password', '密码*')
            ->addFormItem('pwd1', 'password', '重复密码*')
            ->setFormData($info)
            ->setShowBtn(false);
  
        return $builder;
    }
  }
  
  public function buildEditFormModal($id){
    return (new \Qs\ModalButton\ModalButtonBuilder())
        ->bindFormBuilder($this->edit($id))
        ->setKeyboard(false)
        ->setBackdrop(false)
        ->setIsForward(false)
        ->setTitle('编辑');
    }
  
  $info = D('User')->getOne($id);
  $info['form_edit_form'] = $this->buildEditFormModal($info['id'])
   // 表单数据需要定义'form_edit_form'的值,且该值为ModalButtonBuilder对象 
   (new \Qscmf\Builder\FormBuilder())
  ->addButton('modal',['title' => '编辑'], '', '', 'form_edit_form')
  ->setFormData($info)
  

  > // 设置Modal 内容请求API
  >  protected function buildTopModal(){
  >      return (new \Qs\ModalButton\ModalButtonBuilder())
  >            ->setTitle("新增")
  >            ->setBackdrop(false)
  >            ->setKeyboard(false)
  >            ->setBodyApiUrl(U("add"));
  >  }
  > 
  >  // ListBuilder对应列配置
  >  ->addTopButton('modal', ['title' => '新增'],'','',$this->buildTopModal());
  > 
  > public function add(){
  > 
  >    $builder = new FormBuilder();
  >    $builder
  >        ->addFormItem('title', 'text', '标题')
  >        ->addFormItem('summary', 'textarea', '简介')
  >        ->addFormItem('cover', 'picture', '封面', '尺寸为214*250px', ['width' => 214, 'height' => 250])
  >        ->setFormData($info)
  >        ->setShowBtn(false)
  >        ->setReadOnly(true);
  > 
  >    $this->ajaxReturn(['status' => 1, 'info' => $builder->build(true)]);
  > }
  > 

    $builder = new \Qscmf\Builder\ListBuilder();
    $builder = $builder->setMetaTitle('可编辑测试列表');
    $builder
            ->addTopButton('modal', ['title' => '新增', 'class' => "btn btn-primary inject_selected"],'','',$this->buildAddModal());
    
    
    protected function buildAddModal(){
        $modal = (new \Qs\ModalButton\ModalButtonBuilder());
        return
            $modal
                ->setTitle('新增可编辑测试')
                ->setBackdrop(false)
                ->setKeyboard(false)
                ->setSelectedIdFieldName("org_id")
                ->bindFormBuilder($this->add());
    }
  
    public function add(){
        $builder = new FormBuilder();
        $builder
                ->addFormItem('title', 'text', '标题')
                ->addFormItem('summary', 'textarea', '简介')
                ->addFormItem('cover', 'picture', '封面', '尺寸为214*250px', ['width' => 214, 'height' => 250])
                ->setFormData($info)
                ->setShowBtn(false);
                
            return $builder;
        }
    }