我用这样的实体类型构建一个表单:
$form = $this->createFormBuilder()
->add('users', 'entity', array(
'class' => 'UserBundle:Users',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')
->orderBy('u.name', 'ASC');
},)
)
->getForm();
Run Code Online (Sandbox Code Playgroud)
现在我想修改此表单,仅显示不同的用户.我试试这个:
->add('users', 'entity', array(
'class' => 'UserBundle:Users',
'query_builder' => function(EntityRepository $er) {
return $er->createQuery('SELECT DISTINCT u.name FROM UserBundle:Users ORDER BY u.name ASC')->getResult();
},)
)
Run Code Online (Sandbox Code Playgroud)
但是Symfony给了我一个例外.我的问题是如何在实体字段类型中使用自定义查询?
我不明白你的意思是什么意思.我的代码看起来像:
库:
public function getDistinctUsers()
{
return $this->getEntityManager()->createQuery('SELECT DISTINCT u.name FROM UserBundle:Users u ORDER BY u.name DESC')->getResult();
}
Run Code Online (Sandbox Code Playgroud)
控制器:
->add('users', 'entity', array(
'class' => 'UserBundle:Users',
'query_builder' => function(EntityRepository $er) {
return $er->getDistinctUsers();
},) …Run Code Online (Sandbox Code Playgroud) 我在Symfony2中使用FOSUserBundle进行身份验证.一切正常,除了"记住我".我的security.yml看起来像这样:
security:
providers:
fos_userbundle:
id: fos_user.user_manager
encoders:
'FOS\UserBundle\Model\UserInterface': sha512
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
logout: true
anonymous: true
remember_me:
key: aSecretKey
lifetime: 3600
path: /
domain: ~
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, role: ROLE_ADMIN }
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题.
我有一个带div和css的html文档,如下所示:
<html>
<head>
<title></title>
<style text="text/javascript">
body { padding:0px; margin:0px; }
.full { background-color: yellowgreen; width: 100%; height: 100%; }
.menu { height: 50px; width: 100%; background-color: black; position: fixed; }
.behindMenu { height: 50px; width: 100%; }
.logo {width: 100%; height: 150px;}
.content {background-color: yellow;}
</style>
</head>
<body>
<div class="menu">Menu</div>
<div class="behindMenu"></div>
<div class="logo">Logo</div>
<div class="full">Full div</div>
<div class="content">The rest content</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
菜单是固定的,后面菜单与菜单大小相同,位于菜单后面.然后我有徽标和div与课程满.完整后是div类内容.
当访问该页面时,我希望div满的将是(尺寸)标识和底部之间的浏览器大小.因此,即使我调整窗口大小,完整的标识和浏览器大小的底部之间也必须有一个高度.向下滚动时,用户将看到剩余的内容.
这是小提琴:http://jsfiddle.net/2963C/
我正在使用Highcharts,我想用不同的颜色填充折线图中的标记.例如:当变量"a"为1时,用红色填充标记,否则用绿色填充.有可能吗?
这是代码:http://jsfiddle.net/EnyCJ/1/
我试图用格式化程序做到这一点,但它不起作用.有什么建议?
var a=1;
plotOptions: {
series: {
marker: {
fillColor: {
formatter: function () {
if (a == 1) {
return 'red'
} else {
return 'green'
}
}
},
lineWidth: 2,
}
}
},
Run Code Online (Sandbox Code Playgroud) 我只是将我的Symfony 2.0.12项目升级到2.1.我还安装了FosUserBundle,但是当我运行命令时
php composer.phar update
Run Code Online (Sandbox Code Playgroud)
然后作曲家输出一个错误:
Loading composer repositories with package information
Updating dependencies
Writing lock file
Generating autoload files
PHP Fatal error: Declaration of User\UserBundle\Form\Type\RegistrationFormType::buildForm() must be compatible with that of Symfony\Component\Form\FormTypeInterface::buildForm() in /home/mark/dev/proj/src/User/UserBundle/Form/Type/RegistrationFormType.php on line 38
Fatal error: Declaration of User\UserBundle\Form\Type\RegistrationFormType::buildForm() must be compatible with that of Symfony\Component\Form\FormTypeInterface::buildForm() in /home/mark/dev/proj/src/User/UserBundle/Form/Type/RegistrationFormType.php on line 38
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception
Run Code Online (Sandbox Code Playgroud)
它说的是我以前的RegistrationFormType与新的Symfony 2.1表单界面不兼容.
我的composer.json
// ...
"friendsofsymfony/user-bundle": "*",
//...
Run Code Online (Sandbox Code Playgroud)
我的RegistrationFormType.php
<?php
namespace User\UserBundle\Form\Type;
use Symfony\Component\Form\FormBuilderInterface;
use …Run Code Online (Sandbox Code Playgroud) 我使用twig并在数组中有一些数据.我使用for循环访问所有这样的数据:
{% for item in data %}
Value : {{ item }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
是否可以在循环中访问上一个项目?例如:当我在n项目上时,我想要访问n-1项目.
我想将图像的完整路径(奏鸣曲媒体包)存储到树枝中的变量中.那可能吗?
如果我写:
{% set pic = path item.image, 'big' %}
Run Code Online (Sandbox Code Playgroud)
它会抛出一个错误:值为"item"的意外标记"name"(预期语句块结束)...
如果我写:
{% set pic = item.image %}
Run Code Online (Sandbox Code Playgroud)
然后它工作,但它只存储文件的名称,而不是完整路径.
我在Symfony 2.1项目中安装了KnpPaginatorBundle,并配置了Paginator.
通过分页我的URL看起来像:
http://dev.localhost/app_dev.php/news/development?page=3
Run Code Online (Sandbox Code Playgroud)
是否可以将URL更改为此类(或类似 - 没有?和=字符)?
http://dev.localhost/app_dev.php/news/development/page/3
Run Code Online (Sandbox Code Playgroud) 我正在使用Symfony 2.3,我已经安装了SonataMediaBundle.上传工作正常.我还安装了ckeditor("egeloen/ckeditor-bundle":"2.*",).CK编辑工作正常.
然后我安装"tilleuls/ckeditor-sonata-media-bundle":"dev-master",因为我想通过ckeditor上传文件 - 链接.
安装手册说我必须用命令扩展sonataMedia:
php app/console sonata:easy-extends:generate CoopTilleulsCKEditorSonataMediaBundle
Run Code Online (Sandbox Code Playgroud)
这个命令给了我一个错误:
[LogicException]
Bundle "SonataMediaBundle" is directly extended by two bundles "CoopTilleulsCKEditorSonataMediaBundle" and "ApplicationSonataMediaBundle".
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?
我的HTML代码:
<nav>
<ul>
<li><a href="#">Link1</a></li>
<li><a href="#">Link2</a></li>
<li><a href="#">Link3</a></li>
</ul>
</nav>
Run Code Online (Sandbox Code Playgroud)
如果我写
nav ul li a:hover{}
Run Code Online (Sandbox Code Playgroud)
它将hover为所有链接创建.
如何创建第一个链接"Link1"将有不同悬停的句子?
symfony ×6
css ×2
sonata-admin ×2
twig ×2
ckeditor ×1
dql ×1
entity ×1
for-loop ×1
forms ×1
highcharts ×1
html ×1
javascript ×1
markers ×1
pagination ×1
pseudo-class ×1
remember-me ×1
symfony-2.1 ×1
url ×1