在 Umbraco 层次结构中定位模型
Locating Models in the Umbraco hierarchy
我正在帮助我的一个朋友在他使用 Umbraco 构建的网站上编辑一些东西。我不是原作者,我对 Umbraco 还很陌生,但我似乎无法在任何地方找到答案。每当有人想从网站订购耗材时,都会使用一种形式发送电子邮件。该表格以前有效。但是,他无法访问该电子邮件帐户,必须创建一个新帐户。问题是我似乎无法找到模型来查看它的内部并更改电子邮件的发送位置。
我无法在 Umbraco 层次结构中找到模型(有多个),尽管我可以在不同的形式中找到对它们被调用位置的引用。见下文:
@inherits Umbraco.Web.Mvc.UmbracoViewPage<Aeon.Models.OrderSuppliesModel>
我知道这不是 URL 所以我有点困惑为什么它不在任何 Umbraco 层次结构中。我知道,因为它引用了某些东西并且以前工作过,所以它必须在某个地方。我认为它们可能存在的唯一其他地方是在我还没有访问权限的根目录中。他们可能位于那里吗?对此问题的任何类型的帮助将不胜感激。
Umbraco 不直接处理表单。我假设您使用的是版本 6+。
要使表单正常工作,您需要依赖核心 MVC 功能,这意味着您需要使用 Get 和 POST 操作创建表面控制器来处理逻辑。
在控制器逻辑中将引用传递给视图的特定模型,但标准静态配置信息通常存储在 Umbraco 节点本身中。例如 "SMTP server" "From Address" 和 "Use Encryption" 等。有些人作为替代方案将此信息存储为 web.config.
中的键
如果您特别希望更改传递给表单 (OrderSuppliesModel) 的模型,如果您使用的是 Visual Studio,则模型应为蓝绿色,当您将鼠标悬停在它上面时,它显示完整的命名空间。单击它并按 F12。这应该 link 你直接到 class 模块。
希望对您有所帮助。
如果幸运的话,他们正在使用 Umbraco Forms/Contour。当您登录到后台时,您是否看到名为 "Forms" 或 "Contour" 的部分?
如果是这样,您应该能够在表单树中找到表单,并且在表单底部您应该能够编辑工作流程,这将允许您更改接收电子邮件的人员等.
如果你没有这些部分,你可以 post 有表格的视图,这样我们可以看看它在做什么吗?
由于您无权访问代码,您将不得不寄希望于某处有一个变量可以让您设置电子邮件,而不是将其硬编码到控制器中。
Umbraco 节点
有时 Umbraco 开发人员将电子邮件存储在 Umbraco 节点的字段中。常见的地方是:
- 在有表单的页面节点上
- 在设置节点上
- 在首页节点
Web.config
Web.config 还有一个部分可以用来轻松设置变量。检查 <appSettings>
部分,看看是否有键 and/or 值可能表明它们用于电子邮件。
此外,您没有具体说明是 SMTP 电子邮件帐户损坏了,还是提交内容发送到的电子邮件帐户。如果您想查看 SMTP 设置,请查找 Web.config 上的 <mailSettings>
部分。 <smtp>
元素上可能有一个 'from' 字段。
umbracoSettings.config
在 umbracoSettings.config
中有一个元素看起来像这样:
<notifications>
<!-- the email that should be used as from mail when umbraco sends a notification -->
<email>your@email.here</email>
</notifications>
我正在帮助我的一个朋友在他使用 Umbraco 构建的网站上编辑一些东西。我不是原作者,我对 Umbraco 还很陌生,但我似乎无法在任何地方找到答案。每当有人想从网站订购耗材时,都会使用一种形式发送电子邮件。该表格以前有效。但是,他无法访问该电子邮件帐户,必须创建一个新帐户。问题是我似乎无法找到模型来查看它的内部并更改电子邮件的发送位置。
我无法在 Umbraco 层次结构中找到模型(有多个),尽管我可以在不同的形式中找到对它们被调用位置的引用。见下文:
@inherits Umbraco.Web.Mvc.UmbracoViewPage<Aeon.Models.OrderSuppliesModel>
我知道这不是 URL 所以我有点困惑为什么它不在任何 Umbraco 层次结构中。我知道,因为它引用了某些东西并且以前工作过,所以它必须在某个地方。我认为它们可能存在的唯一其他地方是在我还没有访问权限的根目录中。他们可能位于那里吗?对此问题的任何类型的帮助将不胜感激。
Umbraco 不直接处理表单。我假设您使用的是版本 6+。
要使表单正常工作,您需要依赖核心 MVC 功能,这意味着您需要使用 Get 和 POST 操作创建表面控制器来处理逻辑。
在控制器逻辑中将引用传递给视图的特定模型,但标准静态配置信息通常存储在 Umbraco 节点本身中。例如 "SMTP server" "From Address" 和 "Use Encryption" 等。有些人作为替代方案将此信息存储为 web.config.
中的键如果您特别希望更改传递给表单 (OrderSuppliesModel) 的模型,如果您使用的是 Visual Studio,则模型应为蓝绿色,当您将鼠标悬停在它上面时,它显示完整的命名空间。单击它并按 F12。这应该 link 你直接到 class 模块。
希望对您有所帮助。
如果幸运的话,他们正在使用 Umbraco Forms/Contour。当您登录到后台时,您是否看到名为 "Forms" 或 "Contour" 的部分?
如果是这样,您应该能够在表单树中找到表单,并且在表单底部您应该能够编辑工作流程,这将允许您更改接收电子邮件的人员等.
如果你没有这些部分,你可以 post 有表格的视图,这样我们可以看看它在做什么吗?
由于您无权访问代码,您将不得不寄希望于某处有一个变量可以让您设置电子邮件,而不是将其硬编码到控制器中。
Umbraco 节点
有时 Umbraco 开发人员将电子邮件存储在 Umbraco 节点的字段中。常见的地方是:
- 在有表单的页面节点上
- 在设置节点上
- 在首页节点
Web.config
Web.config 还有一个部分可以用来轻松设置变量。检查 <appSettings>
部分,看看是否有键 and/or 值可能表明它们用于电子邮件。
此外,您没有具体说明是 SMTP 电子邮件帐户损坏了,还是提交内容发送到的电子邮件帐户。如果您想查看 SMTP 设置,请查找 Web.config 上的 <mailSettings>
部分。 <smtp>
元素上可能有一个 'from' 字段。
umbracoSettings.config
在 umbracoSettings.config
中有一个元素看起来像这样:
<notifications>
<!-- the email that should be used as from mail when umbraco sends a notification -->
<email>your@email.here</email>
</notifications>