Sugerir búsquedas con Javascript no obtrusivo

Ya hace tiempo explicamos como hacer un autocompletado en cajas de texto, pero claro, no todo el mundo tiene ganas o tiempo de hacerlo uno mismo. Por ello, no hay nada mejor que usar scripts de otras personas que nos facilitan el trabajo.
searchfield.png
SearchField es un javascript no obtrusivo que nos permite añadir sugerencias de búsqueda en nuestras cajas de texto de forma rápida y sencilla. Tan solo hay que añadir un javascript y enlaces a las librerías y a los estilos, para que funcione.
La única pega que le veo es que las palabras de sugerencia están dentro de una variable Javascript y no se realizan mediante llamada Ajax para poder así obtener datos dinámicos, pero bueno, no parece complicado modificarlo para que permita esta opción.
Style Your Website’s Search Field with JS/CSS
Vía / WebAppers

links for 2008-01-09

Saltos de página en CSS

Las hojas de estilos son importantes tanto para mostrar en una pantalla común, como para mostrarlos en otros dispositivos, por ejemplo al imprimirlos.

A la hora de imprimir una página web es necesario para que la lectura sea más cómoda, pensar en los saltos de página. Para lo cual existe la propiedad page-break-before, la cual nos permite saltar de página antes del elemento.

Para ello deberemos añadir en nuestras hojas de estilo:

@media all  {
.page-break { display:none; }
}
@media print {
.page-break { display:block; page-break-before:always; }
}

Y en nuestra página web lo siguiente:

<div class="page-break"></div>

Advanced CSS Printing — Using CSS Page Breaks

Vía / Posh CSS

links for 2008-01-06

Ejemplos de código para WP

Yo soy de la opinión, quizás no muy compartida, de que el código de WordPress es una mie…. Siempre que quiero hacer algo en una plantilla o un plugin me desespero, por eso, a la gente que le pase como a mí, estos casos de ejemplos de código le puede venir muy bien:

Asignar una imagen al ID de un post

Esto puede parecer raro, pero si quieres que cada post pueda tener una imagen asociada, este truco explica cómo hacerlo.

$image = "$id.gif";
if(is_readable("./images/$image")) {
echo 'alt tag';
} else {
echo 'alt tag';
}

Separar los trackbacks de los comentarios

Para ello hay que modificar la plantilla de comentarios y duplicar la estructura de los comentarios, añadiendo justo despues del foreach de los comentarios:

<?php foreach ($comments as $comment) : ?>

lo siguiente:

$comment_type = get_comment_type();
if($comment_type == ‘comment’) {

Mostrar el nombre de la categoría

Muestra el nombre de la categoría allí donde la mostremos.

$cat = get_the_category(); $cat = $cat[0]; echo $cat->cat_name;

Posts más recientes

Una lista con los tres posts más recientes:

get_archives(’postbypost’, 3);

5 WordPress PHP Code Snippets

|

Spellify: corrector ortográfico en tus formularios

Spellify es un corrector ortográfico en tiempo de ejecución para las cajas de texto de nuestros formularios. Este script evalua las palabras introducidas y muestra las palabras erróneas y cuales son las posibles correctas.
spellify.png
Para su uso es necesario PHP 4+ y CURL y script.aculo.us 1.8.0, y añadir en nuestras páginas código HTML y los estilos y javascripts. Esto último no me parece muy elegante, ya que este código se podría crear mediante el js.
Spellify está disponible en varios idiomas ya que usa el corrector ortográfico de Google.
De todas formas, si queréis haceros vuestro propio corrector ortográfico en PHP, podéis usar la función levenshtein, la cual calcula la distancia entre dos palabras. Eso sí, esta función es costosa en rendimiento.
Spellify
Vía / WebAppers

Usar Zend Framework con Code Igniter

Si nos encontramos con la necesidad de usar Zend Framework con Code Igniter, podemos encontrarnos problemas a la hora de juntar ambos frameworks. El problema se encuentra en que Code Igniter separa el código en diferentes directorios para el core y la aplicación.
El truco es crear un helper (funciones que realizan pequeñas tareas) y la funcionalidad de autoload de Code Igniter. El helper que se crea el autor solo añade un directorio en el include_path, y el directorio que añadirá será el del Zend Framework.
Despues en el autoload del Code Igniter se le añade se que cargue automáticamente el helper que nos hemos creado.
Using the Zend Framework with Code Igniter (an alternative)

Procedimientos almacenados de lenguajes externos para MySQL6

External Language Stored Procedures for MySQL es un parche para MySQL 6 que nos permite ejecutar procedimientos almacenados creados en otro lenguaje de programación externo a MySQL.

Los procedimientos almacenados se declaran en SQL usando sintaxis estándar de compilación, mientras que los que se implementan en otros lenguajes de programación se implementan como plugins que se instalan en el servidor en tiempo de ejecución.

Actualmente admite los plugins para Java y Perl, además de dar soporte a peticiones XML-RPC como procedimientos almacenados.

Un ejemplo para Perl sería el siguiente:

sub test1() {
my $dsn= "DBI:mysql:test";
my $dbh= DBI->connect($dsn, undef, undef) or
die "Error al conectar";
$dbh->do("INSERT INTO t1 (txt) VALUES ('hello world')");
return 0;
}

Y se usaría de la siguiente manera:

mysql> CREATE TABLE test.t1 (
seq INT NOT NULL AUTO INCREMENT PRIMARY KEY,
txt VARCHAR(128));
mysql> CREATE PROCEDURE test.test1()
LANGUAGE Perl MODIFIES SQL DATA
EXTERNAL NAME 'MyDBIExample::test1';
mysql> LOCK TABLE test.t1 WRITE;
mysql> CALL test.test1();
mysql> UNLOCK TABLES;
mysql> SELECT * FROM test.t1;

External Language Stored Procedures for MySQL