我有一个带上下文过滤器的Drupal 8页面视图,路径相同:
/category/%cid/product/%pid
此处%cid和%pid是页面视图的上下文过滤器。
在此页面中,我想更改页脚菜单,以更改链接,以便:
/privacy-policy
成为
/productname/privacy-policy
仅当创建了任何节点且具有url路径设置时:
/productname/privacy-policy
如何实现这一目标。
注意: 基于我尝试过的Drupal中的讨论,
我无法实现这一目标。
答案 0 :(得分:1)
我正在尝试通过使用hook_menu_links_discovered_alter()来实现类似的目的,并且通常可以正常工作:
function mymodule_menu_links_discovered_alter(&$links) {
$links['linkid']['title'] = 'Some new title';
$links['linkid']['url'] = 'http://www.google.com';
}
链接标题和网址已更改。但是我面临的问题是这些更改已被大量缓存。即如果我根据当前语言设置标题,则第一次访问时标题将是正确的,但此名称将被记住并在之后的每次访问中使用。因此,当我切换语言时,标题将保持不变(已缓存)。