如何通过宏设置相对基于url的智能搜索框结果URL?
How to set smart search box results URL relatively based on url via macro?
给定 Kentico v7 中的以下页面结构:
- 根目录
- 阿尔法
- 一个
- 搜索
- 两个
- 太棒了
- 一个
- 搜索
- 两个
- 查理
- 三角洲
- 回声
页面 Alpha
和 Bravo
(及其子页面)共享相同的模板。该模板上有一个搜索框 Web 部件。我想将搜索结果 URL 设置为:
/Alpha/One/Search/
或 /Bravo/One/Search
取决于在哪个节点下呈现控件。看来我唯一能真正做到这一点的方法是通过搜索框 Web 部件属性中的宏。
问题:您将如何编写一个宏来根据其父路径动态设置此 属性?
这是我目前拥有的,但它似乎不起作用:
/{%Split(CurrentPageInfo.DocumentURLPath, '/')[0]#%}/one/search
在这种情况下使用宏是正确的方法。
试试下面的 (V7):
~/{% CurrentDocument.NodeAliasPath.Split("/")[1]#%}/one/search
V8:
~/{% Split(CurrentDocument.NodeAliasPath, "/", true)[0]#%}/one/search
给定 Kentico v7 中的以下页面结构:
- 根目录
- 阿尔法
- 一个
- 搜索
- 两个
- 一个
- 太棒了
- 一个
- 搜索
- 两个
- 一个
- 查理
- 三角洲
- 回声
- 阿尔法
页面 Alpha
和 Bravo
(及其子页面)共享相同的模板。该模板上有一个搜索框 Web 部件。我想将搜索结果 URL 设置为:
/Alpha/One/Search/
或 /Bravo/One/Search
取决于在哪个节点下呈现控件。看来我唯一能真正做到这一点的方法是通过搜索框 Web 部件属性中的宏。
问题:您将如何编写一个宏来根据其父路径动态设置此 属性?
这是我目前拥有的,但它似乎不起作用:
/{%Split(CurrentPageInfo.DocumentURLPath, '/')[0]#%}/one/search
在这种情况下使用宏是正确的方法。
试试下面的 (V7):
~/{% CurrentDocument.NodeAliasPath.Split("/")[1]#%}/one/search
V8:
~/{% Split(CurrentDocument.NodeAliasPath, "/", true)[0]#%}/one/search