【问题标题】:Hide breadcrumb only on 404 page仅在 404 页面上隐藏面包屑
【发布时间】:2016-05-05 03:03:21
【问题描述】:

我为 404 页面创建了一个自定义节点,并将路径 /node/83 添加到站点信息中。并应用新节点。我无法隐藏 (display:none) .breadcrumb 来应用它。我正在尝试通过 css 注入器来做到这一点,并让它仅适用于 404 页面。我正在用检查元素检查它,它可以工作,只有 .breadcrumb,我没有看到任何看起来像 page-404 的其他类。我向 CSS 注入器添加了新规则,但我不知道仅将其应用于 404 页面的路径是什么: path to not found page

或者另一个想法是使用仅适用于 404 页面的类,如果默认有的话: add a class to not found page

感谢您的帮助。

【问题讨论】:

  • 您可以为特定部分添加一个新类,并可以配置 display: none 为相同。
  • 这就是我不明白的如何将类添加到页面404,它不像主页或任何其他节点。

标签: css drupal-7


【解决方案1】:

【讨论】:

    【解决方案2】:

    打开您要添加 CSS 规则的 404 页面。打开 web inspector 并在 body 或 html 标记上查找特定于页面的类。类似page-404

    然后在你的自定义 CSS 中添加

    .page-404 .breadcrumb {
    
        // Your styles
    
    }
    

    【讨论】:

    • 谢谢。已经检查过任何在 html 代码中看起来像这样的类。我读到有一个一致的类(例如“section-404”)添加到您的 中,然后您可以通过 css 注入器使用全局 css 对其进行样式设置。如果我创建一个自定义 404 节点并通过配置 > 站点信息进行设置。我没找到。也许还有别的名字……
    【解决方案3】:

    这是drupal所以我不确定你是否可以做一个php检查它是否是一个404页面,或者即使404页面在body标签上有一个css类,如果是这样我会这样做(检查元素如果您可以在 body 上看到一个引用错误页面的类,只需以这种方式定位面包屑,例如 body.error .breadcrumbs {display: none;} 如果这是不可能的,请查看这个 https://www.drupal.org/node/15366

    这基本上告诉您如何制作自己的 404 页面。

    • 创建两个节点,一个用于每种页面错误(403 和 404)。

    • 确定您希望将用户重定向到的节点的 ID 号。确定节点 ID 号的一种方法是访问节点并查看浏览器地址栏中最后一个斜杠后面的数字。这是您节点的 ID 号。

    • 现在在错误报告设置页面的相应框中输入节点的路径。例如,如果 403 错误代码的节点 ID 号是“83”,您可以在“默认 403(拒绝访问)页面”设置中键入“node/83”。

    • Drupal 6 mysite.com/admin/settings/error-reporting

    • Drupal 7 mysite.com/admin/config/system/site-information 因为您正在创建节点,所以它们将显示在跟踪器和流行内容块中,以及任何其他将显示真实节点的地方。如果这是不可接受的,有一个名为 Custom Error 的贡献模块可以避免这个问题。

      还要考虑 Drupal 7 贡献的模块,重定向 403 到用户登录。它提供了对登录页面的重定向以及可配置的 403 和 404 错误消息。

    编辑

    好的,去 sites/all/themes/themename/template.php 编辑这个文件。

    将此添加到顶部

    function themename_preprocess_page(&$vars) {
     // Adds a Custom 404 page
     $header = drupal_get_http_header("status");
     if($header == "404 Not Found") { ?>
       <style>
        .your-custom-css-here {}
       </style>
    
     <?php }
    }
    

    【讨论】:

    • 谢谢。对不起,我没有正确解释。自定义节点正在应用到 404 页面,就像您说我在“站点信息”中添加了路径一样。我唯一找不到的方法是隐藏面包屑或隐藏菜单链接,就像本页上的一个例子一样。如果我向 CSS 注入器添加路径 node/83,则面包屑样式正在应用,但仅适用于该页面,而不是 404 页面。
    猜你喜欢
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    相关资源
    最近更新 更多