【问题标题】:Best practices for editing an umbraco controller编辑 umbraco 控制器的最佳实践
【发布时间】:2017-07-05 14:43:39
【问题描述】:

我想对面板上的文本在 Umbraco 网格中的显示方式进行一些小改动。

我发现我只需几行就可以将nestedcontent.controllers.js 更改为有效的。

但是,如果/当我们升级 Umbraco 时,此更改可能会丢失。

最佳做法是什么?改变 Umbraco 行为的替代方法?

【问题讨论】:

  • 你在哪里做了什么改变?在后端或前端。您是在谈论嵌套内容还是“umbraco 网格”?这些是不同的野兽。

标签: umbraco umbraco7


【解决方案1】:

让我们试着简单地回答这个问题……如果你说的是后端。

最佳做法是什么?改变 Umbraco 行为的替代方法?

角度和插件

目前最好的方法是编写插件。插件首先可以是属性编辑器。但它也可以用来干扰整个后端。但你可以走得更远。

几乎所有东西都可以扩展,自定义仪表板、自定义部分、自定义树,......您可以命名它,并且可能可以在后端进行扩展。

一切都由角度驱动。没有什么能阻止你做非常时髦的事情。像 Nexu 这样的包会拦截每个 Angular 的 http 调用,然后运行它们自己的逻辑。

来自 .net 代码

很多 umbraco 逻辑(如完整的请求管道)可以由您自己的实现替换。没有什么能阻止您运行自己的 UrlProvider。

那事件呢(在事情发生后做事)。例如。保存后。

最佳做法

我认为最好的做法是让 umbraco 保持原样。如果您真的不需要,请不要更改它。尽可能使用所有扩展点。

并使用默认的 Umbraco 东西。不要重新发明轮子。使用 Umbraco 中已经存在的东西。它将使您能够为内容编辑者构建更好的网站,并为用户更快地构建网站。

【讨论】:

    【解决方案2】:

    看起来它是一个特定于包的文件(嵌套内容)?您可以下载包文件,解压缩并在重新压缩之前进行更改并将压缩文件保存在安全的地方? ;-) 或者,如果这是每个人都可以从中受益的更改,请在 Github 上提出拉取请求?

    【讨论】:

      【解决方案3】:

      我说进行更改,并且在您进行更改时,请提交一个拉取请求,让项目作者永久更改它。

      这就是我不担心 Umbraco 升级会覆盖它的原因:

      Umbraco 中的升级不是自动的,除非您使用的是云版本。所以这意味着你做出了升级的选择。在进行任何类型的开发时,将代码检查到某种源代码控制中总是一个好主意。我个人喜欢 SVN 或 GitHub。

      升级 Umbraco 站点时,我始终确保已将所有文件签入源代码管理。如果您这样做,在进行升级时,您可以查看文件是否已更改,并且在您进行更改的行上,您可以将该行恢复为原来的位置。

      我希望这是有道理的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-02
        • 2014-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多