Artículos con la etiqueta 'forma'

Personalización de un formulario de forma gráfica

Me preguntó cómo personalizar una forma gráfica, en particular, un cuadro de búsqueda como la que en este blog. La técnica utilizada, o mejor dicho, que yo uso, obviamente es válido para cualquier tipo de forma del módulo. Lo que cambia es sólo la complejidad del trabajo a realizar en función de la complejidad de la misma forma.

Continuación ...

WordPress: categorías en el menú desplegable

Yo afirmo que estamos hablando de WordPress 2.0.6. Si se intenta establecer las categorías de "combo" - desplegable - ojo en el sitio de la propuesta de indicaciones WordPress . Cuando usted hace un formulario HTML con un botón de envío debe tener cuidado de no poner el nombre de la etiqueta de entrada simplemente "enviar", vale la pena arruinar todo tratando de submittare el formulario a través de Javascript.

En el sitio de WordPress se propone el siguiente código:

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

Tenga en cuenta que el botón de enviar el nombre del atributo se establece en "enviar". Si se intenta ejecutar en un código Javascript como esto:

1
. submit ( ) ; documento forma nomeform submit ()...;

El intérprete se confunde, ya que no distingue el método submit () elemento de "enviar", que es un botón! La solución es simple: lo llaman lo que no, pero el botón de "enviar"!

El código que se utiliza para mostrar las categorías en el modo de menú desplegable que es el siguiente:

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

También tuve que modificar el núcleo de WordPress (que no se debe hacer ...). En el archivo "template-funciones-category.php" modificado I de la dropdown_cats function () en la preparación de la etiqueta select añadí:

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

Aquí está el pedazo de código para realizar el seguimiento:

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 ) ; Categorías $ = $ 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 ) ; $ A = apply_filters ('list_cats', $ total);
<option value='0'>Seleziona una Categoria</option> \n " ; echo "\ t value='0'> <option Seleccione una Categoría </ option> \ n";
}
intval ( $optionnone ) == 1 ) if ( intval ($ optionnone) == 1)
<option value='-1'>" . __ ( 'None' ) . "</option> \n " ; . echo "\ t value='-1'> <option" __ ('Nombre') "</ option> \ n".;
$categories ) { if ($ categorías) {
$categories as $category ) { foreach ($ categorías como $ category) {
apply_filters ( 'list_cats' , $category -> cat_name , $category ) ; $ Cat_name apply_filters = ('list_cats', $ category -> cat_name, $ category);
<option value= \" " . $category -> cat_ID . " \" " ; echo "\ t <option value= \"". $category -> cat_id." \ "";
$category -> cat_ID == $selected ) if ($ category -> cat_id == $ seleccionado)
; echo 'selected = "selected";
; echo '>';
; echo $ cat_name;
intval ( $optioncount ) == 1 ) if ( intval ($ optioncount) == 1)
. $category -> cat_count . ')' ; echo '('. $ category -> cat_count. ');
intval ( $optiondates ) == 1 ) if ( intval ($ optiondates) == 1)
. $category -> lastday . '/' . $category -> lastmonth ; echo $ categoría''-> lastday "/" $ category -> lastmonth...;
" ; echo "</ option> \ n";
}
}
" ; echo "</ select> \ n";

Una de las cosas que hace la función es establecer el combo de la categoría elegida recargar la página cuando tengo tiempo ... basta con ver lo mejor.

Como es sabido por todos, en aras de la exhaustividad, cabe señalar que era necesario actuar con un código no intrusivo (discreto) en lugar de entrar directamente en la construcción de la onchange del combo. Además, las categorías que se muestran en el combo no son accesibles para navegadores con JavaScript desactivado. Sin embargo, esto puede ser resuelto mediante el uso de la etiqueta noscript en la barra lateral y ver las categorías como una lista de enlaces - el modo por defecto de WordPress - ajustes que pronto se ;) .

Continuación ...