Tim*_*mes 3 macros user-controls umbraco
我正在使用umbraco v4.7.0.我为Usercontrol.ascx创建了一个宏,并以通常的方式添加它,并勾选"在编辑器中使用"选项.
它在RTE中渲染得很好,但是在查看页面时它不会加载宏.
我已经google了一段时间了,找不到这个问题的解决方案,我也一直在umbraco论坛/ bug列表上看到有各种各样的帖子,但我还没有找到解决方案.
我错过了一些简单的东西吗?这在以前的版本中运行良好.
最后得到一个答案........在模板主页中使用:
<umbraco:Item field="bodyContent" runat="server"></umbraco:Item>
Run Code Online (Sandbox Code Playgroud)
而不是像
@Model.bodyContent
Run Code Online (Sandbox Code Playgroud)
因此,宏(通过RTE添加的宏)本身不会被另一个宏添加(在这种情况下是显示"bodyContent"字段的宏).
如果,如初始问题中所述,您在HTML中看到的内容就像是
<?UMBRACO_MACRO macroAlias="macroNameHere" />
Run Code Online (Sandbox Code Playgroud)
......而且你没有看到任何渲染.那么这是一个解决方案:
在处理文档类型的XSLT(宏)中,您可能会遇到以下情况:
<xsl:value-of select="$currentPage/bodyText" />
Run Code Online (Sandbox Code Playgroud)
将其更改为:
<xsl:value-of select="umbraco.library:Item($currentPage/@id,'bodyText')" />
Run Code Online (Sandbox Code Playgroud)
这将渲染bodyText中包含的宏.
请注意,umbraco将在宏输出周围创建一个DIV.要摆脱那个DIV你要么修改umbraco源代码,要么做例如jQuery搜索和替换以摆脱它.
| 归档时间: |
|
| 查看次数: |
6365 次 |
| 最近记录: |