如何在视图中添加保存和返回列表按钮以创建新记录?一般来说,我想要更多的按钮,所以我正在寻找一个通用的答案.
编辑:默认生成器为我提供了两个按钮:
- 保存
- 保存并添加
我想要一个按钮saves and takes me back to the list.而且我还想要一个带有自定义动作的自定义按钮.
让我解释一下实际情况:
我有一个列表操作create,将我带到一个具有一些输入字段的表单.现在我想使用这些字段的数据制作图像.我想在表单的右侧将此图像显示为预览.为此我需要一个预览按钮,这样无论何时按下,它都会将数据提交给自己进行预览和进一步修改.
我希望现在更清楚了.
我正在使用Symfony 1.4和Doctrine.
假设我有两个类:品牌和产品.
当我在基于Admin Generator的管理员中创建新产品时,我想从下拉列表中选择一个品牌.Admin Generator正在为我做这件事,自动创建一个sfWidgetFormDoctrineChoice.
问题是品牌是按照ID排序的.我希望他们的"标签"字段可以订购.
为了做到这一点,我在ProductForm课堂上做了以下几点:
$this->widgetSchema['brand_id']->addOption('order_by','label');
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
语法错误或访问冲突:1064 SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的'a'附近使用正确的语法.失败的查询:"SELECT b.id AS b__id,b.external_id AS b__external_id,b.label AS b__label,b.created_at AS b__created_at,b.updated_at AS b__updated_at FROM brand b ORDER BY la"
声明的顺序真的很奇怪.我不明白为什么它似乎削减了命令的名称.
编辑:显然'order_by'选项期望数组作为第二个参数.它期望什么价值?
我有一个管理生成器用于以下模型:
#schema.yml
Author:
columns:
name: { type: string(255), notnull: true }
Book:
columns:
authorId: { type: integer, notnull: true }
title: { type: string(512), notnull: true }
content: { type: string(512), notnull: true }
relations:
Author: { onDelete: CASCADE, local: authorId, foreign: id, foreignAlias: Books}
Run Code Online (Sandbox Code Playgroud)
我已经创建了2页,每页都对应一页
php symfony doctrine:generate-admin backend Author
php symfony doctrine:generate-admin backend Book
Run Code Online (Sandbox Code Playgroud)
现在我想在作者视图中找到他的书的链接.最好的方法是什么?我的尝试是一个预先选择过滤器的自定义链接,但我不知道该怎么做.
#generator.yml for Author
# ...
config:
actions: ~
fields:
list:
display: [id, name, _booksLink]
filter: ~
form: ~
edit: ~
new: ~
Run Code Online (Sandbox Code Playgroud)
和 …
在backend_dev我用admin生成器模块生成新闻:
localhost/backend_dev.php/news/2/edit
这是编辑新闻ID 2的链接.如何为其他ID生成此链接?
url_for('news/edit?id=2')
Run Code Online (Sandbox Code Playgroud)
不起作用,输出是:
localhost/backend_dev.php/news/edit/action?id=1
在路由我只有:
news:
class: sfDoctrineRouteCollection
options:
model: News
module: News
prefix_path: /news
column: news_id
with_wildcard_routes: true
Run Code Online (Sandbox Code Playgroud) 我使用doctrine管理生成器,我想不允许用户创建新记录(只是为了显示它们),有没有办法通过设置"generator.yml"来做到这一点?我已成功删除de batch和每个项目的操作,其他一切工作正常,但无法删除"新"链接=(这就是我所拥有的(相关部分顺便说一句):
generator:
params:
config:
list:
batch_actions: {}
object_actions:
_delete: ~
Run Code Online (Sandbox Code Playgroud) 我正在用Symfony2和Sonata Admin Bundle做一个项目.如何在动作configureShowFields中应用twig过滤器(显示格式化文本)?
我不会覆盖Sonata模板......
我的configureShowFields的代码:
protected function configureShowFields(ShowMapper $showMapper)
{
$showMapper
->add('active')
->add('title')
->add('subtitle') // I need this field with twig RAW filter
->add('description') //I need this field with twig RAW filter
->add('url')
->add('date')
->add('tags')
->add('file');
}
Run Code Online (Sandbox Code Playgroud) 我使用了"doctrine:generate-admin"任务.一切正常,但我想使用generator.yml文件来取消设置某些表单字段,而不是在Form类本身中取消它们.像"updated_at"之类的东西我只需要在对象更新时保存但我不希望它们显示在任何表单上,因此我不会得到任何表单验证错误.
这可能吗?我在生成器的参考页面上找不到任何可以让我这样做的东西,字段配置似乎只允许更改标签/凭证等.