Namespace ToSic.Sxc.Context
Context information for the current request / scenario.
The Context gives your code information about the page / site / module etc. it's currently running in. All your code (Razor, WebApi) will have a property CmsContext
which is of type ICmsContext.
Note
Your code will always have these objects, but they may sometimes be referencing unknown information.
For example, if the current context doesn't have a known Module (like in API scenarios)
then CmsContext.Module
will return a valid object, but the ID will be < 0.
Interfaces
- ICmsBlock
Information about the block - similar to a module. The block is the 2sxc-internal definition of a unit of content. In most cases each module has one block, but there are edge cases such as:
- modules which show the same block - different module-id, same block-id
- modules showing multiple blocks such as inner-content.
- ICmsContext
This is the runtime context of your code in the CMS. It can tell you about the site, page, module etc. that you're on. Note that it it Platform Agnostic so it's the same on Dnn, Oqtane etc.
🪒 In Dynamic Razor it's found on
CmsContext
🪒 In Typed Razor it's found onMyContext
, but many objects are directly available, eg.MyPage
- ICmsCulture
Information about the cultures/languages used.
🪒 In Dynamic Razor it's found on
CmsContext.Culture
🪒 In Typed Razor it's found onMyContext.Culture
- ICmsModule
Information about the module context the code is running in.
🪒 In Dynamic Razor it's found on
CmsContext.Module
🪒 In Typed Razor it's found onMyContext.Module
- ICmsPage
Information about the page which is the context for the currently running code.
🪒 In Dynamic Razor it's found on
CmsContext.Page
🪒 In Typed Razor it's found onMyPage
- ICmsPlatform
General platform information
🪒 In Dynamic Razor it's found on
CmsContext.Platform
🪒 In Typed Razor it's found onMyContext.Platform
- ICmsSite
The site context of the code - so basically which website / portal it's running on.
🪒 In Dynamic Razor it's found on
CmsContext.Site
🪒 In Typed Razor it's found onMyContext.Site
- ICmsUser
The user context of your code - so it's information about the user your code is using.
🪒 In Dynamic Razor it's found on
CmsContext.User
🪒 In Typed Razor it's found onMyUser
- ICmsView
View context information.
🪒 In Dynamic Razor it's found on
CmsContext.View
🪒 In Typed Razor it's found onMyView
- ICmsView<TSettings, TResources>
Special Views for strongly typed code. It supplies the Settings and Resources as strongly typed objects.
- IParameters
Collection of url parameters of the current page
Note: Has a special ToString() implementation, which gives you the parameters for re-use in other scenarios.
🪒 In Dynamic Razor it's found on
CmsContext.Page.Parameters
🪒 In Typed Razor it's found onMyPage.Parameters
Enums
- PlatformType
The types of platforms which 2sxc could be running on