根据菜单设置覆盖节点模板 -- 7 领域 和 routes 领域 drupal 相关 的问题

Override node template depending on menu settings


1
vote

问题

中文

如何根据菜单中的位置覆盖节点的模板?

例如,我创建一个节点,在"菜单设置" 中,我将其放在一些"父项" 下。我希望为特定内容类型的节点使用特定模板,该节点归属于特定父项下。

英文原文

How do I override the template of a node based on where it is in the menu?

For example, I create a node, and within the "Menu settings" I put it under some "parent item". I wish to use a specific template for nodes of a particular content type that fall under a particular parent item.

     

回答列表

0
 
vote

我相信通过调用 menu_get_item ,可以在 hook_preprocess_node 中实现这一点,检查它是您正在寻找的项目(检查父等),然后分配适当的模板: managed_file0

 

I believe it is possible to achieve this in hook_preprocess_node by calling menu_get_item, checking whether it is the item you are looking for (checking the parent etc.) and then assigning the appropriate template like this: $vars['template_file'] = 'your_template_file';

 
 
 
 
0
 
vote
vote
最佳答案
 

我通过在 998876611

中做这样的事情来设计它
  managed_file2  

其中plid,父菜单ID是我需要的。

 

I figured it out by doing something like this in theme_preprocess_page

$link_path = "node/$node->nid"; $result = db_query('SELECT m.plid from {menu_links} m where m.link_path = :lpath', array(':lpath' => $link_path)); 

where plid, the parent menu id, is what I needed.

 
 

相关问题

0  试图打印Apache Solr搜索的结果  ( Trying to print results of apache solr search ) 
我正在尝试打印到Drupal消息,索引项目作为Drupal中的对象。 这是我到目前为止的内容: function resource_library_search_apachesolr_process_results(&$results, DrupalSolrQueryInterface $query){ ...

1  检查面板页面是否以编程方式启用?  ( Check if a panel page is enabled programmatically ) 
我需要能够验证是否启用或禁用面板页面(仅仅是CTools页面的变体)。人会如何以编程方式执行此操作?如果它被禁用,如何通过编程方式启用它? ...

1  按URL /标题将Drupal节点作为JSON  ( Fetch drupal nodes as json by url title ) 
我们的Drupal系统使能服务模块已启用,并且能够使用以下URL格式将节点作为JSON返回 http://www.example.com/my_endpoint_path/node/123.json < / a> 但我想使用URL路径设置选项卡中设置的URL别名检索节点。我希望下面工作 http://ww...

0  drupal函数field_get_Items vs user_load  ( Drupal function field get items vs user load ) 
在drupal中,我想在登录管理员帐户时读取一组用户的自定义字段值。我只需要每个用户的1个字段值,相同的字段,我不需要这个信息缓存。 当我使用 user_load 时,它请求用户对象,因为我只需要一个字段,这是非常效率的。 所以我调查了 field_get_items ,但我看不到如何使用 user_load 。我...

2  如何在他的个人资料页面上显示用户按用户显示所有节点  ( How to display all nodes by user on his profile page ) 
我想创建一个"用户" /profiles/<RealName> ,它从用户内容类型列出所选字段。我完成了这一点。但现在,我希望从该用户创建的节点显示所选Fieds的相同视图。 我试图自己做,但我无法与所需内容类型添加关系。 ps:我是一个新手,如此恳求在答案中抛出一些细节。 ...

1  如何向这本书添加审查  ( How to add reviews to the book ) 
我有两个内容类型的"书" &amp; "审查" 。我希望角色的用户 reviewers 向他们想要的任何书添加评论。 我是怎么做到的?: 我已添加实体引用以通过(自动完成)小部件从审核中读取书籍。这只是允许审阅者添加评论节点并从自动完成中选择"预订" 。谁那样?我对它不满意。 如何我想要它: 我是每本书的...

0  将模板应用于特定页面  ( Apply template to a specific page ) 
我需要将模板应用于特定页面,而不是遵循相同的URL模式的页面。 例如,我有一个带有路径/亚洲的页面。我还有路径/亚洲/印度,/亚洲/中国等的页面。我想创建一个仅适用于/亚洲的模板,而不是其他路径。我创建了模板文件页面 - Asia.tpl.php,但它也适用于/亚洲/印度和/亚洲/中国。有没有办法将模板专门映射到此...

5  如何防止用户点总计低于给定用户的阈值?  ( How to prevent user point totals from going below a threshold for a given user ) 
我想为个人用户点设置一个绝对的地板(使用用户点模块)。具体而言,为了使得不可能在1以下的用户点数。 在Drupal 6中,userpoints_contrib中有 userpoints_no_negative 模块,但是删除了规则集成7.x( https://drupal.org/project/userpoints...

0  如何在页面加载中打开模态表单[重复]  ( How to open modal form on page load ) 
这个问题已经在这里有一个答案: ctools模块没有ajax (1答) ...

3  重定向不适用于nginx  ( Redirect does not work on nginx ) 
我正在将旧站点迁移到drupal(使用 migrate 模块),我管理了直接在代码中,使用重定向中的所有旧网址重定向到新的Drupal URL。例如: www.mysite.com/userprofile.php?user=5 重定向到: www.mysite.com/it/community/peoples/...

0  在不创建页面的情况下创建表单  ( Create a form without creating a page ) 
似乎足够简单,可以使用表单API在DRUPAL 7中创建表单,但是,我发现的一切都显示您必须使用hook_menu()添加页面,然后生成那种方式的表格。 我想创建一个独立的表单,然后只使用drupal_get_form()和drupal_render()显示表单来呈现表单。 如何在不创建自己的页面的情况下创建自定义表...

0  验证一组字段,以便只有0或2+字段已完成,只能提交表单  ( Validate a group of fields so that form can only be submitted if 0 or 2 fields ) 
在Drupal 7中,我需要验证几个CCK字段,以便仅在完成0或两个或更多字段时才可以保存节点。因此,如果只有其中一个字段已完成验证,则错误消息将失败,如"请提交两个或多个数年的数据,或者根本没有数据" 。 我知道我可以使用字段组和字段组多个设置字段组。我可以看到验证提供基本验证选项,包括检查最少的几个字段中的1个完...

0  获取代码库中所有模块的列表  ( Get a list of all the modules in code base ) 
这更像是开发者问题。 我需要在我的代码库中存在的所有模块的列表。我不是在寻找启用或安装模块。我只是在寻找我的代码库中存在的所有模块(代码)。 ...

1  导入shapefiles / kml  ( Importing shapefiles kml ) 
我需要添加支持kml文件或shapefile,最好是使用effile。这个想法是每个记录都与单个节点有关,上传的文件可能包含数百个新节点。我尝试了空间工具,但饲料进口只在drupal 6中工作。我也试过<一个href ="https://drupal.org/project/gdal" rel ="nofollow"...

0  设置自定义模块主题/布局[关闭]  ( Setting a custom module theme layout ) 
关闭。这个问题需要更多聚焦。它目前不接受答案。 想要改进这个问题?更新问题,因此它仅介绍了编辑此帖子。 关闭 7年前。 ...

3  如何允许在具有不同查询字符串的同一URL上重定向?  ( How to allow for redirecting on same url with different query strings ) 
我正在使用drupal 7.我有大约120个具有不同查询字符串的URL,而 drupal不允许我在相同的URL上重定向,以不同的查询字符串/参数。 例如: 我必须从这个URL博客/它的时间占据它重定向它?Page = 1 到博客/它的时间占用 - 它。查看下面给出的更多例子; (from url) blog/a...

0  如何在WebForm中自动插入序列号?  ( How to auto insert a sequence number in a webform ) 
有没有办法添加提供唯一序列号的WebForm字段?希望可以依次计算每个WebForm类型的数字。 ...

3  Drupal菜单深度限制  ( Drupal menu depth limitation ) 
我面临的问题是,在我的Drupal网站中,我有菜单深度级别更为15.默认情况下,Drupal 7提供深度级别是9.它是如何增加它的菜单深度级别的方法? 简而言之: - 我需要在我的单个菜单项中添加更多的15个孩子。 expamle: - 菜单 -1 - 2 --- 3 ---- 4 ---...

0  使用自定义Cron触发表单提交按钮  ( Trigger a form submission button using custom cron ) 
可以创建触发提交表单的CRON? 更清楚,当执行我的Drupal Cron时,此表单将自动提交? 编辑: 这是reson是cron的一种解释: im使用apachesolr用于我网站中的索引文章, 有时它发生在网站中的一些编辑器删除文章,但问题,这些文章仍然存在于apachesolr中......当Solr尝试...

2  反向翻译功能?  ( Reverse translation function ) 
如您所知,Drupal中的 t()功能是翻译功能。 t('基本值')返回当前语言的翻译表达式。 我想知道,Drupal中有任何功能,它将将表达式视为参数并返回基本值? $translated = t('base'); $base_value = reverse_translation ($translated...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.