使用服务器端includes检查当前页面是否为主页——如果是,则显示脚本标记

Use server side includes to check if current page is the home page--if so, display script tag

本文关键字:如果 显示 脚本 主页 includes 服务器端 检查 当前页 是否      更新时间:2024-03-07

我正在Sitecore网站上工作,对于主文件,我想检查一下我是否在主页上。如果我是,那么我想为动画文件的内容显示一个脚本标记(注意:我真的不能把脚本移动到另一个文件——它必须是原样)

我对服务器端包含/语句不太熟悉,但我知道有可能对服务器端if语句进行这样的检查:

 <!--#if is home page, then show the script tag -->
     <script type="text/javascript" charset="utf-8" src="/scripts/Subpages/Main-Image-2_edgePreload.js"></script>
 <!--#endif -->

不过,我不知道该怎么检查。。。。有没有办法检查页面URL、页面名称或页面ID?

您可以通过检查起始项的值来确定当前页面是否为主页。

在web.config中,您将拥有StartItem,它将指向Sitecore实例中的主节点。

<site name="website" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content/"  startItem="/home" database="web" />

您可以通过在Sitecore API 中使用此值来访问此值

Sitecore.Context.Site.StartPath.

然后,您可以对此使用GetItem命令来解析项,并将其与上下文项进行比较。

Item startItem = Sitecore.Context.Database.GetItem(Sitecore.Context.Site.StartPath);
// check if page is home page
if(startItem.ID.Equals(Sitecore.Context.Item.ID))
{
}

这里也有答案:

如何在sitecore中确定给定项目是否为起始项目?