Define it all in one C# class!
Define culture based names using C# => CultureName(string? currentUiCulture)
You can still use lang files if required.
No package.manifest or lang/lang.xml files are required to get a Content App up and running.
This packages aims to help developers quickly put together Umbraco ContentApps using C# only.
Looking for Umbraco 14+ Content Apps? Check out Umbraco.Community.SimpleWorkspaceViews
dotnet add package Umbraco.Community.SimpleContentApps
using Umbraco.Cms.Core.Dashboards;
using Umbraco.Cms.Core.Models.ContentEditing;
using Umbraco.Community.SimpleContentApps.Core;
namespace Umbraco.Community.SimpleContentApps.TestSite;
public class BasicContentApp : ISimpleContentApp
{
public string Icon => Cms.Core.Constants.Icons.Content;
public bool ShowInContent => true;
public bool ShowInContentType => false;
public bool ShowInMedia => false;
public bool ShowInMembers => false;
public IAccessRule[] Rules => new[] { SimpleAccessRule.AllowAdminGroup };
public int Weight => 0;
public string Name => "Basic Content App";
public string? CultureName(string? currentUiCulture) => Name;
public ContentAppBadge? Badge => ContentAppBadges.None;
}
/Views/ContentApps
ContentApp
)BasicContentApp.cs
=> /Views/ContentApps/Basic.cshtml
@using Umbraco.Community.SimpleContentApps.Core.Extensions
@inherits Umbraco.Community.SimpleContentApps.Web.SimpleContentAppViewPage
<h1>Hello Umbraco</h1>
<p>My ContentApp alias is: @Model.ContentApp.Alias()</p>
Contributions to this package are most welcome! Please read the Contributing Guidelines.