opifer / form-bundle
该软件包已被弃用且不再维护。未建议替代软件包。
该软件包最新版本(0.1.4)没有可用的许可信息。
Opifer Form Bundle
0.1.4
2015-11-13 10:21 UTC
Requires
- php: >=5.4
- doctrine/doctrine-bundle: ~1.2
- doctrine/orm: ~2.2,>=2.2.3
- gedmo/doctrine-extensions: ~2.3
- opifer/eav-bundle: ~0.1
- symfony/swiftmailer-bundle: ~2.3
- symfony/symfony: ~2.3
- twig/extensions: ~1.2
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.2
- symfony/phpunit-bridge: ~2.7
README
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) }}