public void Visit(CustomBlockTag customBlockTag)
        {
            var tagType     = _templateContext.SymbolTableStack.LookupCustomBlockTagRendererType(customBlockTag.TagName);
            var tagRenderer = CustomBlockTagRendererFactory.Create(tagType);

            if (tagRenderer == null)
            {
                var message = "Liquid syntax error: Unknown tag '" + customBlockTag.TagName + "'";
                RegisterRenderingError(new LiquidError {
                    Message = message
                });
                return;
            }

            EvalExpressions(customBlockTag.LiquidExpressionTrees,
                            args => AppendTextToCurrentAccumulator(tagRenderer.Render(this, _templateContext, customBlockTag.LiquidBlock, args.ToList()).StringVal),
                            errors => AppendTextToCurrentAccumulator(FormatErrors(errors)));
        }
Esempio n. 2
0
 public void Visit(CustomBlockTag caseWhenElseBlockTag)
 {
     _result += caseWhenElseBlockTag.ToString();
 }