【问题标题】:How can I make the DNN edit control edit the right item?如何让 DNN 编辑控件编辑正确的项目?
【发布时间】:2021-05-07 19:20:29
【问题描述】:

我有一个 2sxc 应用程序,其中包含列表和详细信息视图。

我有两个模板,一个用于列表,一个用于详细信息。列表启用了“列表”。 “详细信息”没有。

详细信息视图设置为当有“/details/”查询字符串时,它显示单个属性详细信息。

当用户点击列表中的某些内容时,会将他们带到详细信息视图。详细信息视图使用详细信息模板,URL 类似于 /properties/details/my-nice-property。

当内容编辑器使用 DNN 黑白铅笔图标编辑属性时,它会编辑列表中的第一项,而不是他们正在查看的属性。

有没有办法让 DNN 编辑图标编辑内容编辑器正在查看的属性?

我意识到这似乎是一个小问题,内容编辑器应该使用 2sxc 控件而不是 DNN 控件进行编辑。但是有没有办法确保 DNN 控件编辑我们正在查看的特定属性,而不仅仅是列表中的第一项?

【问题讨论】:

    标签: razor dotnetnuke 2sxc


    【解决方案1】:

    如果您指的是默认的 Dnn 操作下拉菜单,我认为您无法控制它。 2sxc 只是连接它来编辑第一个默认项目。

    我们在详细信息页面/视图上所做的是在页面上明确放置一个漂亮但编辑按钮。这是一个使用 Bootstrap 的示例。基本上我们所做的只是一个自定义的 2sxc 点击事件,它回调 Dnn,弹出我们给它的 EntityId 的编辑界面。

    由于页面上有一个漂亮的大“编辑我”按钮,它(希望)否定了用户期望或需要转到该 Dnn 操作菜单。下面的示例甚至有一个 FontAwesome 图标。这假设您已经在变量中获得了正确的文章。

    @if(Edit.Enabled) 
    {
      <a class="btn btn-secondary text-white mb-1"
        @* this is a great example of how to make a different button than the normal 2sxc hover-blue-circles *@
        onclick='$2sxc(@Dnn.Module.ModuleID).manage.run({"action": "edit", "entityId": @detail.EntityId})'>
        <i class="fas fa-edit mr-2" aria-hidden="true"></i>
        <span>Edit: @detail.EntityTitle</span>
      </a>
    }
    

    所以是这样的:

    【讨论】:

    • 感谢您的回答。我实际上从来不知道如何制作像这样的显式编辑按钮。超级好用。
    【解决方案2】:

    说了这么多,我确实相信有办法做到这一点,但是您必须使用所有 2sxc 功能,并且少用代码。在我看来,我更喜欢 a) 在代码中执行此操作。我从 QueryString 中获取文章 slug 并查找正确的文章等,并且 b) 我也希望我的编辑不处于 Dnn 的编辑状态,我尽量避免让他们需要知道有一个 Dnn 操作菜单下拉列表。

    但是您可以改为使用 2sxc 查询来执行相同的操作,该查询将使用过滤器来匹配您的 slug (UrlKey)。然后正确的项目“默认”流馈送到视图将(或应该)连接到 Dnn 操作编辑菜单项。因此,在您创建查询后,唯一的额外步骤是在您的视图中,向下滚动并展开 Data for this Template 部分并选择现在将执行将 UrlKey 与文章匹配并将其选择为“the one. "

    【讨论】:

    • 我完全同意简单地教客户使用蓝色编辑控件而不是进入编辑模式。我之所以提出这个问题,是因为一位特定的客户(她在 DNN 方面经验丰富并教她的客户如何在 DNN 中进行编辑)询问过这个问题。我只会指导他们更新他们的流程。谢谢。
    【解决方案3】:

    @Aaron 我相信@Jeremy 是对的 - 如果在加载视图之前使用查询来过滤数据,那么编辑可能会达到您的预期。

    如果你在代码中过滤,它可能不会。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多