如何隐藏匿名查看者的侧边栏?

我们已经为我们的网站配置了 sidebar,它主要是私有的,只有少量公共内容。

我们非常希望只在用户登录时才激活侧边栏(即不向 anon 显示)。

我尝试了以下 CSS:

// 隐藏未登录用户的侧边栏(不幸的是,这会弄乱布局)
.anon {
    .sidebar-wrapper, .header-sidebar-toggle {
        display: none;
   }
}

这确实隐藏了侧边栏,但侧边栏的布局仍然存在(而且看起来不太好)。有没有更好的方法?

我知道我们可以切换到新的 Header Dropdown 视图(在 navigation_menu 下)并以此方式进行排序,但我们确实希望在可能的情况下(无需点击)为已登录用户显示侧边栏。

您好,

使用此方法可以隐藏匿名用户的侧边栏。:slightly_smiling_face:

通用 / CSS

html.anon {
  // 隐藏窄桌面侧边栏
  // 宽度小于 1000px 时在桌面上激活的侧边栏移动版本
  .d-header .hamburger-panel {
    display: none;
  }
  // 隐藏菜单打开时的标题斗篷
  .header-cloak {
    display: none !important;
  }
}

桌面 / CSS

html.anon {
  // 如果侧边栏已打开,则使用关闭样式
  body.has-sidebar-page {
    #main-outlet-wrapper {
      grid-template-columns: 0 minmax(0, 1fr);
      gap: 0;
      padding-left: 10px;
    }
    .wrap {
      max-width: var(--d-max-width);
    }
  }
  // 隐藏汉堡包按钮
  .header-sidebar-toggle {
    display: none;
  }
}

移动端 / CSS

html.anon {
  // 隐藏汉堡包按钮
  .d-header-icons {
    .header-dropdown-toggle {
      &.hamburger-dropdown {
        display: none;
      }
    }
  }
}
10 个赞

你真是太棒了!

为了表达我的感激之情,我已将其打包为一个#theme-component:

5 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.