Tag: MVC

Dynamic Product Detail Pages. Part 2 – Componentization

Components, Components, Components Composition is one solution to the problem of application complexity (© Addy Osmani). Take a look at this product details page sketch: I am sure there are many ways to break it down to components (i.e. renderings). Here’s one: Product Breadcrumb Product Image Gallery Product Overview Product Features Product Reviews Product Identity […]

continue

MVT in MVC – A History Lesson

Multi-Variate Test has been a part of Sitecore DMS for quite some time. It basically allows marketers to vary a component’s datasource or a rendering itself and see which variation does better as measured in the overall engagement value. Testing is a big deal these days and Sitecore 8 attempts to disrupt the status-quo with […]

continue

Sitecore Support for MVC Areas

Multitenancy with MVC and Areas When developing for Sitecore, you must always be conscious of those “other” people … that is, other tenants. As mentioned countless times before, Sitecore offers support for multiple tenants from a single running instance, but it does not provide process or filesystem isolation for assets developed for each tenant website. […]

continue

Sitecore MVC Item Maze

The Maze If you have worked with Sitecore MVC you have probably noticed a few (to say the least) .Item properties in various contexts: Model.Item (where Model is a RenderingModel) Model.PageItem Model.Rendering.Item (or RenderingContext.Current.Rendering.Item) Model.Rendering.RenderingItem RenderingContext.Current.ContextItem PageContext.Current.Item @Html.Sitecore().CurrentItem And of course a good old Context.Item is always available. A maze indeed. Intrigued? Need a map? […]

continue

To The Controller And Back. Part 3 – DI and Multitenancy

Multitenancy All good commercial grade CMS systems support multitenancy – hosting multiple sites on the same instance. None of them (as far as I know), however, provide complete isolation to individual tenants. Sitecore is not an exception. One simple example. Pipelines and event handlers are global and while you can scope some of your extensions […]

continue