fbeen / contactformbundle
此Bundle在您的Symfony项目中添加了contactform集成。它允许您渲染和处理contactform并将其添加到数据库中。包含用于在管理面板中查看联系请求的Sonata管理类。
V1.0.4
2018-07-13 20:13 UTC
Requires
- php: ^5.5.9|^7.0
- fbeen/mailerbundle: ^1.0
- hybridauth/hybridauth: ^2.7
- symfony/framework-bundle: ^2.7|^3.0
This package is not auto-updated.
Last update: 2024-09-22 03:08:48 UTC
README
此Bundle在您的Symfony项目中添加了contactform集成。它允许您渲染和处理contactform并将其添加到数据库中。包含用于在管理面板中查看联系请求的Sonata管理类。
特性包括
- Doctrine ORM数据库存储您的联系请求
- Bootstrap就绪页面和表单
- Sonata管理集成
- 仅通过他们的电子邮件地址和密码登录
- 向管理员和/或用户发送确认邮件
- 使用您自己的ContactRequest实体
- 使用您自己的ContactRequest表单类型
安装
使用composer
- 将
"fbeen/contactformbundle": "dev-master"
添加到您的composer.json项目文件的require部分。
"require": {
...
"fbeen/contactformbundle": "dev-master"
},
-
运行composer update
$ composer update
-
将Bundle添加到app/AppKernel.php
$bundles = array(
...
new Fbeen\MailerBundle\FbeenMailerBundle(),
new Fbeen\ContactformBundle\FbeenContactformBundle(),
);
- 将路由添加到app/config/routing.yml
fbeen_user:
resource: "@FbeenContactformBundle/Resources/config/routing.yml"
prefix: /contact
- 在
app/config/config.yml
中启用翻译
parameters:
locale: en
framework:
translator: { fallbacks: ["%locale%"] }
- 更新您的数据库模式
$ bin/console doctrine:schema:update --force
- [可选] 在
app/config/config.yml
中添加FbeenContactformBundle的最小配置。这是所有配置参数及其默认值
fbeen_contactform:
base_template: "FbeenContactformBundle::base.html.twig"
redirect_after_submit: fbeen_contactform_confirmation
contact_request_entity: Fbeen\ContactformBundle\Entity\ContactRequest
contact_form_type: Fbeen\ContactformBundle\Form\ContactRequestType
email_users: true
email_users: false
- [可选] 使用您自己的ContactRequest实体。这就像创建任何实体一样简单。只有两件事
- 您的实体必须实现
Fbeen\ContactformBundle\Model\ContactRequestInterface
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Fbeen\ContactformBundle\Model\ContactRequestInterface;
/**
* ContactRequest
*
* @ORM\Table(name="fbeen_contact_request")
* @ORM\Entity
*/
class ContactRequest implements ContactRequestInterface
{
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=255, nullable=true)
*/
private $email;
// add more properties
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set email
*
* @param string $email
*
* @return ContactRequest
*/
public function setEmail($email)
{
$this->email = $email;
return $this;
}
/**
* Get email
*
* @return string
*/
public function getEmail()
{
return $this->email;
}
// add more methods
}
- 您必须将FQDN添加到配置中
fbeen_contactform:
contact_request_entity: AppBundle\Entity\ContactRequest
- [可选] 使用您自己的formType。这就像创建任何formType并添加配置一样简单
<?php
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class ContactRequestType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('email', 'email', array(
'label' => 'form.email',
'required' => true
))
;
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Fbeen\ContactformBundle\Entity\ContactRequest',
));
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'fbeen_contactformbundle_contactrequest';
}
}
- 您必须将FQDN添加到配置中
fbeen_contactform:
contact_form_type: AppBundle\Form\ContactRequestType