示例#1
0
        public string CalculateFieldValue(CalculatedFieldArgs args)
        {
            try
            {
                if (args.Item == null)
                {
                    return(string.Empty);
                }

                int    defaultLength = 250;
                string returnedValue = string.Empty;

                var _params = args.Parameters.Split('|');

                if (_params.Length > 0 && !string.IsNullOrEmpty(_params[0])) // Length
                {
                    int.TryParse(_params[0], out defaultLength);
                }


                if (args.Item.TemplateID == Templates.PublicationDetailPage.ID)
                {
                    if (args.Item.Fields[Templates.PublicationDetailPage.Fields.Abstract] != null)
                    {
                        returnedValue = args.Item.Fields[Templates.PublicationDetailPage.Fields.Abstract].Value;
                    }
                }
                else
                {
                    if (args.Item.Fields[Templates._SearchSummary.Fields.SearchSummary] != null)
                    {
                        returnedValue = args.Item.Fields[Templates._SearchSummary.Fields.SearchSummary].Value;
                    }
                }

                if (returnedValue.Length > defaultLength)
                {
                    returnedValue = returnedValue.Substring(0, defaultLength - 1) + "...";
                }

                return(returnedValue);
            }
            catch (Exception ex)
            {
                Sitecore.Diagnostics.Log.Error(ex.Message, ex, this);
                return(string.Empty);
            }
        }
        public string CalculateFieldValue(CalculatedFieldArgs args)
        {
            string value = string.Empty;

            if (args.Item != null)
            {
                if (!string.IsNullOrEmpty(args.Parameters))
                {
                    foreach (string param in args.Parameters.Split('|'))
                    {
                        if (string.IsNullOrWhiteSpace(param))
                        {
                            continue;
                        }
                        if (!string.IsNullOrWhiteSpace(args.Item[param]))
                        {
                            value = args.Item[param];
                            break;
                        }
                    }
                }

                if (string.IsNullOrWhiteSpace(value))
                {
                    if (!string.IsNullOrWhiteSpace(args.Item.DisplayName))
                    {
                        value = args.Item.DisplayName;
                    }
                    else
                    {
                        value = args.Item.Name;
                    }
                }
            }
            return(value);
        }