Sitecore 得到渲染 Html
Sitecore Get Rendered Html
有没有一种方法可以根据项目的显示值从后面的代码中获取项目的呈现 html?在最近的一个项目中,这需要完成,我们目前正在用另一个看起来很浪费的请求来抓取我们自己的网站。
不幸的是,我认为没有一种干净的方法可以实现这一目标。用户控件在整个页面生命周期中严重依赖于 运行,因此依赖于 HTTP 请求。您还经常依赖于在请求过程中建立起来的 Sitecore 上下文的各个部分。
使用 MVC,您有更多选择,因为您可以直接调用 Render 方法。但是您仍然必须首先正确地建立模型。所以你可能还有困难。
正如你所说,这似乎很浪费,但屏幕抓取是实现它的常用方法。我知道有几个现有模块使用这种方法来索引页面内容。
我通常打开一个网络请求并获取该项目。如果我只需要一个特定的占位符,我会通过 ?mode=placeholder-name
.
之类的方式限制对它的访问
这在抓取网站并希望在搜索索引中缓存 HTML 时特别有用。
你的意思是在体验编辑器中?在尝试为在体验编辑器中开发的搜索页面编制索引时,我们遇到了同样的问题。我们所做的是向页面发出 HttpRequest,检索 html,删除所有标签并将内容索引为 _content。当我们想要进行关键字搜索时,我们会匹配 _content。希望这可以帮助。查理
有没有一种方法可以根据项目的显示值从后面的代码中获取项目的呈现 html?在最近的一个项目中,这需要完成,我们目前正在用另一个看起来很浪费的请求来抓取我们自己的网站。
不幸的是,我认为没有一种干净的方法可以实现这一目标。用户控件在整个页面生命周期中严重依赖于 运行,因此依赖于 HTTP 请求。您还经常依赖于在请求过程中建立起来的 Sitecore 上下文的各个部分。
使用 MVC,您有更多选择,因为您可以直接调用 Render 方法。但是您仍然必须首先正确地建立模型。所以你可能还有困难。
正如你所说,这似乎很浪费,但屏幕抓取是实现它的常用方法。我知道有几个现有模块使用这种方法来索引页面内容。
我通常打开一个网络请求并获取该项目。如果我只需要一个特定的占位符,我会通过 ?mode=placeholder-name
.
这在抓取网站并希望在搜索索引中缓存 HTML 时特别有用。
你的意思是在体验编辑器中?在尝试为在体验编辑器中开发的搜索页面编制索引时,我们遇到了同样的问题。我们所做的是向页面发出 HttpRequest,检索 html,删除所有标签并将内容索引为 _content。当我们想要进行关键字搜索时,我们会匹配 _content。希望这可以帮助。查理