我正在使用Twig在我的数据库中显示一些变量:
<p>{{ my_variable }}</p>
Run Code Online (Sandbox Code Playgroud)
事情是这个变量可能包含html标签,例如" <br />
".
在显示变量时,Twig似乎会自动调用类似htmlentities的函数.
有没有办法禁用它,以便当我显示一个包含" Hello<br />world !
" 的变量时,我得到:
Hello
world !
Run Code Online (Sandbox Code Playgroud)
而不是 :
Hello<br />world !
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在构建一个包含名为"category"的字段的表单,我需要一个选项列表来执行此操作,但我不知道如何使用存储在数据库中的几个类别填充此选项列表.
public function buildForm(FormBuilder $builder, array $options) {
$builder -> add('item', 'text', array('label' => 'Item'));
$builder -> add('category', 'choice', array(
'choices' => ???,
'label' => 'Category'
));
}
Run Code Online (Sandbox Code Playgroud)
如何从数据库中获取类别并使用它们来构建表单?(似乎无法访问$ this-> getDoctrine - > ...在这个类中).
有人能告诉我使用Doctrine2需要哪个版本的MySql吗?
我正在尝试使用以下方法从现有数据库生成我的模型:
php app/console doctrine:mapping:convert xml ./src/Acme/BlogBundle/Resources/config/doctrine/metadata/orm --from-database --force
Run Code Online (Sandbox Code Playgroud)
但是我得到一个SQL错误,因为MySql版本(4.1.14)似乎不支持以下查询(在Symfony2中由Doctrine调用):
SHOW FULL TABLES WHERE Table_type = 'BASE TABLE'
Run Code Online (Sandbox Code Playgroud)
谢谢.
我在我的应用程序中有一个基本的表单登录身份验证,我使用AuthenticationHandlerInterface设置了一个处理程序,我在onAuthenticationSuccess()方法中设置会话变量.
问题是,当我切换到另一个用户(使用ROLE_ALLOWED_TO_SWITCH)时,我的处理程序不再被调用,而我之前设置的会话变量在切换之前仍然是用户的变量.
示例:
(我知道myVar = X-> someAttribute不是一个很好的例子,因为我已经可以从安全令牌对象访问它,但它是为了简化问题)
谢谢
编辑:security.yml的摘录
firewalls:
main:
pattern: ^/
anonymous: ~
switch_user: { role: ROLE_ADMIN, parameter: _switch }
form_login:
provider: sso
success_handler: authentication_handler
login_path: /login
check_path: /login_check
logout:
path: /logout
target: /home
Run Code Online (Sandbox Code Playgroud) symfony ×4
database ×1
doctrine-orm ×1
formbuilder ×1
handler ×1
mysql ×1
switch-user ×1
twig ×1