giovedì 24 giugno 2010

Personalizza il plug-in Joomla YouTube Embedder

APPUNTI

Plug-in sviluppato da Cory Webb su licenza GNU/GPL

Abilita la API Javascript di YouTube:
 
apiplayer?enablejsapi=1&version=3
 
aggiungi parametro sul file XML
aggiungi il parametro al codice PHP del del Plug-In


Bibliografia:
http://code.google.com/intl/it-IT/apis/youtube/js_api_reference.html#Embedding

mercoledì 23 giugno 2010

Joomla - Effettuare ricerche in base ai campi del componente CONTATTI

Personalizzazione del componente COM_CONTACT su Joomla

(APPUNTI - IL POST VERRA' ARRICCHITO CON ULTERIORI DETTAGLI)
Specifiche Richieste

  • Il cliente ha dei contatti da raggruppare per categoria
  • Alcune categorie sono visualizzabili solo in una lingua
  • Occorre filtrare i risultati in base al valore inserito nel campo PROVINCIA nei contatti




Operazione 1:
Per mantenere l'applicazione upgrade-safe utilizzeremo il template override di Joomla!

A questo proposito creiamo due nuovi file per la vista CATEGORY del componente COM_CONTACT e copiamoli nelle seguenti cartelle del template predefinito del sito web:
  • html/com_contact/category/default.php
  • html/com_contact/category/default_items.php
Non sarà necessario modificare altri file. Ora analizziamo il codice dei file.

MODIFICHE al file html/com_contact/category/default.php

Il file default.php conterrà il seguente codice:


Le variabili $Itemid e $catid conterranno le variabili necessarie per effettuare il filtro per province.

Dopodichè creeremo la seguente funzione per ordinare e filtrare i dati restituiti dal modello del componente in base ai criteri scelti dall'utente:


Poichè i dati vengono restituiti dal modello e noi stiamo effettuando un semplice override dei layout del componente, utilizzeremo una funzione che si limiterà a stampare a video i soli $item coerenti con la richiesta effettuata dal client.

Inserico la select per il filtro sulla ricerca basandomi sul campo per cui voglio effettuare il filtro:

Creo il link dove mandare l'utente dopo la selezione


MODIFICHE al file html/com_contact/category/default_items.php

Ottengo la provincia selezionata in base alla selezione dell'utente

 


Filtro i risultati con un "if(){}" in base alla selezione effettuata


A questo punto creo categorie e contatti in base alle mie esigenze e automaticamente il filtro della ricerca sarà popolato.

Per ridurre la visualizzazione solo ad alcune lingue utilizzerò soltanto i componenti del Club di Joomfish! Multilingual Menu Add-on

Ultimi ritocchi:
Se volessi utilizzare lo stesso campo per italia e estero ma definizione non è coerente posso cambiare l'etichetta del campo amministrazione modificando il file administrator/language/it-IT/it-IT.com_contact.ini


Aggiornamento
1. Per mantenere un'ordinamento corretto è bene che i valori del campo "state" siano tutti maiuscoli o minuscoli dunque conviene inserire una funzione strtower()


foreach($arr_filtro as $item){
array_push($arr_regioni, strtolower($item->state));
}

 
2. Una minaccia alla riuscita del nostro progetto è la limitazione della lista dei risultati restituiti, infatti nel modello CATEGORY.PHP e presente questa riga:


return $this->_getList( $query, @$options['limitstart'], @$options['limit'] );

da cambiare in:

return $this->_getList( $query, 0, 1000 );

oppure cambiando le lunghezze delle liste (mantenendo quindi l'upgrade safe.