petun / forms
此包的最新版本(dev-master)没有可用的许可证信息。
适用于处理任何CMS或框架的简单表单的包
dev-master
2019-03-24 19:28 UTC
Requires
- php: >=5.6.0
- google/recaptcha: ^1.2
- phpmailer/phpmailer: ^6.0.5
- smarty/smarty: ~3.1
Suggests
- dotzero/amocrm: ^0.3.7
This package is not auto-updated.
Last update: 2024-09-27 12:46:19 UTC
README
适用于处理任何CMS或框架的简单表单的包。
安装
git clone https://github.com/petun/forms.git cd Forms cp test/base_config.php config.php cp test/handler.php . php ~/composer.phar update
前端
<script type="text/javascript" src="assets/template/Forms/frontend/js/jquery-1.11.2.min.js"></script> <script type="text/javascript" src="assets/template/Forms/frontend/js/jquery.petun-forms.js"></script>
在您的主脚本文件中
$(function(){ // this is default options $('.petun-form').ptmForm( { 'renderTo': '.form-result', 'successClass': 'form-result__success', 'errorClass': 'form-result__error', 'loadingClass': 'form-result__loading', 'handler': 'assets/template/Forms/handler.php', 'onSuccess': ... } ); // simple js callback example $('.petun-form').ptmForm( { 'handler': 'assets/template/Forms/handler.php', 'onSuccess': function(form, result) { window.setTimeout(function(){$('#callbackForm').modal('toggle')} , 2000); } } ); });
将formId添加到表单中
<form class="petun-form" enctype="multipart/form-data" method="post"> <input type="hidden" name="formId" value="feedbackForm" /> <!-- action params, can white here or in config file --> <input type="hidden" name="action[mail][to]" value="petun911@gmail.com" /> <input type="hidden" name="action[redirect][to]" value="/feedback-success.html" /> <div class="form-group"> <label for="nameId">Name</label> <input type="text" name="name" class="form-control" id="nameId" > <p class="help-block" data-error-message="name"></p> </div> ...
后端
配置示例配置
$config = array( 'feedbackForm' => array( 'fields' => array( 'name' => 'Ваще имя', 'telephone' => 'Ваш телефон', 'email' => 'Email', 'select-box' => 'select-box', 'check-test' => 'test check' ), 'rules' => array( array('name', 'required'), array('telephone', 'required'), array('email', 'email'), ), 'actions' => array( array( 'mail', 'subject' => 'Новое письмо с сайта', 'from' => 'no-reply@' . $siteName, 'fromName' => 'Администратор', 'to' => $mailTo ), ) ), );
可用操作
array( array( 'mail', 'subject' => 'Новое письмо с сайта', 'from' => 'no-reply@' . $siteName, 'fromName' => 'Администратор', 'to' => $mailTo ), array( 'redirect', 'to' => '', ), array( 'log', 'filename' => '/tmp/log.txt', ), array( 'modxResource', 'coreCmsPath' => '/Users/petun/Sites/modx/core/', 'resource' => array( 'pagetitle' => array('eval' => '$this->_form->fieldValue("name")'), 'parent' => array('value' => '0'), 'template' => array('value' => '1'), 'published' => array('value' => '1'), 'description' => array('value' => 'sample description'), 'introtext' => array('eval' => '$this->_form->fieldValue("telephone") . $this->_form->fieldValue("email")'), 'tv' => array( 'date' => array('value' => '2013-01-01 12:12'), 'typeId' => array('value' => '3') ) ) ) )
可用规则
'rules' => array( array('field', 'required'), array('field', 'email', 'allowEmpty' => false), array('field', 'number', 'allowEmpty' => false), array('field', 'regex', 'rule' => '/\d+/', 'errorMessage' => 'В поле %s должны быть только числа'), array('field', 'date', 'allowEmpty' => false, 'format' => 'dd.mm.yyyy'), ),
回调表单
CSS示例(SASS)
.form-result { margin: 0 0 10px; ul { li { list-style: none; } } &.form-result__error { p { color: #ff2f25; } } &.form-result__success { p { color: #1c801a; } } }