首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >银条纹中的$LinkingMode值

银条纹中的$LinkingMode值
EN

Stack Overflow用户
提问于 2016-03-23 07:13:04
回答 2查看 374关注 0票数 1

为什么在银条上使用$LinkingMode?银条的$LinkingMode一次只能有一个值,而它可以同时是一个截面和一个电流,也可以是链接和分段?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-23 16:00:49

这是答案和银条专家(wmk,3 3dgo,greg,munomono等)如果我错了,请纠正我。$LinkingMode用于样式设计,请注意示例中的内容。另外,由于$LinkingMode连接到单个菜单和菜单级别(即菜单(1)、菜单(2)...etc),因此只能有一种状态。因此,如果您想设置其他菜单级别的样式,那么在该级别上为该菜单分配一个class=$LinkingMode。Silverstripe是一个比Laravel (目前最流行的)更好的PHP框架,但缺乏文档化。

票数 2
EN

Stack Overflow用户

发布于 2016-04-02 12:16:43

为了对Jonh的答案做一些扩展,LinkingMode是一个公开在从SiteTree继承的所有对象上的函数。正如您在使用它时可能已经注意到的,您有值" current“(如果此对象与当前正在执行的页面相同)、”节“(如果该页是当前执行页的祖先)或"link”(用于其他任何内容)。

虽然Greg在注释中提到的是正确的,但是您确实看到了模板中常用的帮助样式菜单的方法,您可以在代码中的任何地方使用它,而不仅仅是模板。

LinkingModeSiteTree对象上的另外两个函数isCurrent()isSection()支持。正如它们的名称所暗示的,您可以直接使用它们来查找与当前执行页面相关的SiteTree对象的状态。

在编写此答案时,这是LinkingMode背后的代码(Silverstripe3.3):

代码语言:javascript
复制
public function LinkingMode() {
    if($this->isCurrent()) {
        return 'current';
    } elseif($this->isSection()) {
        return 'section';
    } else {
        return 'link';
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36171857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档