Difference between revisions of "Layout Overrides in Joomla/it"
From Joomla! Documentation
(Created page with "I layout alternativi delle categorie possono essere usati per gli articoli, i contatti, i news feeds ed i Web links.") |
(Created page with "Come per i layout dei componenti, i layout delle categorie si mostreranno solo se: (1) sono specificati per la categoria nel parametri globali o della categoria (2) non c'è n...") |
||
Line 91: | Line 91: | ||
I layout alternativi delle categorie possono essere usati per gli articoli, i contatti, i news feeds ed i Web links. | I layout alternativi delle categorie possono essere usati per gli articoli, i contatti, i news feeds ed i Web links. | ||
− | + | Come per i layout dei componenti, i layout delle categorie si mostreranno solo se: (1) sono specificati per la categoria nel parametri globali o della categoria (2) non c'è nessuna voce di menu specifica per questa categoria (ad es. voci di menu come Lista dei contatti di una Categoria, Lista dei News feeds di una Categoria, Lista di singola categoria, Categoria Blog). | |
If there is a menu item set up for this specific category, that layout will be used instead of the alternative category layout. | If there is a menu item set up for this specific category, that layout will be used instead of the alternative category layout. |
Revision as of 05:56, 22 January 2016
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.
This page is tagged because it NEEDS REVIEW. You can help the Joomla! Documentation Wiki by contributing to it.
More pages that need help similar to this one are here. NOTE-If you feel the need is satistified, please remove this notice.
It has been suggested that this article or section be split into specific version Namespaces. (Discuss). If version split is not obvious, please allow split request to remain for 1 week pending discussions. Proposed since 8 years ago.
Introduzione alla funzionalità dei Layout Alternativi nella Versione 2.5+
Joomla! 1.5 ha introdotto il concetto di layout che fanno l'override del core utilizzando il sistema del template override. La versione 2.5 di Joomla! introduce un set di funzionalità che danno all'amministratore del sito più controllo sulla visualizzazione di articoli, contatti, news feeds e Web links. Ci sono quattro tipi di layout alternativi:
- Modulo
- Componente
- Categoria
- Voce di menu
I Layout alternativi funzionano in modo simile all'override del template, ma consentono un maggiore controllo. Ciascun tipo viene discusso qui sotto.
Layout alternativi dei Moduli
Creare un layout alternativo per un modulo è simile all'override del modulo. In entrambi i casi, devi creare una cartella chiamatatemplates/<your template>/html/<module name>.Ad esempio, la cartella per l'override del template o per il layout alternativo del "mod_login" per il template beez3 sarebbe templates/beez5/html/mod_login/.
Ci sono due importanti differenze tra l'override del template e il layout alternativo: La prima è il nome del file. Per l'override del template, chiameresti il file default.phpcome il file del core di Joomla. Per il layout alternativo utilizzerai invece un nome diverso. L'unica regola è che 'il nome del file non deve contenere underscores. Questo ti consentirà di avere dei layout complessi che includono file multipli. Il file iniziale da chiamare è senza underscores e qualsiasi file che verrà chiamato da questo file iniziale invece avrà degli underscores nel nome. Ad es. potresti creare un file inziale chiamato mynewlogin.php che chiama mynewlogin_1.php.
La seconda importante differenza è che, a differenza dei file dell'override del template che vengono chiamati automaticamente ogni volta che viene visualizzato il modulo utilizzando il template che ha l'override, il file di un layout alternativo viene chiamato solo se lo selezioni come parametro. C'è un parametro in Avanzate chiamato Layout alternativo, vedi sotto.
Questo parametro farà vedere la lista di tutti i file (senza underscores) che hai messo nella cartella del template per questo modulo. Puoi anche tradurre il nome del file utilizzando il file lingua del template. Ad esempio, se aggiungi la linea
TPL_BEEZ5_MOD_LOGIN_LAYOUT_NOLOGIN="Alt Login Layout"
al file en-GB.tpl_beez5.sys.ini, questa tradurrà il nome del file name nologin.php in "Alt Login Layout".
E' importante capire che se ne modulo viene specificato un layout alternativo, questo verrà utilizzato per quel modulo indipendentemente da quale template si utilizzi per visualizzare la pagina dove viene visualizzato il modulo. E' perciò responsabilità dell'amministratore assicurarsi che il file di layout lavori come desiderato su tutti i templates dove il modulo viene mostrato.
Layout alternativi dei Plugin (Override dei Plugin)
Sì, è possibile fare l'override dei plugin. E' molto utile, soprattutto per i content plugins. Tuttavia lo puoi fare solo se il plugin consente gli overrides.
Joomla fornisce un meccanismo di override dei plugin ma questa funzionalità non è supportata da tutti i plugins
Ora come ora, l'unico plugin del core di Joomla 3.x che consente gli override è il plugin Pagenavigation Content che mostra i link agli articoli precedenti e successivi nella vista articolo del componente content. Ci possono essere plugin di sviluppatori di terze parti che lo consentono e altri plugin del core in futuro saranno sovrascrivibili.
Puoi capire se si può fare l'override di un plugin se in esso c'è la cartella /tmpl/. Vedi: https://github.com/joomla/joomla-cms/tree/staging/plugins/content/pagenavigation (nota per gli sviluppatori: il plugin utilizza JPluginHelper::getLayoutPath() )
Esempio di Override di Plugin
Per fare l'override del plugin content Pagenavigation nel template "beez3", crea una cartella nominata templates/beez3/html/plg_content_pagenavigation/ e copia il file di layout originale (plugins/content/pagenavigation/tmpl/default.php) in questa nuova cartella.
Ora puoi cambiare questo file di layout per fare l'override dell'output del plugin.
E' importante notare che per fare il layout di override devi crearlo in questo percorso:
templates/TEMPLATE-NAME/html/plg_PLUGIN-GROUP_PLUGIN-NAME/
esempio: templates/beez3/html/plg_content_pagenavigation/
Dove PLUGIN-GROUP è il gruppo al quale appartiene il plugin. (E' il nome della prima cartella dove è posizionato il plugin. Vedi: https://github.com/joomla/joomla-cms/tree/staging/plugins. Leggi altro su Event groups in Plugin/Events)
Layout alternativi dei Componenti
I layout alternativi dei componenti funzionano in modo simile ai layout dei moduli di cui abbiamo parlato sopra. Si deve mettere un file nella stessa cartella dove metti i file di override del template. Ad es. per creare un layout alternativo per un articolo per il template "beez3", devi mettere un file nella cartella templates/beez5/html/com_content/article/. Come per i layout dei moduli, il file non deve essere nominato come il file del core e non deve avere underscores nel nome. Inoltre non ci dev'essere un file XML con lo stesso nome in questa cartella. (Ne discuteremo nel paragrafo Layout Alternativi delle Voci di Menu.)
Puoi impostare un valore globale per i layout del componente nelle Opzioni del componente. Ad es. in nella finestra Opzioni in Gestione Articoli c'è un parametro per i Layout Alternativi, vedi sotto:
Questo creerà un valore globale che i singoli componenti (articoli, contatti, news feeds e link web) possono ereditare.
Come con il layout dei moduli, i layout dei componenti vengono mostrati come opzioni nel parametro nella schermata del componente. Ad es. per un articolo. il parametro è presente nelle Opzioni dell'articolo, vedi sotto.
Come per gli altri parametri, l'impostazione Usa globali utilizzerà le impostazioni del parametro nelle Opzioni. L'impostazione Dal componente > Predefinito utilizzerà il layout predefinito del componente. I layout alternativi che hai creato per i diversi template verranno mostrati nell'elenco sotto a ciascun template.
I nomi dei file possono essere tradotti. La linea sottostante:
TPL_BEEZ5_COM_CONTENT_ARTICLE_LAYOUT_MYLAYOUT="Title Only No XML"
tradurrà un file chiamato "mylayout.php" in "Title Only No XML".
Puoi avere più di un file per un layout. Il file iniziale dev'essere nominato senza underscores e gli altri file aggiuntivi devono avere underscores.
I layout alternativi dei componenti possono essere utilizzati con gli articoli, i contatti o i news feeds. Web links non hanno un layout da singolo componente, perciò non sono disponibili layout alternativi per i Web links.
I layout alternativi dei componenti vengono utilizzati solo quando sussistono due condizioni: (1) quando vengono specificati nei parametri del componente; e (2) non c'è una voce di menu per questo specifico componente. Ad esempio, se hai uno o più voci di menu del tipo "Singolo articolo" impostate per un dato articolo, allora il layout alternativo per quell'articolo non verrà utilizzato. Invece, verrà utilizzato il layout specificato nella voce di menu. Questo è coerente con il modo generale in cui lavorano i parametri dei componenti, dove il più specifico (in questo caso una voce di menu singolo articolo) sostituisce il meno specifico (in questo caso, i parametri articolo).
Layout alternativi delle Categorie
I layout alternativi delle categorie lavorano come quelli dei componenti. Le regole per specificare i file del layout sono le stesse. L'unica differenza è che la cartella è la cartella della categoria, non quella del componente. Ad es. il layout alternativo di una categoria di contatti per beez3 andrebbe nella cartella templates/beez5/html/com_contact/category.
Puoi impostare il layout delle categorie a livello globale, nelle Opzioni di ciascun componente. Sotto un esempio delle Opzioni dei Contatti:
I layout alternativi delle categorie sono presenti anche nelle singole Categorie nel tab Opzioni di base, vedi sotto.
I layout alternativi delle categorie possono essere usati per gli articoli, i contatti, i news feeds ed i Web links.
Come per i layout dei componenti, i layout delle categorie si mostreranno solo se: (1) sono specificati per la categoria nel parametri globali o della categoria (2) non c'è nessuna voce di menu specifica per questa categoria (ad es. voci di menu come Lista dei contatti di una Categoria, Lista dei News feeds di una Categoria, Lista di singola categoria, Categoria Blog).
If there is a menu item set up for this specific category, that layout will be used instead of the alternative category layout.
Drill Down to Blog or List
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.
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.
Alternative Menu Items
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 templates/beez5/html/com_content/article folder called myarticle.php and myarticle.xml. If you wanted to include more layout files, you would add these files with underscores in the file names.
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.
Alternative Menu Items show up when you select a menu item type in the Menu Manager as shown below.
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.
As indicated above, menu item layouts take priority over component or category alternative layouts.
Translation of alternative menu items is done with the following tags in the XML files. The format is "TPL_"<template name>_<component>_<view>_<menu item name>_<tag type>. For example, these lines below will translate the title, option, and description for an alternative menu item called "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."
These strings have to be added to language/en-GB/en-GB.tpl_beez5.sys.ini
The catmenuitem.xml would start with:
<?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>
Controlling the Template for Alternative Menu Items
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.
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:
<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>
This will override the core template_style_id parameter. Setting the template equal to "beez5" in this case will limit the user to only selecting template styles for the "beez5" template.