Tengo un cliente que quiere un diseño de página única para su sitio donde el contenido de cada "página" se muestra/oculta mediante JavaScript mientras el usuario navega por el sitio.Diseño de página única con Orchard CMS
No estoy seguro de la mejor manera de abordar esto con Orchard. Una opción sería tener todo el contenido en un elemento de contenido de una sola página, pero luego perderá la capacidad de utilizar las funciones de navegación de Orchard y no podrá dejar que el cliente piense en la administración en términos de páginas.
¿Alguien tiene ideas o experiencias sobre la mejor manera de configurar esto en Orchard CMS?
Así es la solución que usar según el consejo de Bertrand:
public ActionResult Display(int id)
{
var contentItem = _contentManager.Get(id, VersionOptions.Published);
dynamic model = _contentManager.BuildDisplay(contentItem);
var ctx = _workContextAccessor.GetContext();
ctx.Layout.Metadata.Alternates.Add("Layout_Null");
return new ShapeResult(this, model);
}
He creado un nuevo módulo con un controlador que contiene el método de acción anteriormente. El método de acción toma un parámetro para la identificación de la parte de contenido. Los objetos _contentManager y _workContextAccessor se están inyectando en el controlador. La vista Layout.Null.cshtml se creó exactamente como Bertrand sugirió.
Ese es un diseño extremadamente extraño que parece ir en contra del SEO y de toda la usabilidad conocida. ¿Qué lo justifica? –
Parece que está desarrollando una aplicación móvil, ¿verdad? jQuery Mobile? –
@BertrandLeRoy: No necesariamente estoy en desacuerdo.Es lo que quiere el cliente (específicamente quieren que implemente esta plantilla: http://udfrance.com/dev/STUDIO8/index_black.html). El sitio es muy ligero en contenido y SEO no es el objetivo principal. – joshb