Joomla.it Forum

Non solo Joomla... => Sviluppo => : giovi 03 Jul 2012, 23:26:31

: [RISOLTO] Form fields per esadecimali
: giovi 03 Jul 2012, 23:26:31
Ciao a tutti,
sto impostando i vari parametri di un plugin tra i quali ho la necessità di inserire anche un colore di sfondo in formato esadecimale. Ho provato con le regular expressions del tipo:

<field size="6" name="thb_border_color" description="" type="text" default="#dddddd" label="Thumbnail border color" filter="^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$" />

ma joomla non sembra distinguere quando viene inserito un codice valido o una cifra qualunque.
Avete qualche idea in proposito?


Grazie mille in anticipo!

ps: trattandosi di form fields si tratta  ovviamente di joomla 2.5, ho dimenticato di specificarlo prima!
: Re:Form fields per esadecimali
: mau_develop 04 Jul 2012, 08:39:41
ma la regex funziona fuori da quel form?... ovvero l'hai provata? poi per fare il filtro devi importare anche il validation o sbaglio? (può darsi sbaglio io)

M.
: Re:Form fields per esadecimali
: giovi 04 Jul 2012, 09:17:39
devo ammettere che non ho saputo trovare molte informazioni a riguardo quindi sono a digiuno di istruzioni pratiche  :-\  La regex degli esadecimali per fare veloce l'ho prelevata da qualche articolo, ma anche inserendone di più semplici ahimè il risultato non cambia!
Rileggendo però la documentazione di joomla sembra che, per quanto concerne il text form, il:
filter (optional) allow the system to save certain html tags or raw data
mentre della regex se ne parla solo in altri campi come il filelist e l'imagelist.. in questi casi infatti:
filter (optional) is a regular expression string which is used to filter the list of image files selected for inclusion in the drop-down list. If omitted, all image files in the directory are included. The filter argument expression is applied before the exclude argument expression. For information on constructing regular expressions see Regular expressions in parameter arguments.
possibile che non sia previsto nativamente un tipo di campo per i colori?
: Re:Form fields per esadecimali
: webbati 04 Jul 2012, 12:17:36
Ciao Giovi, prova così:
nel field togli il parametro filter ed aggingi questi due :

:

validate="excolor"  addrulepath="/path/del/tuo/plugin/rules"


poi all'interno della cartella del tuo plugin crei una cartella 'rules' in modo che faccia match con il percorso indicato prima e all'interno di questa crei un file chiamato 'excolor.php' e dentro ci metti la tua regex estendendo la classe JFormRule in questo modo:

:

<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla formrule library
jimport('joomla.form.formrule');

class 
JFormRuleExcolor extends JFormRule
{
    protected 
$regex '^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$';
 
}

?>







ciao
: Re:Form fields per esadecimali
: giovi 05 Jul 2012, 10:18:33
Grazie webbati, la tua soluzione funziona a meraviglia! Grazie anche a te mau come sempre per esserre intervenuto.
Ora non manca che inserire la mini-guida nel nuovo wiki! Che ne pensi webbati? ;)
: Re:[RISOLTO] Form fields per esadecimali
: mau_develop 05 Jul 2012, 11:33:45
beh la soluzione corretta è quella di webbati ovviamente... non ricordavo ma ci ero capitato anch'io da poco e mi ero fissato con quel filter che invece nn centra na cippa. :)

...ti vien buono anche per il tracker...

M.
: Re:[RISOLTO] Form fields per esadecimali
: giovi 06 Jul 2012, 14:58:14
...ti vien buono anche per il tracker...
Ottima idea ;)
: Re:Form fields per esadecimali
: webbati 26 Jul 2012, 00:53:56
Grazie webbati, la tua soluzione funziona a meraviglia! Grazie anche a te mau come sempre per esserre intervenuto.
Ora non manca che inserire la mini-guida nel nuovo wiki! Che ne pensi webbati? ;)

Penso che è pronta! :)

http://www.joomla.it/mediawiki/index.php/Joomla!_2.5:Creare_fields_rules_personalizzate_per_ Joomla (http://www.joomla.it/mediawiki/index.php/Joomla%21_2.5:Creare_fields_rules_personalizzate_per_Joomla)

ciao