Archived

Difference between revisions of "Layout Overrides in Joomla/es"

From Joomla! Documentation

m (FuzzyBot moved page J2.5:Layout Overrides in Joomla/es to Archived:Layout Overrides in Joomla/es without leaving a redirect: Part of translatable page "J2.5:Layout Overrides in Joomla")
 
(56 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
<noinclude><languages /></noinclude>
 
<noinclude><languages /></noinclude>
{{review}}{{JSplit}}
 
{{version/tutor|2.5,3.x}}
 
 
=== Introducción a la característica Presentación Alternativa en las versiones 2.5+ ===
 
=== Introducción a la característica Presentación Alternativa en las versiones 2.5+ ===
 
Joomla! 1.5 introdujo el concepto de [[S:MyLanguage/How_to_override_the_output_from_the_Joomla!_core |modificar las presentaciones del núcleo]] usando el sistema de modificación de las plantillas (los famosos "overrides"). La versión 2.5 introduce un conjunto de características que le proporcionan al administrador del sitio más control sobre la presentación de artículos, contactos, canales electrónicos y enlaces web. Hay cuatro tipos de presentaciones alternativas:  
 
Joomla! 1.5 introdujo el concepto de [[S:MyLanguage/How_to_override_the_output_from_the_Joomla!_core |modificar las presentaciones del núcleo]] usando el sistema de modificación de las plantillas (los famosos "overrides"). La versión 2.5 introduce un conjunto de características que le proporcionan al administrador del sitio más control sobre la presentación de artículos, contactos, canales electrónicos y enlaces web. Hay cuatro tipos de presentaciones alternativas:  
Line 9: Line 7:
 
# Elemento de menú
 
# Elemento de menú
  
Alternative layouts work in a similar fashion to the template override feature but allow you more options and control. Each type is discussed below.
+
Las presentaciones alternativas funcionan de una forma similar a las modificaciones de plantillas (los overrides) pero te permiten más opciones y control. Cada tipo se discute a continuación.
  
=== Module Alternative Layouts ===
+
=== Presentaciones alternativas de módulos ===
Creating an alternative layout for a module is similar to creating a template override for a module. In both cases, you create a folder called <tt>templates/<your template>/html/<module name></tt>. For example, the folder for a "mod_login" template override or alternative layout for the beez5 template would be <tt>templates/beez5/html/mod_login/</tt>.  
+
La creación de una alternativa de diseño para un módulo es similar a la creación de una plantilla de reemplazo para un módulo. En ambos casos, se crea una carpeta llamada <tt>templates/<your template>/html/<module name></tt>. Por ejemplo, la carpeta de una plantilla de reemplazo para "mod_login" o alternativa de diseño de la plantilla beez5 sería <tt>templates/beez5/html/mod_login/</tt>.  
  
There are two important differences between a template override and an alternative layout. The first is the file name. For the template override, you would call the file <tt>default.php</tt> to match the core file name. For an alternative layout, you use a different name. The only rule is that '''the file name should not have any underscores in it'''. This allows you to have complex layouts that include multiple files. The initial file to be called is named without underscores and any other files that are called from this initial file will have underscores in the name. For example, you could have the initial file called <tt>mynewlogin.php</tt> which calls <tt>mynewlogin_1.php</tt>.
+
Hay dos diferencias importantes entre una plantilla de reemplazo y una alternativa de diseño. La primera es el nombre del archivo. Para la plantilla de reemplazo, el archivo se llamaría <tt>default.php</tt> para que coincida con el nombre del archivo del núcleo. Para una alternativa de diseño, se utiliza un nombre diferente. La única regla es que '''el nombre del archivo no debe tener ningún tipo de guión bajo en el'''. Esto te permite tener diseños complejos que incluyan varios archivos. El archivo inicial que su nombre se denomina sin subrayados y otros archivos que son llamados desde este archivo inicial tendrá que poner en relieve el nombre. Por ejemplo, podrías tener el archivo inicial llamado <tt>mynewlogin.php</tt> que llama <tt>mynewlogin_1.php</tt>.
  
The second important difference is that, unlike template override files which are called automatically whenever the module is displayed using the template with the override, an alternative layout file is only called if you select it as a parameter in the Module Manager. In version 2.5 and later, there is a new parameter under Advanced Options called Alternative Layout, as shown below.
+
La segunda diferencia importante es que, a diferencia de la plantilla de archivos sobrescritos que se llama automáticamente cada vez que el módulo se muestra al usar la plantilla de reemplazo, una alternativa de diseño de archivo se llama sólo si se selecciona como un parámetro en el Gestor de Módulo. En la versión 2.5 y posterior, hay un nuevo parámetro bajo Opciones Avanzadas llamado Alternativas de Diseño, como se muestra a continuación.
  
 
[[Image:Screenshot_override_tutorial_20110107-01-en.png|frame|center]]
 
[[Image:Screenshot_override_tutorial_20110107-01-en.png|frame|center]]
  
This parameter will list any files (without underscores) that you have placed in the template folder for this module. You can also translate the file name using the template's system language file. For example, if you add the line
+
Este parámetro mostrará una lista de los archivos (sin guiones bajos) que se han colocado en la carpeta de plantillas para este módulo. También se puede traducir el nombre de archivo usando el sistema de archivo de idioma de la plantilla del. Por ejemplo, si agrega la línea
  
 
  TPL_BEEZ5_MOD_LOGIN_LAYOUT_NOLOGIN="Alt Login Layout"
 
  TPL_BEEZ5_MOD_LOGIN_LAYOUT_NOLOGIN="Alt Login Layout"
  
to the file <tt>en-GB.tpl_beez5.sys.ini</tt>, it will translate the file name <tt>nologin.php</tt> to "Alt Login Layout".  
+
en el archivo <tt>es-ES.tpl_beez5.sys.ini</tt>, se va a traducir el nombre de archivo <tt>nologin.php</tt> "Layout de inicio de Sesión Alternativo".  
  
It is important to understand that if specified in the Module Manager screen, an alternative layout file for a module will be used for that module regardless of what template is used to display the page where the module is shown. It is therefore the administrator's responsibility to make sure that the layout file will work as desired in any templates where this module may be shown.
+
Es importante entender que si se especifica en la pantalla del Gestor de Módulos del Administrador, un archivo alternativo de diseño de un módulo será utilizado para ese módulo, independientemente de la plantilla que se utiliza para mostrar la página donde se encuentra el módulo que se muestra. Por lo tanto, es responsabilidad del administrador asegurarse que el archivo de diseño trabajará como se desee en cualquiera de las plantillas de donde este módulo puede ser mostrado.
 
 
=== Presentación alternativa de plugin (modificando un plugin) ===
 
Yes, it's possible to override plugin outputs. It's very useful, especially for content plugins. However you can only do it if the plugin is ready to allow overrides.
 
 
 
{{tip|Joomla provides a mechanism to override a plugin but this feature is not supported by all the plugins}}
 
 
 
Right now the only plugin in Joomla 3.x core that allow overrides is the Pagenavigation Content plugin that shows previous/next article links in article view of content component. There may be other plugins from third party developers allowing it and more core plugins will be overridable in the future.
 
 
 
You will know when a plugin is overridable because has a ''/tmpl/'' folder in it. See: https://github.com/joomla/joomla-cms/tree/staging/plugins/content/pagenavigation (note for developers: the plugin uses <tt>JPluginHelper::getLayoutPath()</tt> )
 
 
 
==== Ejemplo de modificación de plugin ====
 
To override the output of '''Pagenavigation content plugin''' in "beez3" template, create a folder named <tt>templates/beez3/html/plg_content_pagenavigation/</tt> and copy the original layout file (<tt>plugins/content/pagenavigation/tmpl/default.php</tt>) to this new folder.
 
 
 
Now you can change this layout file to override plugin output.
 
 
 
Is important to note that to build the override layout you need to create it in this path:
 
 
 
templates/TEMPLATE-NAME/html/plg_PLUGIN-GROUP_PLUGIN-NAME/
 
 
 
ejemplo:
 
<tt>templates/beez3/html/plg_content_pagenavigation/</tt>
 
 
 
Where PLUGIN-GROUP is the group to which the plugin belongs. (It is the name of the first folder where the plugin is located. See: https://github.com/joomla/joomla-cms/tree/staging/plugins. Read more about Event groups at [[S:MyLanguage/Plugin/Events|Plugin/Events]])
 
  
 
=== Presentaciones alternativas de componente ===
 
=== Presentaciones alternativas de componente ===
Component alternative layouts work similarly to module layouts discussed above. Again, a file is placed in the same folder where you place a template override file. For example, to create an alternative layout for an article for the template "beez5", you would put a file in the folder <tt>templates/beez5/html/com_content/article/</tt>. As with module layouts, the file must not be named the same as the core file and must not include underscores in the name. Additionally, there should not be an XML file of the same name in this folder. (We'll discuss XML files below under Menu Item Alternative Layouts.)
+
Las presentaciones alternativas de componente funcionan de forma similar a las de módulo de las que se hablaba más arriba. Por ejemplo, para crear una presentación alternativa para un artículo para la plantilla "beez5", tendrías que poner un archivo el la carpeta <tt>templates/beez5/html/com_content/article/</tt>. Como en las presentaciones de módulo, el nombre de este archivo no puede ser igual al del archivo del núcleo, y no puede incluir guiones bajos. Además, no debería haber una archivo XML con el mismo nombre en esta carpeta (comentaremos los archivos XML más abajo en el punto Presentaciones alternativas de elementos de menú).
  
You can set a global value for component layouts in the Options window of the component. For example, in the Article Manager Options window, there is a parameter for Alternative Layout as shown below:
+
Puedes establecer un valor global para las presentaciones de componente en la ventana de opciones del propio componente. Por ejemplo, en la ventana de opciones del gestor de artículos, hay un parámetro para presentación alternativa como se muestra a continuación:
  
 
[[Image:Screenshot_override_tutorial_20110107-02-en.png|frame|center]]
 
[[Image:Screenshot_override_tutorial_20110107-02-en.png|frame|center]]
  
This will create a global value that individual components (articles, contacts, news feeds and Web links) can inherit from.
+
Esto creará un valor global que los componentes individuales (artículo, contactos, canales electrónicos y enlaces web) pueden heredar.
  
As with module layouts, the component layouts are shown as parameter options in the individual component edit screen. For example, for an article, the parameter shows in the Article Options group as shown below.
+
Como ocurre con las presentaciones de módulo, las de componente se muestran como opciones de parámetro en la pantalla de edición del componente. Por ejemplo, para un artículo, el parámetro se muestra en el grupo de opciones del artículo como se muestra a continuación.
  
 
[[Image:Screenshot_override_tutorial_20110107-03-en.png|frame|center]]
 
[[Image:Screenshot_override_tutorial_20110107-03-en.png|frame|center]]
  
As with other parameters, the Use Global setting will use the setting from the Options parameter. The From Component's Default setting will use the component's default layout. Alternative layouts that you have created for different templates are shown under each template heading.
+
Como con otros parámetros, la opción "usar valor global" utilizará el valor establecido en el parámetro de las opciones del componente. La opción predeterminado del componente usará la presentación predeterminada del componente. Las presentaciones alternativas que hayas creado para distintas plantillas se muestran bajo el nombre de cada plantilla.
  
File names may be translated. The line below:
+
Los nombres de archivo pueden traducirse. La línea de abajo:
  
 
  TPL_BEEZ5_COM_CONTENT_ARTICLE_LAYOUT_MYLAYOUT="Title Only No XML"
 
  TPL_BEEZ5_COM_CONTENT_ARTICLE_LAYOUT_MYLAYOUT="Title Only No XML"
  
will translate a file called "mylayout.php" as "Title Only No XML".  
+
traducirá un archivo llamado "mylayout.php" como "Title Only No XML" (sólo título, no XML).  
  
You can have more than one file for a layout. The initial file must be named without underscores and any additional files must have underscores.  
+
Puedes tener más un archivo para una presentación. El nombre del archivo inicial no debe tener guiones bajos, y cualquier archivo adicional debe tenerlos.  
  
Component alternative layouts may be used with articles, contacts, or news feeds. Web links don't have a single-component layout so no alternative layout is available for Web links.
+
Las presentaciones alternativas de componente pueden usarse con artículos, contactos o canales electrónicos. Los enlaces web no tienen una presentación específica del componente, por lo que las alternativas no están disponibles para este componente.
  
Component alternative layouts are only used when two conditions are met: (1) they are specified in the component parameters; and (2) there is no menu item for this specific component. For example, if you have one or more menu items of type "Single Article" set up for a given article, then the alternative layout for that article will not be used. Instead, the layout specified in the menu item will be used. This is consistent with the general way that component parameters work, where the most specific (in this case a single-article menu item) overrides the less specific (in this case, the article parameters).
+
Los diseños alternativos de un componente se utilizan sólo cuando se cumplen dos condiciones: (1) que se especifique en los parámetros de componentes y (2) no hay ningún elemento de menú para este componente específico. Por ejemplo, si tienes uno o más elementos de menú del tipo "Artículo Único" configurado para un artículo determinado, entonces la alternativa de diseño para el artículo no va a ser utilizada. En su lugar, el diseño especificado en el elemento de menú se utiliza. Esto es consistente con la forma general en que los parámetros del componente trabajan, donde el más específico (en este caso un elemento de menú, artículo único) anula el menos específico (en este caso, parámetros del artículo).
  
 
=== Presentaciones alternativas de categorías ===
 
=== Presentaciones alternativas de categorías ===
Category alternative layouts work identically to component layouts. The rules for specifying layout files are the same. The only difference is that the folder is the category folder, not the component folder. For example, a contact category alternative layout for beez5 would go in the folder <tt>templates/beez5/html/com_contact/category</tt>.
+
Las categorías de diseños alternativos funcionan de forma idéntica a diseños de componentes. Las reglas para la especificación de los archivos de diseño son los mismas. La única diferencia es que la carpeta es la carpeta de la categoría, no la carpeta del componente. Por ejemplo, un diseño alternativo de la categoría contacto para beez5 ira en la carpeta <tt>templates/beez5/html/com_contact/category</tt>.
  
You can set category layouts globally, in the Options screen of each component. Below is an example from the Contact Manager Options screen:
+
Puede establecer la categoría de diseños globalmente, en la pantalla de Opciones de cada componente. A continuación hay un ejemplo de la pantalla Opciones, del Gestor de Contactos:
  
 
[[Image:Screenshot_override_tutorial_20110107-04-en.png|frame|center]]
 
[[Image:Screenshot_override_tutorial_20110107-04-en.png|frame|center]]
  
Category alternative layouts show up when you add or edit a category in the Category Manager under the Basic Options as shown below.
+
Los diseños alternativos de categorías se muestran al agregar o editar una categoría en el Gestor de Categorías debajo de las Opciones Básicas, como se muestra a continuación.
  
[[Image:Screenshot_override_tutorial_20110107-05-es.png|frame|center]]
+
[[Image:Screenshot_override_tutorial_20110107-05-en.png|frame|center]]
  
Category alternative layouts may be used for articles, contacts, news feeds and Web links.  
+
Los diseños alternativos de categorías pueden ser utilizados para los artículos, contactos, noticias y enlaces Web.  
  
As with component layouts, category layouts only will show if (1) they are specified for the category in the global or category parameters and (2) there is no menu item specifically for this category (for example, List Contacts in a Category, List News feeds in a Category, List Web links in a Category, Category List, Category Blog).  
+
Como con los diseños del componente, los diseños de categorías sólo se muestran si: (1) está especificado para la categoría en los parámetros globales o de la categoría y (2) no hay ningún elemento del menú específico para esta categoría (por ejemplo, Lista de Contactos en una Categoría, la Lista de feeds de Noticias en una Categoría, la Lista de enlaces  Web en una Categoría, la Lista de categorías, la Categoría Blog).  
  
If there is a menu item set up for this specific category, that layout will be used instead of the alternative category layout.
+
Si hay un elemento del menú para esta categoría específica, el diseño será utilizado en lugar del diseño alternativo de la categoría.
  
=== Drill Down to Blog or List ===
+
=== Desglose en Blog o Lista ===
For articles, we have two core layouts available: Blog and List. Both of these options show under the "From Component" heading in the layout parameters for article category. So, like other layout options, you can now select Blog or List for categories either globally (in the Article Manager Options, shown below), or when editing a single article category.
+
Para los artículos, tenemos disponibles dos diseños principales: Blog y Lista. Ambas opciones se muestran bajo el encabezado "Componente" en los parámetros de diseño para la categoría del artículo. Así que, como otras opciones de diseño, ahora puedes seleccionar Blog o Lista para categorías, ya sea de forma global (en el gestor de Opciones del Artículo, se muestra a continuación), o cuando editas un solo artículo de la categoría.
  
[[Image:Screenshot_override_tutorial_20110107-06-es.png|frame|center]]
+
[[Image:Screenshot_override_tutorial_20110107-06-en.png|frame|center]]
  
This means that, like other layout options, you can control whether article category links drill down to blog or list layouts. It is important to understand that, like other layout parameters, this option will only take effect when there is no single-category menu item for the category.
+
Esto significa que, al igual que otras opciones de diseño, puedes controlar si los enlaces de la categoría del artículo se desglosan en diseños blog o lista. Es importante entender que, al igual que otros parámetros de diseño, esta opción sólo tendrá efecto cuando no hay una única categoría dle elemento de menú para la categoría.
  
 
=== Elementos de menú alternativos ===
 
=== Elementos de menú alternativos ===
Alternative Menu Items have one important difference with the others. To create a menu item alternative layout, you must include an XML file whose name matches the initial layout file. For example, to create an alternative menu item called "myarticle" for an article in the beez5 template, you would create two files in the <tt>templates/beez5/html/com_content/article</tt> folder called <tt>myarticle.php</tt> and <tt>myarticle.xml</tt>. If you wanted to include more layout files, you would add these files with underscores in the file names.  
+
Elementos de Menú Alternativos tiene una importante diferencia con los demás. Para crear un elemento de menú de diseño alternativo, se debe incluir un archivo XML cuyo nombre coincida con el inicial del archivo de diseño. Por ejemplo, para crear un elemento de menú alternativo llamado "miarticulo" para un artículo con plantilla beez5, debes crear dos archivos en la carpeta llamada <tt>templates/beez5/html/com_content/article</tt> <tt>miarticulo.php</tt> y <tt>miarticulo.xml</tt>. Si querías incluir más archivos de diseño, habría que agregar estos archivos con caracteres de subrayado en los nombres de archivo.  
  
The XML file uses the same format as the core Menu Item XML files. This allows you not only to create a customized layout for this menu item but also allows you to create customized parameters. For example, you could hide some parameters or add new parameters.  
+
El archivo XML utiliza el mismo formato que el Elemento principal de los archivos XML del Menú. Esto te permite no sólo crear un diseño personalizado para este elemento del menú, además también te permite crear parámetros personalizados. Por ejemplo, puedes ocultar algunos parámetros o añadir nuevos parámetros.  
  
Alternative Menu Items show up when you select a menu item type in the Menu Manager as shown below.
+
Elementos del Menú Alternativos se muestran cuando se selecciona un elemento de menú tipo en el Gestor de Menús como se ve a continuación.
  
[[Image:Screenshot_override_tutorial_20110107-07-es.png|frame|center]]
+
[[Image:Screenshot_override_tutorial_20110107-07-en.png|frame|center]]
  
Alternative Menu Items are used and work the same way as standard menu items. Since they are already based on customized layouts, template overrides do not apply to alternative menu items.
+
Elementos del Menú Alternativos se utilizan y trabajan de la misma forma que los elementos de menú estándar. Puesto que ya están basados en diseños personalizados, la sobre escritura de plantillas no se aplican a la alternativa de elementos del menú.
  
As indicated above, menu item layouts take priority over component or category alternative layouts.  
+
Como se indicó anteriormente, los diseños de elementos del menú tienen prioridad sobre el diseño alternativo del componente o categoría.  
  
Translation of alternative menu items is done with the following tags in the XML files. The format is <tt>"TPL_"<template name>_<component>_<view>_<menu item name>_<tag type></tt>. For example, these lines below will translate the title, option, and description for an alternative menu item called "catmenuitem".
+
La traducción de elementos del menú alternativos se realiza con las siguientes etiquetas en los archivos XML. El formato es <tt>"TPL_"<template name=>_<component>_<view>_<menu item name>_<tag type></tt>. Por ejemplo, las líneas a continuación van a traducir el título, opción y descripción de un elemento de menú alternativo llamado "catmenuitem".
  
 
  TPL_BEEZ5_COM_CONTENT_CATEGORY_VIEW_CATMENUITEM_TITLE="Beez5 Custom Category Layout"
 
  TPL_BEEZ5_COM_CONTENT_CATEGORY_VIEW_CATMENUITEM_TITLE="Beez5 Custom Category Layout"
Line 121: Line 96:
 
  TPL_BEEZ5_COM_CONTENT_CATEGORY_VIEW_CATMENUITEM_DESC="Description for beez5 custom category layout."
 
  TPL_BEEZ5_COM_CONTENT_CATEGORY_VIEW_CATMENUITEM_DESC="Description for beez5 custom category layout."
  
These strings have to be added to <tt>language/en-GB/en-GB.tpl_beez5.sys.ini</tt>
+
Estas cadenas tienen que ser añadidas al archivo <tt>language/en-GB/en-GB.tpl_beez5.sys.ini</tt>
  
 
El archivo catmenuitem.xml empezaría con:
 
El archivo catmenuitem.xml empezaría con:
Line 139: Line 114:
  
 
=== Controlar la plantilla para los elementos de menú alternativos ===
 
=== Controlar la plantilla para los elementos de menú alternativos ===
As discussed above, the presence of an XML file makes an alternative layout a menu item. The format of the XML file is the same as the format for core menu item XML files. With this XML file, you can add the parameters you wish to include for this menu item. They can be the same as one of the core menu items, or you can omit core parameters or add new ones. Note that if you add new parameters, these can be used in the layout file but will not be used in the core model or view files.
+
Como se mencionó anteriormente, la presencia de un archivo XML crea un diseño de un elemento de menú alternativo. El formato del archivo XML es el mismo que el formato del elemento de menú de archivos XML del núcleo. Con este archivo XML, puedes agregar los parámetros que desees incluir para este elemento del menú. Puede ser el mismo como uno de los elementos principales del menú o se pueden omitir los parámetros esenciales o agregar nuevos. Ten en cuenta que si se agregan nuevos parámetros, estos pueden ser utilizados en el archivo de diseño, pero no será utilizados en el modelo o vistas del núcleo.
  
It is also possible to override parameter settings for core parameters. One example of this is to control which templates an alternative menu item layout can be displayed with. In some cases, you may want to allow a custom menu item to be displayed with any template for the site. In other cases, you may wish to limit that menu item's layout to one specific template. In this situation, you would just add the following parameter to the menu item's XML file:
+
También es posible reemplazar la configuración de parámetros para los principales parámetros. Un ejemplo de esto es controlar que plantillas alternativas de un diseño de un elemento del menú puede ser mostrado. En algunos casos, puede que desees permitir a un elemento del menú personalizado que se muestre con alguna plantilla en el sitio. En otros casos, puede que desees limitar ese elemento del menú, al diseño de una plantilla específica. En esta situación, deberás de añadir el siguiente parámetro a la opción de menú en el archivo XML:
  
 
<source lang="XML">
 
<source lang="XML">
Line 157: Line 132:
 
</source>
 
</source>
  
This will override the core <tt>template_style_id</tt> parameter. Setting the template equal to "beez5" in this case will limit the user to only selecting template styles for the "beez5" template.
+
Esto anulará el parámetro <tt>template_style_id</tt> del núcleo. La configuración de la plantilla es igual a "beez5" en este caso va a limitar el usuario sólo la selección de estilos de plantilla para la plantilla "beez5".
  
 
<noinclude>
 
<noinclude>
[[Category:Joomla! 1.6]]
+
[[Category:Joomla! 1.6/es]]
[[Category:Joomla! 1.7]]
+
[[Category:Joomla! 1.7/es]]
[[Category:Joomla! 2.5]]
+
[[Category:Joomla! 2.5/es]]
[[Category:Joomla! 3.x]]
+
[[Category:Tutorials/es]]
[[Category:Tutorials]]
 
 
</noinclude>
 
</noinclude>

Latest revision as of 17:16, 26 April 2022

This page has been archived. This page contains information for an unsupported Joomla! version or is no longer relevant. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎中文(中国大陆)‎

Introducción a la característica Presentación Alternativa en las versiones 2.5+

Joomla! 1.5 introdujo el concepto de modificar las presentaciones del núcleo usando el sistema de modificación de las plantillas (los famosos "overrides"). La versión 2.5 introduce un conjunto de características que le proporcionan al administrador del sitio más control sobre la presentación de artículos, contactos, canales electrónicos y enlaces web. Hay cuatro tipos de presentaciones alternativas:

  1. Módulo
  2. Componente
  3. Categoría
  4. Elemento de menú

Las presentaciones alternativas funcionan de una forma similar a las modificaciones de plantillas (los overrides) pero te permiten más opciones y control. Cada tipo se discute a continuación.

Presentaciones alternativas de módulos

La creación de una alternativa de diseño para un módulo es similar a la creación de una plantilla de reemplazo para un módulo. En ambos casos, se crea una carpeta llamada templates/<your template>/html/<module name>. Por ejemplo, la carpeta de una plantilla de reemplazo para "mod_login" o alternativa de diseño de la plantilla beez5 sería templates/beez5/html/mod_login/.

Hay dos diferencias importantes entre una plantilla de reemplazo y una alternativa de diseño. La primera es el nombre del archivo. Para la plantilla de reemplazo, el archivo se llamaría default.php para que coincida con el nombre del archivo del núcleo. Para una alternativa de diseño, se utiliza un nombre diferente. La única regla es que el nombre del archivo no debe tener ningún tipo de guión bajo en el. Esto te permite tener diseños complejos que incluyan varios archivos. El archivo inicial que su nombre se denomina sin subrayados y otros archivos que son llamados desde este archivo inicial tendrá que poner en relieve el nombre. Por ejemplo, podrías tener el archivo inicial llamado mynewlogin.php que llama mynewlogin_1.php.

La segunda diferencia importante es que, a diferencia de la plantilla de archivos sobrescritos que se llama automáticamente cada vez que el módulo se muestra al usar la plantilla de reemplazo, una alternativa de diseño de archivo se llama sólo si se selecciona como un parámetro en el Gestor de Módulo. En la versión 2.5 y posterior, hay un nuevo parámetro bajo Opciones Avanzadas llamado Alternativas de Diseño, como se muestra a continuación.

Screenshot override tutorial 20110107-01-en.png

Este parámetro mostrará una lista de los archivos (sin guiones bajos) que se han colocado en la carpeta de plantillas para este módulo. También se puede traducir el nombre de archivo usando el sistema de archivo de idioma de la plantilla del. Por ejemplo, si agrega la línea

TPL_BEEZ5_MOD_LOGIN_LAYOUT_NOLOGIN="Alt Login Layout"

en el archivo es-ES.tpl_beez5.sys.ini, se va a traducir el nombre de archivo nologin.php "Layout de inicio de Sesión Alternativo".

Es importante entender que si se especifica en la pantalla del Gestor de Módulos del Administrador, un archivo alternativo de diseño de un módulo será utilizado para ese módulo, independientemente de la plantilla que se utiliza para mostrar la página donde se encuentra el módulo que se muestra. Por lo tanto, es responsabilidad del administrador asegurarse que el archivo de diseño trabajará como se desee en cualquiera de las plantillas de donde este módulo puede ser mostrado.

Presentaciones alternativas de componente

Las presentaciones alternativas de componente funcionan de forma similar a las de módulo de las que se hablaba más arriba. Por ejemplo, para crear una presentación alternativa para un artículo para la plantilla "beez5", tendrías que poner un archivo el la carpeta templates/beez5/html/com_content/article/. Como en las presentaciones de módulo, el nombre de este archivo no puede ser igual al del archivo del núcleo, y no puede incluir guiones bajos. Además, no debería haber una archivo XML con el mismo nombre en esta carpeta (comentaremos los archivos XML más abajo en el punto Presentaciones alternativas de elementos de menú).

Puedes establecer un valor global para las presentaciones de componente en la ventana de opciones del propio componente. Por ejemplo, en la ventana de opciones del gestor de artículos, hay un parámetro para presentación alternativa como se muestra a continuación:

Screenshot override tutorial 20110107-02-en.png

Esto creará un valor global que los componentes individuales (artículo, contactos, canales electrónicos y enlaces web) pueden heredar.

Como ocurre con las presentaciones de módulo, las de componente se muestran como opciones de parámetro en la pantalla de edición del componente. Por ejemplo, para un artículo, el parámetro se muestra en el grupo de opciones del artículo como se muestra a continuación.

Screenshot override tutorial 20110107-03-en.png

Como con otros parámetros, la opción "usar valor global" utilizará el valor establecido en el parámetro de las opciones del componente. La opción predeterminado del componente usará la presentación predeterminada del componente. Las presentaciones alternativas que hayas creado para distintas plantillas se muestran bajo el nombre de cada plantilla.

Los nombres de archivo pueden traducirse. La línea de abajo:

TPL_BEEZ5_COM_CONTENT_ARTICLE_LAYOUT_MYLAYOUT="Title Only No XML"

traducirá un archivo llamado "mylayout.php" como "Title Only No XML" (sólo título, no XML).

Puedes tener más un archivo para una presentación. El nombre del archivo inicial no debe tener guiones bajos, y cualquier archivo adicional debe tenerlos.

Las presentaciones alternativas de componente pueden usarse con artículos, contactos o canales electrónicos. Los enlaces web no tienen una presentación específica del componente, por lo que las alternativas no están disponibles para este componente.

Los diseños alternativos de un componente se utilizan sólo cuando se cumplen dos condiciones: (1) que se especifique en los parámetros de componentes y (2) no hay ningún elemento de menú para este componente específico. Por ejemplo, si tienes uno o más elementos de menú del tipo "Artículo Único" configurado para un artículo determinado, entonces la alternativa de diseño para el artículo no va a ser utilizada. En su lugar, el diseño especificado en el elemento de menú se utiliza. Esto es consistente con la forma general en que los parámetros del componente trabajan, donde el más específico (en este caso un elemento de menú, artículo único) anula el menos específico (en este caso, parámetros del artículo).

Presentaciones alternativas de categorías

Las categorías de diseños alternativos funcionan de forma idéntica a diseños de componentes. Las reglas para la especificación de los archivos de diseño son los mismas. La única diferencia es que la carpeta es la carpeta de la categoría, no la carpeta del componente. Por ejemplo, un diseño alternativo de la categoría contacto para beez5 ira en la carpeta templates/beez5/html/com_contact/category.

Puede establecer la categoría de diseños globalmente, en la pantalla de Opciones de cada componente. A continuación hay un ejemplo de la pantalla Opciones, del Gestor de Contactos:

Screenshot override tutorial 20110107-04-en.png

Los diseños alternativos de categorías se muestran al agregar o editar una categoría en el Gestor de Categorías debajo de las Opciones Básicas, como se muestra a continuación.

Screenshot override tutorial 20110107-05-en.png

Los diseños alternativos de categorías pueden ser utilizados para los artículos, contactos, noticias y enlaces Web.

Como con los diseños del componente, los diseños de categorías sólo se muestran si: (1) está especificado para la categoría en los parámetros globales o de la categoría y (2) no hay ningún elemento del menú específico para esta categoría (por ejemplo, Lista de Contactos en una Categoría, la Lista de feeds de Noticias en una Categoría, la Lista de enlaces Web en una Categoría, la Lista de categorías, la Categoría Blog).

Si hay un elemento del menú para esta categoría específica, el diseño será utilizado en lugar del diseño alternativo de la categoría.

Desglose en Blog o Lista

Para los artículos, tenemos disponibles dos diseños principales: Blog y Lista. Ambas opciones se muestran bajo el encabezado "Componente" en los parámetros de diseño para la categoría del artículo. Así que, como otras opciones de diseño, ahora puedes seleccionar Blog o Lista para categorías, ya sea de forma global (en el gestor de Opciones del Artículo, se muestra a continuación), o cuando editas un solo artículo de la categoría.

Screenshot override tutorial 20110107-06-en.png

Esto significa que, al igual que otras opciones de diseño, puedes controlar si los enlaces de la categoría del artículo se desglosan en diseños blog o lista. Es importante entender que, al igual que otros parámetros de diseño, esta opción sólo tendrá efecto cuando no hay una única categoría dle elemento de menú para la categoría.

Elementos de menú alternativos

Elementos de Menú Alternativos tiene una importante diferencia con los demás. Para crear un elemento de menú de diseño alternativo, se debe incluir un archivo XML cuyo nombre coincida con el inicial del archivo de diseño. Por ejemplo, para crear un elemento de menú alternativo llamado "miarticulo" para un artículo con plantilla beez5, debes crear dos archivos en la carpeta llamada templates/beez5/html/com_content/article miarticulo.php y miarticulo.xml. Si querías incluir más archivos de diseño, habría que agregar estos archivos con caracteres de subrayado en los nombres de archivo.

El archivo XML utiliza el mismo formato que el Elemento principal de los archivos XML del Menú. Esto te permite no sólo crear un diseño personalizado para este elemento del menú, además también te permite crear parámetros personalizados. Por ejemplo, puedes ocultar algunos parámetros o añadir nuevos parámetros.

Elementos del Menú Alternativos se muestran cuando se selecciona un elemento de menú tipo en el Gestor de Menús como se ve a continuación.

Screenshot override tutorial 20110107-07-en.png

Elementos del Menú Alternativos se utilizan y trabajan de la misma forma que los elementos de menú estándar. Puesto que ya están basados en diseños personalizados, la sobre escritura de plantillas no se aplican a la alternativa de elementos del menú.

Como se indicó anteriormente, los diseños de elementos del menú tienen prioridad sobre el diseño alternativo del componente o categoría.

La traducción de elementos del menú alternativos se realiza con las siguientes etiquetas en los archivos XML. El formato es "TPL_"<template name=>_<component>_<view>_<menu item name>_<tag type>. Por ejemplo, las líneas a continuación van a traducir el título, opción y descripción de un elemento de menú alternativo llamado "catmenuitem".

TPL_BEEZ5_COM_CONTENT_CATEGORY_VIEW_CATMENUITEM_TITLE="Beez5 Custom Category Layout"
TPL_BEEZ5_COM_CONTENT_CATEGORY_VIEW_CATMENUITEM_OPTION="Beez5 Custom"
TPL_BEEZ5_COM_CONTENT_CATEGORY_VIEW_CATMENUITEM_DESC="Description for beez5 custom category layout."

Estas cadenas tienen que ser añadidas al archivo language/en-GB/en-GB.tpl_beez5.sys.ini

El archivo catmenuitem.xml empezaría con:

<?xml version="1.0" encoding="utf-8"?>
<metadata>
   <layout title="TPL_BEEZ5_COM_CONTENT_CATEGORY_VIEW_CATMENUITEM_TITLE" option="TPL_BEEZ5_COM_CONTENT_CATEGORY_VIEW_CATMENUITEM_OPTION">
      <help
         key = "JHELP_MENUS_MENU_ITEM_ARTICLE_SINGLE_ARTICLE"
      />
      <message>
         <![CDATA[TPL_BEEZ5_COM_CONTENT_CATEGORY_VIEW_CATMENUITEM_DESC]]>
      </message>
   </layout>

Controlar la plantilla para los elementos de menú alternativos

Como se mencionó anteriormente, la presencia de un archivo XML crea un diseño de un elemento de menú alternativo. El formato del archivo XML es el mismo que el formato del elemento de menú de archivos XML del núcleo. Con este archivo XML, puedes agregar los parámetros que desees incluir para este elemento del menú. Puede ser el mismo como uno de los elementos principales del menú o se pueden omitir los parámetros esenciales o agregar nuevos. Ten en cuenta que si se agregan nuevos parámetros, estos pueden ser utilizados en el archivo de diseño, pero no será utilizados en el modelo o vistas del núcleo.

También es posible reemplazar la configuración de parámetros para los principales parámetros. Un ejemplo de esto es controlar que plantillas alternativas de un diseño de un elemento del menú puede ser mostrado. En algunos casos, puede que desees permitir a un elemento del menú personalizado que se muestre con alguna plantilla en el sitio. En otros casos, puede que desees limitar ese elemento del menú, al diseño de una plantilla específica. En esta situación, deberás de añadir el siguiente parámetro a la opción de menú en el archivo XML:

<fields>
  <field
    name=''"template_style_id"''
    type=''"templatestyle"''
    label=''"COM_MENUS_ITEM_FIELD_TEMPLATE_LABEL"''
    description=''"COM_MENUS_ITEM_FIELD_TEMPLATE_DESC"''
    filter=''"int"''
    template=''"beez5"''
    class=''"inputbox"''>
  </field>
 </fields>

Esto anulará el parámetro template_style_id del núcleo. La configuración de la plantilla es igual a "beez5" en este caso va a limitar el usuario sólo la selección de estilos de plantilla para la plantilla "beez5".