gpt4 book ai didi

symfony1 - Symfony 管理生成器,链接到过滤结果

转载 作者:行者123 更新时间:2023-12-04 19:19:08 25 4
gpt4 key购买 nike

我有以下模型的管理生成器:

#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}

我已经生成了 2 页与每个表对应
php symfony doctrine:generate-admin backend Author
php symfony doctrine:generate-admin backend Book

现在我想在作者中查看他的书的链接。
最好的方法是什么?
我的尝试是预先选择过滤器的自定义链接,但我不知道该怎么做。
#generator.yml for Author
# ...
config:
actions: ~
fields:
list:
display: [id, name, _booksLink]
filter: ~
form: ~
edit: ~
new: ~


<!-- modules/author/templates/_booksLink.php -->
<a href="<?= link_to('book?author_id='.$author->getId()) ?>"><!-- how to select filter? -->
See <?= $author->getName() ?> books
</a>

谢谢

最佳答案

本讲座回答您的问题(幻灯片 39 和 40):
http://www.slideshare.net/jcleveley/working-with-the-admin-generator

在你的actions.class php中添加:


class AuthorActions extends AutoAuthorActions
{
public function executeViewBooks($request) {
$this->getUser()->setAttribute( 'book.filters',
array('authorId' => $request->getParameter('id')), 'admin_module' );
$this->redirect($this->generateUrl('book'));
}
}

关于大小写的注意事项:字段名称与架构中定义的大小写匹配。例如:如果你有 authorId在模式中,你必须写 authorId在上面的函数中(第 5 行)。如果您有 author_id在模式中,你必须写 author_id在函数中。此外,模块名称始终为小写并带有下划线(例如: schema : MyBooks -> module name: my_books)。

在你的 generator.yml

list:
object_actions:
_edit: ~
_delete: ~
viewPhones: { label: View books, action: viewBooks }

关于symfony1 - Symfony 管理生成器,链接到过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6191104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com