Extension Methods
ZauberCMS provides extension methods to simplify common data access patterns. These extensions work with the service-based architecture and are available throughout your components.
Content Extensions
These extension methods work on any object implementing IHasPropertyValues (like Content). Services must be injected via @inject directives in your components.
Get Multiple Media Items
/// <summary>
/// Retrieves a list of media items from a content property.
/// </summary>
/// <param name="content">The content item that holds the media property.</param>
/// <param name="alias">The alias of the media property to fetch.</param>
/// <param name="mediaService">The media service to query.</param>
/// <param name="fallBackUrl">A fallback URL to use if no media is found.</param>
/// <returns>List of media items if found; otherwise, a list containing a single media item with the fallback URL.</returns>
public static async Task<List<Media.Models.Media>> GetMediaItems(
this IHasPropertyValues content,
string? alias,
IMediaService mediaService,
string? fallBackUrl = null)Usage:
Get Single Media Item
Usage:
Get Multiple Content Items
Usage:
Get Single Content Item
Usage:
Get Content Blocks
Usage:
Get Multiple Users
Usage:
Get Single User
Usage:
Service Extensions
These extension methods provide shortcuts for common service operations.
Get Global Settings
Usage:
Save Global Settings
Usage:
Get Global Data (Generic)
Usage:
Get Current User
Usage:
Get User by ID (Shorthand)
Usage:
Get Media by ID (Shorthand)
Usage:
Get Content by ID (Shorthand)
Usage:
Complete Example
Here's a complete example showing multiple extension methods in use:
Last updated