是否可以覆盖表单类型的模板:"sonata_type_collection"?
我试过这些方法:
$formMapper->add('slides', 'sonata_type_collection', array(), array(
'edit' => 'inline',
'inline' => 'table',
'sortable' => 'priority',
'template' => 'MyBundle:Form:slides.admin.html.twig'
));
Run Code Online (Sandbox Code Playgroud)
但无济于事.
我知道我可以覆盖整个模板,但我只想为这个表单做这个,而不是我使用这个表单类型的所有地方.
有谁知道这是否可能?
谢谢
如您所知,sonata admin捆绑包在编辑页面中有三个按钮,分别是"添加新的,更新和删除".我可以删除删除按钮:
protected function configureRoutes(RouteCollection $collection)
{
$collection
->remove('delete')
;
}
Run Code Online (Sandbox Code Playgroud)
但我想在编辑UserAdmin时添加"向用户发送消息"按钮.我怎样才能做到这一点?我在sonata docs中找不到任何关于它的文档.
我添加了带有"mapped" => falseSonataAdmin表单选项的字段.
现在我需要访问"mapped" => false方法中标记的表单字段的值postUpdate.我怎样才能找回它们?
在管理类中:
protected function configureFormFields(FormMapper $formMapper) {
$formMapper
->add('name', 'text')
->add('description', 'text')
;
}
Run Code Online (Sandbox Code Playgroud)
我不知道在"名字"添加javascript之前我怎么能,你能帮助我吗?
我正在研究Symfony2和SonataAdminBundle.
我需要知道如何在仪表板的左侧添加菜单?就像在屏幕上一样:

我需要在页面的左侧部分显示仪表板块(在我的屏幕上以深灰色显示)..我该怎么做?
您可以在SonataAdmin的演示中看到http://demo.sonata-project.org/admin/dashboard,登录管理员,apssword管理员
我被困在这几个小时.
我有管理类列出所有类别,在一个表列中有相关产品(产品实体):表示例 相关代码:
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('name')
->add('products') // Entity Product, @ORM\OneToMany
->add('ord')
;
}
Run Code Online (Sandbox Code Playgroud)
我需要做的是隐藏基于"(boolean)product.active"列出的非活动产品,但我无法弄明白.我知道"createQuery"方法,但它不起作用.当我生成SQL并直接运行查询时,它可以工作,但在这里看起来我只能使用ProxyQuery过滤类别,然后在单独的查询中查询所有产品(而这个单独的查询我不知道如何更改).
public function createQuery($context = 'list')
{
$query = parent::createQuery($context);
$q = new ProxyQuery($query->join(sprintf('%s.products', $query->getRootAlias()), 'p')
->andWhere('p.active = :act')->setParameter('act', true));
return $q;
}
Run Code Online (Sandbox Code Playgroud)
感谢您的任何帮助
我在SonataAdminBundle中使用ACL时安装了SonataAdminBundle,SonataUserBundle和FOSUserBundle以及CoopTilleulsAclSonataAdminExtensionBundle.
所有者过滤列表,一切都很好.顾客A只能看到他的物品,顾客b也只能看到他的物品.但是,如果我要创建一个新对象,我也可以看到其他客户的项目.
让我们说客户可以创建用于分配产品的组.这是在将产品创建为下拉列表(产品视图中的多对一关系)时完成的.但我也可以看到由其他客户创建的群组.
我怎么过滤这个?我想我必须在ProductsAdmin.php中进行任何过滤.或者它必须发生在ProductsRepository.php中吗?到目前为止,我在文档中找不到任何提示,并且会在任何类型的提示或链接中找到我可以找到的信息.
我生命中第一次使用SonataAdminBundle,我遇到了一些问题.
起初,我有一个PageBundle,它有Page一个Author实体.然后我开始使用SonataAdminBundle并使用它sonata_type_model来很好地显示Authors Page:
// ...
protected function configureFormFields(FormMapper $mapper)
{
$mapper
->add('title')
->add('slug', null, array('required' => false))
->add('published', null, array(
'label' => 'publish',
'required' => false,
))
->add('author', 'sonata_type_model')
->add('content')
;
}
Run Code Online (Sandbox Code Playgroud)
但后来我发现了SonataUserBundle.我开始使用它,当我最终使它工作时,我认为使用这个User
实体而不是AuthorPageBundle 中的实体会很好.为了实现这一点,我使用了文档中的
"如何定义与抽象类和接口的关系"的技术.
这有效,但不适用于SonataAdminBundle.看起来它
sonata_type_model不起作用ResolveTargetEntityListener,我无法使它工作.
PagePageBundle中的相关实体代码:
namespace Wj\PageBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table
* @ORM\Entity
* @ORM\HasLifeCycleCallbacks
*/
class Page
{
/**
* @var integer $authorId
*
* …Run Code Online (Sandbox Code Playgroud) 我安装了Sonata admin Bundle,一切正常但我没有任何语言 - 管理员中的按钮和文本就像之前的翻译示例:
label.select_context,btn_filter(不过滤但是btn_filter)
和其他 - 我可以在哪里设置语音奏鸣曲管理员?
我想显示多个属性的列表Name => value覆盖在单个字段的表中仅用于PortsAdmininShowMapper
Ports实体与PortsAttributes实体映射.
实体的关系是OneToMany具有多个属性的Ports.
管理员视图(编辑操作)
显示动作
我想要更改属性视图与编辑动作相同.
sonata-admin ×10
symfony ×9
php ×4
doctrine-orm ×1
forms ×1
javascript ×1
sonata ×1
symfony-2.1 ×1
templates ×1