我是umbraco CMS的新手,正在尝试在所有页面的内容中添加一些共享内容,例如,使用内容中所有页面的产品价格。我想将产品价格保持在一个通用的位置(例如全局变量或它的任何名称),并将其添加到任何页面的内容中的任何位置。当我们在公共位置更改价格时,需要在所有页面中自动更新产品价格。我曾尝试使用宏,但在RTE(内联问题,无法编辑)中表现不佳,甚至尝试使用字典,但失败了。我不知道umbraco中是否有任何选项/功能。请任何人帮我解决这个问题。
答案 0 :(得分:1)
实现您所要求的最简单的方法是采用此处已提到的方法,并在内容结构中的某处进行某种“全局设置”或“共享项”。在这里您可以存储产品或任何其他想要重复使用的东西。
要在RTE中引用它,您将想出一些约定在{price:productId}
,{productName:price}
或类似内容中插入这样的标记。
然后要做的是确保在输出RTE属性时将其传递给渲染方法,该方法将简单地从产品ID或名称中找到产品,然后获取价格,并简单地将标记替换为返回HTML输出以呈现之前的价格。这是一个肮脏的hack,对您的编辑者不是很友好。但是,它不仅可以用来做其他事情。
如果您想使编辑器更加流畅,则应改用宏-假设您创建了“产品数据”宏。它包含一个选择器(已预先配置为从产品文件夹中选择产品)和一个下拉菜单,可让您选择要显示的产品数据的哪一部分。然后,您只需使该宏根据所选节点和下拉菜单中的选择来呈现产品数据。
如果可能的话,我会选择第二种方法,因为这是您的编辑人员最容易理解的方法。但是有一个缺点,那就是它几乎需要您通过RTE使用它(因为您需要能够插入宏),而标记替换方法可以在任何类型的属性中工作编辑器配置。
答案 1 :(得分:0)