定制面包屑删除重复 -- 7 领域 和 breadcrumbs 领域 drupal 相关 的问题

Custom Breadcrumbs remove duplicates


3
vote

问题

中文

我正在使用自定义面包屑,几乎所有工作都是很好的,但几个问题。一个问题在另一个问题中,这个问题在于我的观点的着陆页上,我得到了回家>> homme>> Homme。我需要删除副本。我看到配置的配置中有一种形式,可用于面包屑可见性。是我解决这个问题的地方。我认为没有其他方法可以做到这一点。有谁知道或有我需要的代码?

英文原文

I am using custom breadcrumbs and almost all is working well but a few issues. One problem stated in another question, this problem is that on the landing page of my views I am getting home >> Homme >> Homme. I need to remove the duplicate. I see there is a form in the configuration for breadcrumb visibility. Is this where I solve this problem. I see no other way to do this. Does anyone know or have the code I need?

     

回答列表

4
 
vote

我认为你可以在 99887661 中使用 theme_breadcrumb($variables) 来删除重复。

代码可能是这样的:

  themeName_breadcrumb($variables) {   [...]   $breadcrumbs = array_unique($variables['breadcrumb']);   [...] }   
 

I think you could use theme_breadcrumb($variables) in your template.php to remove duplicates.

Code could be something like this:

themeName_breadcrumb($variables) {   [...]   $breadcrumbs = array_unique($variables['breadcrumb']);   [...] } 
 
 
   
   
0
 
vote

由于某种原因,我正在填充填充物中的重复。但它们并不完全重复,一个人会有一个标题的锚元素,另一个不会,因此我不得不检查锚元素内的html,而不是阵列的整个行。

我没有时间完全调试它。这是我所做的:

  function [yourtheme]_breadcrumb($variables) {   // Convenience variable:   $breadcrumb = $variables['breadcrumb'];    //For some reason there are duplicate entries in the breadcrumb, this will remove them   $flags = array();    foreach($breadcrumb as $key => $bc){     $startPos = strpos($bc,'>');     $flag = substr($bc,$startPos);     if (in_array($flag,$flags)){       unset($breadcrumb[$key]);       continue;     }     $flags[] = $flag;   }    //That's the only relevant code, the rest of this is for another purpose    // If we have any breadcrumbs:   if (!empty($breadcrumb)) {     $breadcrumb[] = drupal_get_title();      // Convert 'em to a string:     $breadcrumbs = implode(' <span class="divider">/</span> ', $breadcrumb);     // Build a heading--here at least, we're following the D7 convention of     // accompanying menus with invisible headings to aid in text-only navigation:     $heading = t('You are here');     // Pattern for output:     $output_pattern = '<h2 class="element-invisible">%s</h2><ul class="breadcrumb">%s</ul>';     // Return the markup:     return sprintf($output_pattern, $heading, $breadcrumbs);   } }   
 

For some reason I was getting duplicates in my breadcrumb. But they weren't quite duplicates, one would have an anchor element with a title, the other wouldn't, thus I had to check only the html within the anchor element, not the entire row of the array.

I didn't have time to totally debug it. Here's what I did:

function [yourtheme]_breadcrumb($variables) {   // Convenience variable:   $breadcrumb = $variables['breadcrumb'];    //For some reason there are duplicate entries in the breadcrumb, this will remove them   $flags = array();    foreach($breadcrumb as $key => $bc){     $startPos = strpos($bc,'>');     $flag = substr($bc,$startPos);     if (in_array($flag,$flags)){       unset($breadcrumb[$key]);       continue;     }     $flags[] = $flag;   }    //That's the only relevant code, the rest of this is for another purpose    // If we have any breadcrumbs:   if (!empty($breadcrumb)) {     $breadcrumb[] = drupal_get_title();      // Convert 'em to a string:     $breadcrumbs = implode(' <span class="divider">/</span> ', $breadcrumb);     // Build a heading--here at least, we're following the D7 convention of     // accompanying menus with invisible headings to aid in text-only navigation:     $heading = t('You are here');     // Pattern for output:     $output_pattern = '<h2 class="element-invisible">%s</h2><ul class="breadcrumb">%s</ul>';     // Return the markup:     return sprintf($output_pattern, $heading, $breadcrumbs);   } } 
 
 
0
 
vote

为什么你使用主题函数而不是预处理?

  function THEME_preprocess_breadcrumb(&$variables) {   $all = array();   foreach ($variables['breadcrumb'] as $key=>$item) {     if (preg_match('|href="(.*)"|Ui', $item, $matches)) {       if (isset($all[$matches[1]])) {         unset($variables['breadcrumb'][$key]);       } else {         $all[$matches[1]] = 1;       }     }   } }   
 

Why do you use theme function instead of the preprocess?

function THEME_preprocess_breadcrumb(&$variables) {   $all = array();   foreach ($variables['breadcrumb'] as $key=>$item) {     if (preg_match('|href="(.*)"|Ui', $item, $matches)) {       if (isset($all[$matches[1]])) {         unset($variables['breadcrumb'][$key]);       } else {         $all[$matches[1]] = 1;       }     }   } } 
 
 

相关问题

1  如何在块中制作节点标题输入表单?  ( How can i make a node title input form in a block ) 
im在d7上。我想在我的网站的登陆页面上有一个块,其中有一个"在此处输入标题" 输入字段。当用户进入其中的内容并单击继续时,它们将针对节点提交表单,并且标题字段应填充它们刚输入的内容。我会如何把他的东西放在一起? 谢谢? ...

11  如何获得当前分类学期术语的分类学期名称.TPL.php?  ( How do i get the taxonomy term name of the current taxonomy term page tpl php ) 
im在d7上。我试图获取我正在进行的分类页的分类学期名称。由于我不在"节点" 页面上,我无法通过$ node-&gt来获得它。tid。我应该怎么办? 谢谢。 ...

2  我可以在侧边栏块重新加载当前页面中拥有WebForm  ( Can i have a webform in sidebar block reload current page ) 
我在我的侧栏中有一个webform作为块。如果我将 Redirection location 设置为 No redirect (reload current page) ,它将在主内容中加载表单URL。我可以理解为什么它这样做,但我希望它重新加载当前页面(或用Ajax提交表单但没有必要)。是否有任何简单的方法来实现这...

2  如何自定义评论回复链接?  ( How do i customize the comment reply link ) 
我正在尝试自定义评论回复链接以将用户指向同一页面上的注释提交表单。我试过了: <?php $content['links']['#links']['comment-reply']['href'] = '#edit-comment-body-und-0-value'; ?> 在我的comment.tpl....

2  手动更新节点时处理节点语言  ( Dealing with node language when manually updating node ) 
我正在尝试手动更新节点,我不确定语言如何工作。 节点是英文,因此 $node->language = 'en'; 但是,所有字段数据都在节点中如下所组织: $node->field_name['und'][0]['value'] 我认为 'und' 意味着"语言未定义" ,所以它不应该是 'en' 而不...

8  查找给定类型的所有实体?  ( Find all entities of a given type ) 
我正在处理使用自定义实体类型的模块的管理界面。是否有一个功能或某种方式,我可以用来找到给定类型的所有实体,以便我可以向用户展示它们的列表? ...

2  由于缺少“当前”密码,用户无法更改密码  ( User cannot change password due to lack of current password ) 
如果用户签署&amp;使用1次登录链接登录(由于该站点被配置为中等用户),如果他们没有设置密码并导航,则无法再回到并将密码设置为Drupal现在需要其"当前"密码(显然不存在)。 有没有办法?没有Drupal要求"当前密码" 设置,或许是? ...

1  显示分类学术语的儿童  ( Show children of a taxonomy term ) 
我利用了视野:"分类学术语" 。是否有一种简单的方法来展示一个术语的孩子,旁边的节点掌握这个术语? 示例: Cars - Volvo --- Family_cars --- Sports_cars - Honda --- Parts --- ... Trucks - ... 当您看到"汽车" 页面时,我想显...

1  是否有一个模块允许使用特定网址访问页面?  ( Is there a module that allow to access a page using a specific url ) 
我不记得久前看到这个模块,但不能为我的生活找到它。它所做的是只允许您为其设置的特定链接访问页面。因此,如果您刚进入浏览器的URL,您将被重定向到,例如,您的主页。 有没有人回想起这个模块? ...

0  删除“成员”  ( Removing member for ) 
如何从出现在帐户上删除信息? 我知道我可以隐藏这个字段,但问题是ubercart命令链接出现在历史统计字段中,所以我无法隐藏字段。我尝试使用CSS隐藏细节,但由于隐藏DL标记隐藏了整个字段而失败。 ...

1  需要“管理分类”,以使用户选择一个术语  ( Administer taxonomy is needed to make a user select a term ) 
我需要一个用户从给定词汇中选择一个术语,但如果我为它们启用"管理分类" ,则该字段仅适用于普通用户。有没有解决的办法?我不应该使用分类吗? ...

0  创建一个完整的网站包  ( Creating a full site package ) 
我发现 st conch 主题有一个完整的网站安装包,具有该主题。 我怎么去做这个?也可以使用数据填充数据库...... 感谢 ...

0  如何通过单击文件模块中的图标来下载文件?  ( How to download file by clicking on icon in file module ) 
我在drupal 7中有一个文件字段(带有文件模块),我强制使用视图显示为上传的文件的图标和名称。名称显示为链接(下载文件)。现在我也想也将图标链接到文件。因此,当用户单击图标时,它们将可用于下载文件(并且我更喜欢从显示中排除名称)。 我现在应该怎么做到将图标作为下载链接? 谢谢。 ...

13  以编程方式更新字段,hook_node_update  ( Updating a field programmatically hook node update ) 
当前尝试每次创建或更新节点时更新字段。但是该值未在节点中填充,我是否可以使用此特定钩子访问节点对象?我可以遗漏什么? function vbtoken_node_update($node) { entity_get_controller('node')->resetCache(array($n...

3  寻找Drupal数据库模式的完整文档 - 需要有一些概述  ( Looking for a complete documentation for drupals database schema need to have ) 
好朋友,亲爱的伙伴, 我很漂亮,司拜。刚刚设置一个笨拙的公共场合 现在我想向我的drupal添加一些数据,我真的不懂数据库模型/方案。有人能指出一些文件吗?例如,我需要了解节点,词汇表和所有表的角色以及什么是TID,VID,NID FIEDS ...然后我可以添加数据SQL方式。 当然,我不认为存在的数据库模式的完整...

0  访问柜台以便匿名访问?  ( Visit counter for anonymous visits ) 
我想跟踪每个匿名用户的访问次数。我希望能够显示特殊消息,例如当他们访问该站点第10次。 在这种情况下,cookie变量将是正常的。新会话开始时如何了解如何? ...

0  如何在迁移内容后替换链接和嵌入式图像引用  ( How to replace links and embedded image references after migrating of content ) 
我想使用迁移模块将内容从传统系统导入Drupal。 URL结构将改变。 一些内容具有指向旧内容的链接,并且还有很快嵌入图像的嵌入图像。 迁移后,完成从旧网址到新URL的映射,应该能够运行自定义脚本。此脚本将检查具有旧URL的所有节点,并将其替换为新的URL,然后刚刚替换为node_save()。 这是一种很好的方法,...

2  迫使旗帜在Drupal 7中是独一无二的  ( Forcing flag to be unique in drupal 7 ) 
在drupal 7中,使用标志(可能规则或其他offer模块)如何强制标志对于特定内容类型唯一。在"标记" 新节点之前,我不希望强制用户手动"unflag" 内容。一旦设置了一个新的标志,我希望将标记的节点自动unflagged自动unflagged。 目标是允许用户通过使用标志来选择"默认节点" 。只允许一个默认节...

7  如何告诉Drupal不汇总我的CSS文件  ( How do i tell drupal not to aggregate my css file ) 
我已启用Drupal的聚合并压缩CSS文件。我该怎么做才能排除某些CSS文件的聚合和压缩? 谢谢。 ...

3  在用户编辑表单中嵌入视图  ( Embedding a view in user edit form ) 
如何根据该用户的角色,我如何在用户编辑表单中嵌入视图。我使用了上下文模块,但它没有正确的条件。 此刻是使用(用户页面 - &gt;用户帐户形式)条件。我不能使用用户角色条件,因为它是用于当前登录的用户。 ...




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


Licensed under cc by-sa 3.0 with attribution required.