Articles taggés avec 'forme'

Personnalisation d'un formulaire graphique

On m'a demandé comment personnaliser une forme graphique, en particulier une boîte de recherche comme celui sur ce blog. La technique utilisée, ou plutôt que j'utilise, est évidemment valable pour tout type de forme de module. Ce qui change est que la complexité du travail à faire en fonction de la complexité de la forme elle-même.

Suite ...

WordPress: catégories dans la liste déroulante

Je déclare que nous parlons de WordPress 2.0.6. Si vous essayez de définir les catégories de «combo» - déroulant - oeil sur le site du projet des indications WordPress . Lorsque vous effectuez un formulaire HTML avec un bouton submit faut faire attention de ne pas mettre le nom de la balise d'entrée simplement «soumettre», vaut tout gâcher juste essayer de submittare le formulaire via Javascript.

Sur le site de WordPress est proposé le code suivant:

1
2
3
4
5
6
<li id="categories">
'Categories:' ) ; ?> <? Php _e ('Catégories');?>
<li>
$PHP_SELF ?> " method="get"> <?php dropdown_cats ( ) ; ?> <input type="submit" name="submit" value="view" /> </form> <Form action = "<? Php echo $ PHP_SELF?>" Method = "get"> <? Php dropdown_cats ();?> <input type="submit" name="submit" value="view" /> </ form>
</ Li> </ ul>
</ Li>

Notez que le bouton submit a le nom d'attribut défini sur «soumettre». Si vous essayez d'exécuter du code Javascript à un comme ceci:

1
. submit ( ) ; document fait nomeform submit ()...;

L'interprète devient confus parce qu'il ne distingue pas la méthode submit () l'élément «soumettre», qui est un bouton! La solution est simple: appelez cela comme vous, mais pas sur le bouton «soumettre»!

Le code que j'ai utilisé pour afficher les catégories en mode déroulant j'ai est la suivante:

1
2
3
4
5
<div id="cmb_months">
<form name="xcats" id="xcats" action="/index.php" method="get">
; ?> <? Php dropdown_cats ();?>
</ Form>
</ Div>

J'ai également eu à modifier le noyau de WordPress (qui ne doit pas être fait ...). Dans le fichier "template-fonctions-category.php" J'ai modifié le dropdown_cats function () lors de la préparation de la balise select, j'ai ajouté:

1
onchange = ". document.forms ['xcats'] submit ();"

Voici le morceau de code pour suivre:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$wpdb -> get_results ( $query ) ; Catégories $ = $ wpdb -> get_results ($ query);
. " \n " ; echo '<select name="cat" class="postform" onchange="document.forms[\'xcats\'].submit();"> "" \ n ".;
intval ( $optionall ) == 1 ) { if ( intval ($ optionall) == 1) {
apply_filters ( 'list_cats' , $all ) ; $ Pour = apply_filters ('list_cats', $ tout);
<option value='0'>Seleziona una Categoria</option> \n " ; echo "\ t value='0'> <option Choisissez une catégorie </ option> \ n";
}
intval ( $optionnone ) == 1 ) if ( intval ($ optionnone) == 1)
<option value='-1'>" . __ ( 'None' ) . "</option> \n " ; . echo "\ t value='-1'> <option" __ ('Nom') "</ option> \ n".;
$categories ) { if ($ catégories) {
$categories as $category ) { foreach ($ $ catégories comme catégorie) {
apply_filters ( 'list_cats' , $category -> cat_name , $category ) ; $ Cat_name = apply_filters ('list_cats', $ catégorie -> cat_name, $ catégorie);
<option value= \" " . $category -> cat_ID . " \" " ; echo "\ t <option value= \"". $category -> cat_id." \ "";
$category -> cat_ID == $selected ) if ($ catégorie -> cat_id == $ sélectionnée)
; echo 'selected = "selected"';
; echo '>';
; echo $ cat_name;
intval ( $optioncount ) == 1 ) if ( intval ($ optioncount) == 1)
. $category -> cat_count . ')' ; echo '('. $ catégorie -> cat_count. ')';
intval ( $optiondates ) == 1 ) if ( intval ($ optiondates) == 1)
. $category -> lastday . '/' . $category -> lastmonth ; . echo''$ catégorie -> lastday '/' $ categorie -> lastmonth..;
" ; echo "</ option> \ n";
}
}
" ; echo "</ select> \ n";

Une chose que fait la fonction est de définir la liste déroulante de la catégorie choisie recharger la page quand j'ai le temps ... juste le regarder mieux.

Comme on le sait tous, pour le souci d'exhaustivité, je note que l'action était nécessaire avec un code non-intrusive (discrète) au lieu d'entrer directement dans la construction de la onchange du combo. En outre, les catégories affichées dans le combo ne sont pas accessibles pour les navigateurs avec Javascript désactivé. Cependant cela peut être résolu en utilisant la balise noscript dans la barre latérale et voir les catégories comme une liste de liens - mode par défaut de Wordpress - des ajustements qui seront bientôt ;) .

Suite ...