Profile

Layout

Menu Style

Cpanel
Sei qui: Home Blog Joomla Appunti: Parametro Select nei menu di Joomla

Appunti: Parametro Select nei menu di Joomla

immagine

Riporto in questo breve articolo una traccia utile per capire come vengono renderizzati i parametri impostati nei file xml delle pagine di creazione di nuove voci di menu.

Chiaramente sono solo appunti che ho preso per la creazione di nuovi componenti per i nostri progetti.

Quando dobbiamo inserire un menu che punta ad un componente, in diversi casi ci viene data la possibilità di specificare quale “articolo/oggetto

Facciamo un esempio: se vogliamo aggiungere un menu di Tipo Contatto, aggiungeremo un nuovo menu selezionando dall’elenco dei tipi “Contatto->Aspetto Contatto”.

Viene cosi visualizzata la pagina con le opzioni specifiche al tipo di menu scelto.

Quello di cui vi voglio parlare è di come viene inserito un parametro di tipo select. Per esempio, nel caso del contatto, la select si riferisce alla Selezione Contatto.

<h3 >Processo di rendering della pagina del menu

1) Quando clicchiamo su Contatto->Aspetto Contatto

Il controller richiamera la view Item.

La select che ci consente di specificare il contatto, (quello che verrà aggiunto all’url: ../index.php?option=com_contact&view=contact&id=1&Itemid=54) viene definita nel file xml della view: default.xml

<? xml version = "1.0" encoding = "utf-8" ?>

<!-- $Id: default.xml 8178 2007-07-23 05:39:47Z eddieajau $ -->

<metadata>

<layout title="Standard Contact Layout">

<message>

<![CDATA[STANDARD CONTACT LAYOUT DESC]]>

</message>

</layout>

<state>

<name>Standard Contact Layout</name>

<description>STANDARD CONTACT LAYOUT DESC</description>

<url addpath="/administrator/components/com_contact/elements">

< param name = "id" type = "contact" default = "" label ="Select Contact" description ="The contact to link to" />

</url>

<params>

< param name = "show_contact_list" type = "radio" default = "0" label = "Drop Down" description = "PARAMDROPDOWN" >

<option value="0">Hide</option>

<option value="1">Show</option>

</param>

<param name="show_category_crumb" type="radio" default="0" label="Show Category in Breadcrumbs" description="Show/Hide the category in the breadcrumbs">

<option value="0">Hide</option>

<option value="1">Show</option>

</param>

</params>

</state>

</metadata>

Nel file xml viene specificato il file php che si occupa di creare la select e popolarla.

In questo caso è: "/administrator/components/com_contact/elements/contact.php

Il metodo che si occupa di caricare i file xml per il rendering è

function &_getStateXML()

in item.php

$lpath = D:\0USER\LAMP\www\progetti\galmetal\components\com_contact\views\contact\tmpl\default.xml

La fase di rendering finale avviene in view.php. In particolare

Ad esempio $ulrparams viene valorizzato dal metodo:

function &getUrlParams()

{

// Get the state parameters

$item=& $this->getItem();

$params = new JParameter('');

if ($state =& $this->_getStateXML())

{

if (is_a($state, 'JSimpleXMLElement'))

$sp =& $state->getElementByPath('url');

$params->setXML($sp);

if (isset($item->linkparts) && is_array($item->linkparts)) {

$params->loadArray($item->linkparts);

}

}

}

return $params;

}

../administrator/components/com_menus/models/item.php.MenusModelItem->getUrlParams : lineno 164

La libreria che si occupa del render dei parameter è : libraries/joomla/html/parameter.php.JParameter->render : lineno 190

Finiscono cosi i miei appunti. Verranno ripresi in articoli futuri.


 
 

Dati fiscali

Pironti Eleonora - V. Sandro Pertini 19 - Settimo Milanese (MI) 20019 Cell: 3774322098- tel 0292807768 - P.IVA 13201480152

Sei qui: Home Blog Joomla Appunti: Parametro Select nei menu di Joomla