Questions tagged «routes»

使用Drupal 8中引入的术语,路由是模块响应的路径。

2
当前菜单结构背后的原因是什么
我不是Drupal忍者;根据我在http://drupal.org/node/788972上看到的内容, Drupal似乎具有Joomla之类的菜单结构,从某种意义上说,它允许在菜单类别下创建菜单项。为什么与中央菜单项部分不同,为什么要使用此菜单项?如果需要,我们可以从中央菜单项部分链接到多个菜单? 这就是我在Wordpress中看到的。在后一种方法中,我可以看到减少的冗余和更改同一链接的多次出现的单个点。 我想了解Drupal菜单结构背后的逻辑/原因,而不是了解Drupal与Joomla或WordPress相比如何。

2
如何主题菜单块?
我创建了一个自定义菜单(我们称其为“ mynav”),在主题中,我专门为其创建了一个模板(block--menu--menu-mynav.tpl.php),其中包含: <div id="mynav" class="<?php print $classes; ?>"<?php print $attributes; ?>> <?php print $content ?> </div> 这很好。 但是,我希望将ID应用于生成并包含在其中的无序列表$content。我想我需要创建一个MYTHEME_links__system_mynav_menu这样的函数: function MYTHEME_links__system_mynav_menu($variables) { return "TEST"; // Generate HTML here (<ul id="mynav">...) } 但似乎没有影响。 我究竟做错了什么?
11 7  routes  theming 

2
hook_menu_alter()更改菜单项类型的等效功能是什么?
我想在Drupal 8中更改菜单类型。在Drupal 7中,我们可以使用hook_menu_alter实现此功能。 function module_menu_alter(&$items) { $items['admin/config/people/ip-blocking/default'] = array( 'title' => 'Block IP Address', 'type' => MENU_DEFAULT_LOCAL_TASK, ); } 同样,我想在Drupal 8中更改菜单类型。我该如何做。谢谢。
10 8  routes 

3
如果您在Drupal 8中更新路由文件,如何清除缓存?
自从Drupal 7推出以来,我就一直在学习Drupal 8 drush cache-rebuild。 在我的VPS上,这需要15秒(然后下一页的加载速度也很慢)。我感觉这可能是一把八角锤,可以打破坚果的状况。 有没有更有效的方法让Drupal从{module}.routing.yml文件重新编译(更改的)路由?
10 caching  8  routes 

3
自定义菜单作为管理菜单
是否有一个采用自定义菜单并将其显示为“ 管理”菜单的模块? 我想创建我的自定义菜单,然后像管理菜单一样显示它(仅适用于某些角色)。 我已经尝试了一些模块,但是: 管理菜单不允许选择应显示的菜单,但是我想显示管理员的默认菜单以及“编辑”和其他自定义角色的自定义菜单 Superfish或Nice菜单不允许将菜单放在页面顶部,就像Admin菜单一样 另一个解决方案可以是将模块放置在页面顶部的模块,该模块是固定的,因此我可以使用“简单”的superfish菜单,但找不到类似的东西。 主要问题是我不能使用“默认”管理菜单,而只能使用自定义菜单。
10 routes 

4
内容访问模块隐藏菜单链接
我在Drupal 7中使用Content Access模块。当我限制来自特定角色的节点访问时,它还会隐藏菜单中的链接。 有什么办法可以显示主菜单中的受限链接?
10 7  routes  users 

6
如何根据当前页面输出子链接
当登陆的菜单项是其他页面菜单项的父项时,我希望能够显示这些子菜单项的列表。我正在使用以下代码。 $trail = menu_get_active_trail(); menu_build_tree('main-menu', array( 'expanded' => array($trail[1]['mlid']) )); 但是,返回的数组看起来像这样(删除了许多不必要的数组)。 array '49950 PKY Truck Beauty 312' => array 'link' => & array 'menu_name' => string 'main-menu' (length=9) 'mlid' => string '312' (length=3) 'plid' => string '311' (length=3) 'below' => array '49952 Seminars 314' => array 'link' => & array …
10 routes 

5
如何创建相对菜单链接?
我正在本地主机上的一个站点上忙碌,该站点需要链接到与Drupal分开的某些内容。 我已将当前菜单路径设置为:http://mylocalsite/the_folder_for_the_other_content。如果尝试使用 <front>/the_folder_for_the_other_contentor或/the_folder_for_the_other_contentor the_folder_for_the_other_content,则会收到错误消息“路径'whatever_I_use'无效或您无权访问。” 当我上线时,我显然需要所有菜单项都指向http://myrealsite/the_folder_for_the_other_content。 如何设置它,以便在上线时无需编辑所有菜单路径?
10 routes 

1
将选项卡/本地任务添加到节点
我创建了一个名为的模块hotel_reviews。 我已经使用hotel_reviews.routing.yml创建了路径节点/ {node} / reviews 。 hotel_reviews.content: path: '/node/{node}/reviews' defaults: _controller: '\Drupal\hotel_reviews\Controller\ReviewsController::content' _title: 'Reviews' requirements: _permission: 'access content' 然后,我尝试使用hotel_reviews.links.task.yml添加本地任务。 hotel_reviews.content: route_name: hotel_reviews.content title: 'Reviews' base_route: node.view weight: 100 现在,我可以访问由我的控制器定义的内容node/1/reviews,但是当我转到时,node/1我看不到评论标签。 我究竟做错了什么? 到目前为止,我一直在使用以下文档: D7到D8升级教程:将hook_menu()和hook_menu_alter()转换为Drupal 8 API 提供模块定义的本地任务 路线结构
10 8  routes 

2
如何测试当前页面是否为管理员页面?
在某个时候,我开始使用以下代码来测试当前页面是否为管理页面: $route = \Drupal::routeMatch()->getRouteObject(); $is_admin = \Drupal::service('router.admin_context')->isAdminRoute($route); 但是我发现这在hook_entity_load()中的节点编辑页面上失败。 我们如何测试我们是否在Drupal 8的管理页面上?像Drupal 7中的path_is_admin()之类的东西? 我发现,如果我从外部hook_entity_load测试同一节点编辑页面路径,请使用此页面上的代码(https://api.drupal.org/api/drupal/includes%21path.inc/function/path_is_admin/7.x) 有用。 use Symfony\Component\HttpFoundation\Request; use Symfony\Cmf\Component\Routing\RouteObjectInterface; $path = '/node/75/edit'; $request = Request::create($path); $route_match = \Drupal::service('router.no_access_checks')->matchRequest($request); $route = $route_match[RouteObjectInterface::ROUTE_OBJECT]; $is_admin = \Drupal::service('router.admin_context')->isAdminRoute($route); 但是,如果我尝试使用当前路径在hook_entity_load中添加此代码,则会出现致命循环。 我认为卡住的地方是在hook_entity_load中加载当前路由。
9 8  routes 

2
显示限制匿名用户访问的菜单项
我有一个网站,该网站使用“ 私人”模块来设置对内容的访问权限,当然我的某些页面具有菜单项。现在,如果我将页面设置为私人页面,则只有拥有适当权限的用户才能看到该页面,这很棒,而且是我想要的。 但是我对菜单项有一些问题,如果分配给它们的内容不是公开的(例如,分配给它们的页面是私有的),它们就会消失,这是可以的,但是我仍然希望能够显示那些菜单项在导航中,因此如果用户单击它们,它将带他们到登录页面,要求他们输入详细信息以查看该特定页面。 因此,基本上,我想更改菜单项的行为,使其始终对网站的匿名和注册成员可见,但是当您单击它们时,您将能够看到页面(如果已登录)或重定向到登录页面(如果是匿名用户) 我发现这种解决方案对我来说不是最佳解决方案,因为我有很多这样的页面,因此我正在寻找一种更好的方法。我什至尝试了菜单项可见性模块,但也无济于事! 请问我该如何实现? 路卡
9 7  routes  users 

3
如何完全擦除和重建Drupal菜单?
不久前,我发现了一个很酷的博客文章,其中详细介绍了如何清空菜单表,并使用drush php调用重建菜单系统,这是必要的,因为清空这些mysql表后该站点将无法使用。这样,您可以像重新设置Drupal网站一样重置菜单。 谁能详细介绍这种技术,或者您有该博客的链接?
9 7  routes  drush 


2
如何设置路线的管理主题?
根据Drupal手册,路由定义接受称为的参数_theme。不幸的是,该参数记录为“ TODO”。 可以用来强制路由的管理主题吗?是否可以在此处注入带有管理主题名称的config参数? 看来其他解决方案是使用主题谈判器,但是_theme参数看起来很诱人,使用起来更简单。
9 8  routes 

2
如何将本地任务选项卡添加到节点视图?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Drupal Answers 的主题。 3年前关闭。 我正在尝试向节点“视图”和“编辑”选项卡添加一个额外的选项卡。 我的模块已启用,并且我已经清除了缓存,但是我的新标签页没有出现。我想念什么? /** * Implements hook_menu(). */ function add_performance_menu() { $items = array(); $items['node/%node/performance'] = array( 'title' => 'Add a performance', 'page callback' => 'add_performance_action', 'access callback' => TRUE, 'type' => MENU_LOCAL_TASK, ); return $items; } /** * Page callback. */ function add_performance_action() { …
8 7  routes 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.