• Increase font size
  • Default font size
  • Decrease font size
Italian (Italy)English (United Kingdom)
Home Blog System Integration Appunti: Parametro Select nei menu di Joomla

Appunti: Parametro Select nei menu di Joomla

Tags: Appunti Menu Joomla | Joomla

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.

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.

 
Clicca qui per entrare nel
nuovo Blog di
Webem-lab.com

Chi è online

We have 8 guests online