Cms Blocks, Pages y Widgets

Los datos de un cms block se guardan en la tabla cms_block y se relaciona con cada store mediante la tablas cms_block_store. Esta tabla nos da información sobre la pertenencia de cada block a su correspondiente store.

Al igual que el block, los datos de un cms block se guardan en la tabla cms_page y se relaciona con cada store mediante la tablas cms_page_store. Esta tabla nos da información sobre la pertenencia de cada page a su correspondiente store. Los cms pages, a diferencia de los blocks, permiten el page-layout y el update-layout. El page-layout nos permite configurar la estructura básica de una página. El Update Layout es un trocito de configuración del layout. Por ejemplo: queremos que la url de una página sea canonical.

        
            <head>
                <link rel="canonical" src="www.example.com/page-url-key" src_type="url"/>
            </head>
        
    

Los Widgets son instancias que se crean y se insertan en las páginas. Por ej: Podemos crear un Widget y colocarlo arriba de todas las páginas para la publicidad de Navidad. Sus componentes son principalmente un fichero php (Block) un template phtml y código xml para su colocación en las páginas. Aunque a veces el template es opcional, porque los blocks php pueden devolver html con el método toHtml(). La tabla widget_instance se guarda información sobre el block php entre otros. Esta instancia puede estar en muchas páginas. Esta información se guarda en widget_instance_page. En esta tabla, se guarda información sobre qué página y en qué parte de la página se insertará. La información de la tabla widget_instance y widget_instance_page se mezclarán y se formará un trozo de xml y se guardará en la tabla layout_update. Y se relacionará la tabla widget_instance_page con la tabla layout_update mediante widget_instance_page_layout.

Podemos crear widgets customizados mediante archivos etc/widget.xml