File: D:/HostingSpaces/TDijk1/erp-apps.eu/wwwroot/App_Code/ERPApps/ERPMacroModule.cs
using System;
using CMS.GlobalHelper;
using CMS.SettingsProvider;
using CMS.Base;
using CMS.MacroEngine;
/// <summary>
/// ERP custom macro resolver module
/// </summary>
[ERPMacroLoader]
public partial class CMSModuleLoader
{
#region "Macro methods loader attribute"
/// <summary>
/// Attribute class ensuring correct initialization of methods in macro resolver. You do not need to modify this class.
/// </summary>
private class ERPMacroLoaderAttribute : CMSLoaderAttribute
{
/// <summary>
/// Registers module methods.
/// </summary>
public override void Init()
{
// -- Custom macro methods
//CustomMacroMethods.RegisterMethods();
// -- Custom macro resolving
MacroResolver.OnResolveCustomMacro += MacroResolver_OnResolveCustomMacro;
// -- Custom output substitution resolving
//OutputFilter.OnResolveSubstitution += OutputFilter_OnResolveSubstitution;
}
/// <summary>
/// Resolves the custom macro
/// </summary>
/// <param name="sender">Sender</param>
/// <param name="e">Event arguments</param>
private void MacroResolver_OnResolveCustomMacro(object sender, MacroEventArgs e)
{
if (!e.Match)
{
// Add your custom macro evaluation
switch (e.Expression.ToLower())
{
case "shoppingcartitemscount":
// number of items in the shopping cart
e.Match = true;
e.Result = CMS.Ecommerce.ECommerceContext.CurrentShoppingCart != null ? CMS.Ecommerce.ECommerceContext.CurrentShoppingCart.CartItems.Count : 0;
break;
case "noadimage":
// no ads empty image
e.Match = true;
e.Result = "<div class=\"ad\"><img src=\"~/ERPApps/media/system/images/missing-ad.png\" alt=\"Place for your ad\" /></div>";
break;
}
}
}
}
#endregion
}