Пример #1
0
        public string Render(MerchantTribe.Commerce.MerchantTribeApplication app, dynamic viewBag, MerchantTribe.Commerce.Content.ContentBlock block)
        {
            ImageRotatorViewModel model = new ImageRotatorViewModel();

            if (block != null)
            {
                var imageList = block.Lists.FindList("Images");
                foreach (var listItem in imageList)
                {
                    ImageRotatorImageViewModel img = new ImageRotatorImageViewModel();
                    img.ImageUrl = ResolveUrl(listItem.Setting1, app);
                    img.Url      = listItem.Setting2;
                    if (img.Url.StartsWith("~"))
                    {
                        img.Url = app.CurrentRequestContext.UrlHelper.Content(img.Url);
                    }
                    img.NewWindow = (listItem.Setting3 == "1");
                    img.Caption   = listItem.Setting4;
                    model.Images.Add(img);
                }
                string cleanId = MerchantTribe.Web.Text.ForceAlphaNumericOnly(block.Bvin);
                model.CssId    = "rotator" + cleanId;
                model.CssClass = block.BaseSettings.GetSettingOrEmpty("cssclass");

                model.Height = block.BaseSettings.GetIntegerSetting("Height");
                model.Width  = block.BaseSettings.GetIntegerSetting("Width");

                if (block.BaseSettings.GetBoolSetting("ShowInOrder") == false)
                {
                    RandomizeList(model.Images);
                }
            }

            return(RenderModel(model));
        }
        private string RenderModel(ImageRotatorViewModel model)
        {
            StringBuilder sb = new StringBuilder();

            if (model.Images.Count > 0)
            {
                sb.Append("<div class=\"" + model.CssClass + "\">\n");
                sb.Append("<ul id=\"" + model.CssId + "\" class=\"imagerotatorlist\" style=\"height:" + model.Height + "px;width:" + model.Width + "px;\">");

                for (int i = 0; i < model.Images.Count; i++)
                {
                    var img = model.Images[i];
                    sb.Append("<li ");
                    if (i == 0)
                    {
                        sb.Append("class=\"show\"");
                    }
                    sb.Append(">");
                    RenderSingleImage(sb, img, model.Height, model.Width);
                    sb.Append("</li>");
                }
                sb.Append("</ul>\n");
                sb.Append("</div>");
                sb.Append("<script type=\"text/javascript\">\n");
                sb.Append(" $(document).ready(function() {");
                sb.Append(" StartRotator('" + model.CssId + "', " + model.Pause + ");");
                sb.Append(" });");
                sb.Append("\n</script>");
                sb.Append("\n<style type=\"text/css\">");

                sb.Append("\n#" + model.CssId + " {");
                if (model.Height > 0)
                {
                    sb.Append("height: " + model.Height + "px;");
                }
                if (model.Width > 0)
                {
                    sb.Append("width: " + model.Width + "px;");
                }
                sb.Append("position:relative;");
                sb.Append("margin:0;padding:0;");
                sb.Append("}");

                sb.Append("\n#" + model.CssId + " li { ");
                sb.Append("list-style:none;");
                sb.Append("float:left;");
                sb.Append("position:absolute;");
                sb.Append("margin:0;padding:0;");
                sb.Append("}");

                sb.Append("\n#" + model.CssId + " li.show { ");
                sb.Append("z-index:500;");
                sb.Append("}");
                sb.Append("</style>");
            }

            return(sb.ToString());
        }
Пример #3
0
        public virtual ActionResult GetImagesAndDesc()
        {
            var viewModel  = new ImageRotatorViewModel();
            var malibuImgs = from img in viewModel.GetMalibuImageList()
                             select new
            {
                src  = this.Url.Content(img.Source),
                desc = img.Description,
            };

            var lasVegasImgs = from img in viewModel.GetLasVegasImageList()
                               select new
            {
                src  = this.Url.Content(img.Source),
                desc = img.Description,
            };

            return(Json(new { malibu = malibuImgs, lasVegas = lasVegasImgs }, JsonRequestBehavior.AllowGet));
        }
Пример #4
0
        public ActionResult Index(ContentBlock block)
        {
            var model = new ImageRotatorViewModel();

            if (block != null)
            {
                var imageList = block.Lists.FindList("Images");
                foreach (var listItem in imageList)
                {
                    var img = new ImageRotatorImageViewModel
                    {
                        ImageUrl = ResolveUrl(listItem.Setting1),
                        Url      = listItem.Setting2
                    };
                    if (img.Url.StartsWith("~"))
                    {
                        img.Url = Url.Content(img.Url);
                    }
                    img.NewWindow = listItem.Setting3 == "1";
                    img.Caption   = listItem.Setting4;
                    model.Images.Add(img);
                }
                var cleanId = Text.ForceAlphaNumericOnly(block.Bvin);
                model.CssId    = "rotator" + cleanId;
                model.CssClass = block.BaseSettings.GetSettingOrEmpty("cssclass");

                model.Height = block.BaseSettings.GetIntegerSetting("Height");
                model.Width  = block.BaseSettings.GetIntegerSetting("Width");

                if (block.BaseSettings.GetBoolSetting("ShowInOrder") == false)
                {
                    RandomizeList(model.Images);
                }
            }

            return(View(model));
        }