2011-02-28 19 views
6

Me gustaría proporcionar otro botón al lado del botón "Guardar & Cerrar" en el Editor de páginas del sitio que activará la acción de guardar y publicar una vez que se presione. Fui al núcleo e hice una copia del botón "Guardar & Cerrar" que planeo modificar.Agregar un botón 'Guardar y publicar' del editor de páginas

enter image description here

yo llamaría este botón "Guardar & Publish", pero ahora estoy un poco curioso si tengo que modificar Javascript para incluir mi llamada personalizado (digamos javascript:scSave("myPublish:saveAndPublish"))

estoy siguiente artículo this para engancharse a la tubería y completar la acción, pero no estoy seguro si esa es la forma correcta.

¿Algún consejo?

+0

Puede obtener una mejor respuesta en el foro de desarrolladores del sitio web sdn.sitecore.net –

+0

gracias James, ya he cocinado algo, pero lo intentaré también. – krul

Respuesta

4

Lo que hay que hacer es definir un comando personalizado en App_Config/Commands.config:

comando
<command name="myPublish:saveAndPublish" 
type="YourNamespace.YourCommand, YourAssembly" /> 

Cualquier encargo necesita subclase Sitecore.Shell.Framework.Commands.Command y reemplazar el método public override void Execute(CommandContext context).

Utilice el comando personalizado a llamar al comando PublishItem:

public override void Execute(CommandContext context) 
{ 
    var publishCommand = new PublishItem(); 
    publishCommand.Execute(context); 
} 

Algunas cosas que debe buscar:

  • Esto ha funcionado para mí en Firefox, pero no cromo, en donde el artículo es No guardado. scSave utiliza una gran cantidad de javascript de front-end, por lo que parece ser un error con el soporte Chrome de Sitecore.
  • Extrañamente, la sintaxis scSave("item:publish") no funciona, pero llamar a PublishComand indirectamente desde un comando personalizado funciona. Si alguien descubre por qué es esto, ¡por favor coméntelo!
  • scSave solo funciona cuando se llama desde WebEditButton (/ sitecore/templates/System/WebEdit/WebEdit Button), no un botón de cinta ('/ sitecore/templates/System/Ribbon/Large Button') o ('/ sitecore/templates/System/Ribbon/Small Button ').
  • El WebEditButton debe estar ubicado en la parte superior de la jerarquía de la cinta ('/ sitecore/content/Applications/WebEdit/Ribbons/WebEdit/Buttons'). Si se coloca en uno de los fragmentos (por ejemplo, "Nuevo", "Editar", etc.) no se procesará.
  • Al crear un WebEditButton, si desea controlar el ícono que se muestra en el Editor de páginas, debe configurar los Datos/Íconos a través de los valores brutos. De lo contrario, el valor se guardará en Apariencia/Icono, que controla el ícono para el ítem de contenido, no el botón del Editor de Página. Esto se debe a un error con el Editor de contenido.
Cuestiones relacionadas