我有一个自定义内容类型“ notices”,其中为特定的分类法术语添加了一个下拉字段(假设国家/地区词汇及其下的术语为US,UK等)。只有特定的用户角色(假设notice_editor)才能添加通知(我提到的自定义内容类型)。此类角色具有该角色的权限。
现在,我已经安装permission_by_term模块并进行了设置,以使在notice_editor角色下的特定用户可以访问特定国家/地区的字词(例如,notice_user_1用户可以访问美国的国家字词,notice_user_2用户可以访问英国的国家字词)。在“添加通知”表单中的“国家/地区字词”下拉列表中,仅列出了当前用户可以访问的国家/地区。因此,notification_user_1在添加通知表单中的国家/地区下拉列表中只会显示美国。
编辑显示所有内容的admin / content视图,我添加了country字段,其中显示了为该通知选择的国家/地区字词。到目前为止,一切正常。但是,当notice_user_1用户登录到站点时,在admin / content视图页面中,他可以看到所有内容,包括他有权访问的通知。但是我只需要列出具有notice_user_1可以访问的国家/地区的通知。在这种情况下,notice_user_1应该只能看到来自美国国家/地区的通知并进行编辑。但是发生的事情是,他可以看到所有内容,但除具有访问权限的地方外,没有权限编辑/删除它们。来自不同国家/地区的其他通知未列出,但其他内容类型(例如基本页面)也已列出。
我还必须撤销其他内容的查看权限。我知道我必须在内容视图中添加一些过滤器。但是,要怎么做,我应该使用什么过滤器来仅显示他有权访问国家的通知,而没有其他显示。而且我还必须以不妨碍其他用户角色节点列表页面的方式进行操作。管理员角色或其他内容管理员角色将具有与以前相同的节点列表视图。只需为此用户角色更改即可。
我还可以创建一个单独的新视图,但是仍然存在过滤条件问题。我也很乐意在自定义模块中编写代码,但是我将需要一些有关如何做的建议。如果有人可以建议我解决我的问题,将不胜感激!