opifer/form-bundle

该软件包已被弃用且不再维护。未建议替代软件包。
该软件包最新版本(0.1.4)没有可用的许可信息。

Opifer Form Bundle

维护者

详细信息

github.com/Opifer/FormBundle

源代码

安装数: 1,184

依赖关系: 1

建议者: 0

安全性: 0

星标: 0

关注者: 6

分支: 2

类型:symfony-bundle

0.1.4 2015-11-13 10:21 UTC

This package is auto-updated.

Last update: 2020-08-28 14:00:18 UTC


README

Build Status

Opifer FormBundle

安装

将 OpiferForm 添加到您的 composer.json 文件中

$ composer require opifer/form-bundle "~0.1"

app/AppKernel.php 中注册该软件包

public function registerBundles()
{
    $bundles = array(
        // ...
        new Opifer\EavBundle\OpiferEavBundle(),
        new Opifer\FormBundle\OpiferFormBundle()
    );
}

按照其文档安装 OpiferEavBundle

扩展表单 & Post 模型;

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Opifer\FormBundle\Model\Form as BaseForm;

/**
 * @ORM\Entity()
 * @ORM\Table(name="form")
 */
class Form extends BaseForm
{

}
namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Opifer\EavBundle\Model\EntityInterface;
use Opifer\FormBundle\Model\Post as BasePost;

/**
 * @ORM\Entity()
 * @ORM\Table(name="post")
 */
class Post extends BasePost implements EntityInterface
{

}

在配置中定义这些,并添加您的管理员邮箱

opifer_form:
    from_email: noreply@yourcompany.com
    form:
        class: AppBundle\Entity\Form
    post:
        class: AppBundle\Entity\Post

要能够管理和使用您的表单,请向您的 app/config/routing.yml 中添加一些路由

opifer_form:
    resource: "@OpiferFormBundle/Resources/config/routing.yml"

opifer_form_admin:
    resource: "@OpiferFormBundle/Resources/config/routing_admin.yml"
    prefix: /admin

使用方法

一旦您在管理员面板中创建了表单,您可能希望在前端显示它们。为此,您需要创建一个控制器操作来检索表单并在前端显示它。

namespace AppBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class PageController extends Controller
{
    public function contactAction()
    {
        $form = $this->get('opifer.form.form_manager')->getRepository()->find(1);
        
        return $this->render('Page/contact.html.twig', array(
            'form' => $form
        ));
    }
}
{# app/Resources/views/Page/contact.html.twig #}

{% set form = create_form_view(form) %}
{{ form_start(form) }}
    {{ form_widget(form) }}
    <input type="submit" value="save">
{{ form_end(form) }}