我试图将editiedon字段添加到modx管理器页面,以便我的用户可以使用这些文档作为起点来编辑值:
http://rtfm.modx.com/revolution/2.x/case-studies-and-tutorials/adding-custom-fields-to-manager-forms
哪种方法有效,但是:
答案 0 :(得分:0)
第一个问题的答案不是input type="date"
吗?我不确定你会怎么做第二部分,除非你设法得到渲染的内容并以某种方式将其拼接在那里(除非是som隐藏了指定的方法)。
否则,您始终可以使用常规表单自定义来解决此问题。您需要创建Date类型的电视,并通过片段为其提供自定义默认数据,该片段仅获取当前资源editedon
值。我想你只需要更新资源/更新表单集。在该集的模板变量选项卡下,确保您的电视已连接并将其区域值更改为“modx-resource-settings”
答案 1 :(得分:0)
有两种不同的方式有自己的专业和优点;缺点
首先,您可以将模板变量与日期类型一起使用。它为日期提供了正确的ExtJS组件,您将在电视选项卡中看到日历。 如果您选择此方法,则必须创建一个在 OnBeforeDocFormSave 事件上调用的插件。在那里,您可以从电视中重新定义已编辑的modResource属性,并以适当的方式保存。您也可以调用另一个事件( OnLoadWebDocument )。如果你想看到正确的数据,你可以在电视上设置modResource editedon属性。
优点:
缺点:
另一种方法更复杂(你需要ExtJS的技能)。 创建在 OnDocFormPrerender 事件上调用的插件。您可以在那里将JS添加到modResource页面。您的脚本应该在文档中呈现新的自定义选项卡,您可以在其中添加包含日历的特殊字段。因此,MODX中有特殊的ExtJS组件用于这些目的。当然,您需要第一种方法的事件来加载和更新editedon值。 此外,您只需将特殊字段渲染到现有选项卡,而不是创建新选项卡并将自定义字段呈现给它。
优点:
缺点:
P.S。您可以查看Xlexicon github repo。在那里,您可以找到使用modResource属性渲染新选项卡和操作的示例。 您也可以查看modAvatar extra了解MODX。有一个使用现有选项卡进行操作的示例。