Sitecore Form 的使用
下載安裝
todo...
使用
文檔:https://doc.sitecore.com/xp/en/users/92/sitecore-experience-platform/sitecore-forms.html ;
選擇 Forms 進入,創建自己的第一個 form,
注意事項:
- 使用第三方樣式或者自己的樣式設置的話,得進入 content edit 選中你的 form,然後填寫你的路徑(路徑看2);
- sitecore form 的路徑默認是從
<siteroot>/sitecore modules/Web/ExperienceForms/scripts
和<siteroot>/sitecore modules/Web/ExperienceForms/css
作爲根目錄查找,所以得注意 css 和 js 文件的存放位置; - 你的 layout 得加上這兩句 code,
@Html.RenderFormStyles()
和@Html.RenderFormScripts()
,這樣才會渲染出 css 和 js 文件在你的頁面上;
自定義自己的提交功能
官方文檔:https://doc.sitecore.com/xp/en/developers/90/sitecore-experience-manager/walkthrough--creating-a-custom-submit-action.html ;
引入 Nuget 包:Sitecore.ExperienceForms
;
繼承 SubmitActionBase 接口;
using System.Linq;
using Sitecore.Diagnostics;
using Sitecore.ExperienceForms.Models;
using Sitecore.ExperienceForms.Processing;
using Sitecore.ExperienceForms.Processing.Actions;
using static System.FormattableString;
namespace Sitecore.ExperienceForms.Samples.SubmitActions
{
/// <summary>
/// Executes a submit action for logging the form submit status.
/// </summary>
/// <seealso cref="Sitecore.ExperienceForms.Processing.Actions.SubmitActionBase{TParametersData}" />
public class LogSubmit : SubmitActionBase<string>
{
/// <summary>
/// Initializes a new instance of the <see cref="LogSubmit"/> class.
/// </summary>
/// <param name="submitActionData">The submit action data.</param>
public LogSubmit(ISubmitActionData submitActionData) : base(submitActionData)
{
}
/// <summary>
/// Tries to convert the specified <paramref name="value" /> to an instance of the specified target type.
/// </summary>
/// <param name="value">The value.</param>
/// <param name="target">The target object.</param>
/// <returns>
/// true if <paramref name="value" /> was converted successfully; otherwise, false.
/// </returns>
protected override bool TryParse(string value, out string target)
{
target = string.Empty;
return true;
}
/// <summary>
/// Executes the action with the specified <paramref name="data" />.
/// </summary>
/// <param name="data">The data.</param>
/// <param name="formSubmitContext">The form submit context.</param>
/// <returns>
/// <c>true</c> if the action is executed correctly; otherwise <c>false</c>
/// </returns>
protected override bool Execute(string data, FormSubmitContext formSubmitContext)
{
Assert.ArgumentNotNull(formSubmitContext, nameof(formSubmitContext));
if (!formSubmitContext.HasErrors)
{
Logger.Info(Invariant($"Form {formSubmitContext.FormId} submitted successfully."), this);
}
else
{
Logger.Warn(Invariant($"Form {formSubmitContext.FormId} submitted with errors: {string.Join(", ", formSubmitContext.Errors.Select(t => t.ErrorMessage))}."), this);
}
return true;
}
}
}