示例#1
0
        /// <summary>
        /// Gets the rock context from lava context or returns a new one if one does not exist.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <returns></returns>
        public static RockContext GetRockContextFromLavaContext(ILavaRenderContext context)
        {
            var rockContext = context.GetInternalField("rock_context", null) as RockContext;

            if (rockContext == null)
            {
                rockContext = new RockContext();

                context.SetInternalField("rock_context", rockContext);
            }

            return(rockContext);
        }
示例#2
0
        /// <summary>
        /// Initializes a new template context.
        /// </summary>
        /// <returns></returns>
        protected void InitializeRenderContext(ILavaRenderContext context, IEnumerable <string> enabledCommands = null)
        {
            if (context == null)
            {
                return;
            }

            if (enabledCommands != null)
            {
                context.SetEnabledCommands(enabledCommands);
            }

            // Set a reference to the current Lava Engine.
            context.SetInternalField(LavaUtilityHelper.GetContextKeyFromType(typeof(ILavaEngine)), this);
        }