我们知道 /author/user 可以显示所有用户的个人信息。就我而言,每个用户都有一个个人文件夹,其中包含内容。我的目标是在用户访问每个用户的个人文件夹时显示 /author/user 中的信息。必须首先显示此信息,并带有“选择内容项作为默认视图”选项。我创建了一个指向 /author/user 的链接和选项“选择一个内容项作为默认视图”。问题是用户被重定向到 /author/user 并且无法在个人文件夹中导航。有解决这个问题的技巧吗?
问问题
156 次
2 回答
0
你有两个问题:更改用户文件夹的默认视图(仅适用于那些)并创建一个新视图。
使用 author.cpt 中的代码创建一个新的皮肤 cpt(或者如果你不需要它,只需一个 .pt 删除反馈表),然后更改:
author python:(len(request.traverse_subpath) > 0 and url_unquote_plus(request.traverse_subpath[0])) or request.get('author', None);
从用户名或 /Members/<> 路径获取用户的东西。然后将 portal_types 中的文件夹类型复制到一个新 id(新用户文件夹或类似名称),将其分配为用户的 portal_membership 和 portal_types -> 新用户文件夹中的默认文件夹,并将其分配为默认视图。
然后你必须将所有用户的主文件夹迁移到这个新的文件夹类型。
另一种方法是使用 index_html 脚本来加载替代视图,可能只是在请求中使用 author 参数调用 author.cpt:
context.author(author=<<this folder author>>)
其中 <> 像以前一样获得。您可以在用户登录后按照此提示添加此 index_html 执行操作:
http://collective-docs.readthedocs.org/en/latest/sessions/login.html#post-login-actions
于 2012-10-03T07:31:51.330 回答
0
无需将内容项作为默认视图来实现这一点,您只需为文件夹注册一个新视图,作为 author.pt 的自定义副本。
于 2012-10-02T09:00:35.537 回答