Feed items

Textos truncados con botones para mostrar más y menos en CakePHP

Usando CakePHP, el helper text (del core de cakephp) y jQuery, es muy facil crear una funcionalidad análoga a la que podemos ver en las descripciones de los videos de youtube, o sea acortar un texto y poner un botón (link) que al hacerle click muestre el texto completo.
Les dejo el código a continuación.

Romper paradigmas

A veces es necesario romper paradigmas…
¿Por qué la vista, o un elemento de la vista, no puede comunicarse con el modelo?
Paradigma: Un paradigma es —desde fines de la década de 1960— un modelo o patrón en cualquier disciplina científica u otro contexto epistemológico. El concepto fue originalmente específico de la gramática; en 1900 el diccionario Merriam-Webster definía su uso solamente en tal contexto, o en retórica para referirse a una parábola o a una fábula. En lingüística, Ferdinand de Saussure ha usado paradigma para referirse a una clase de elementos con similitudes. El termino tiene tambien una concepcion en el campo de la psicologia refiriendose a acepciones de ideas, pensamientos, creencias incorporadas generalmente durante nuestra primera etapa de vida que se aceptan como verdaderas o falsas sin ponerla a prueba de un nuevo análisis.

Junta CakePHP Chile

Para todos los que no puedan, por un motivo u otro, asistir al CakeFest de Buenos Aires, se está organizando una junta de personas interesadas en CakePHP para el próximo 20 de Diciembre aquí en Santiago.

Más info a la brevedad!

last.fm CakePHP component for songs submission

Ayer comentaba sobre la clase PHP para enviar canciones a last.fm. Bueno dado que lo voy a utilizar desde CakePHP lo más lógico era construir un componente, y gracias al HttpSocket de CakePHP el código se redujo bastante. Aquí les dejo el código para usarlo libremente (MIT License)

Detectar lenguajes usando Google AJAX Language API

Usando el API de Google es muy simple detectar el lenguaje de un texto. Para hacerlo más simple se puede crear un componente CakePHP y reutilizarlo.
El código sería el siguiente:
< ?php
class LanguageComponent extends Object {

function initialize() {

}

function startup(&$controller) {
$this->controller = $controller;
}

function detect($text){
App::import("Core", "HttpSocket");
$conn = new HttpSocket();

$url = "http://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q=";
$url .= urlencode($text);

$result = $conn->get($url);

if (!$result){
return false;
}

$result = json_decode($result, true);

if (!$result || $result["responseStatus"]!=200 ||
!isset($result["responseData"]))
{
return false;
}

return $result["responseData"];
}
}
En caso de exito retorna una estructura del tipo (en caso de fallo retorna false):

Usando Twitter desde CakePHP

Hace unos días empecé a construir un “componente” para conectar CakePHP con el API de Twitter. Tengo lista una primera versión (alpha) con algunas de las funcionalidades implementadas. Todavia quedan cosas por mejorar, como el manejo automático de errores, pero más de vale Release Early, Release Often[1], que echar a dormir el código.
Pueden descargarlo desde aqui: cakephp_twitter-v0.1alpha.zip (4Kb)
Documentación (:P)
La forma de uso es la siguiente. Si lo queremos usar desde un controlador:
var $uses = array("Twitter");
Y en la acción correspondiente:

Respuestas automáticas en formato JSON para CakePHP

En este tiempo de API’s, extensibilidad y otros, resulta util poder disponer de una forma fácil de devolver información en un formato diferente al tradicional HTML. Por suerte con CakePHP hacer esto es muy facil.
Lo que les dejo es una forma de generar, automáticamente, respuestas en formato JSON, utiles para el desarrollo de aplicaciones AJAX, pero es facilmente modificable para considerar otros formatos de respuesta. Los pasos son los siguientes:

  1. Hacer que CakePHP considere la extensión json y la maneje adecuadamente: (config/routes.php)
    Router::parseExtensions('json');
    Crear un layout para todas las peticiones en formato JSON: (views/layout/json/default.ctp)

CakeFest Hispano, diciembre 2008

Mariano Iglesias, miembro del core de CakePHP, acaba de anunciar un CakeFest a realizarse en Argentina sobre fin de año. Todavía falta bastante, pero vale la pena ir tomandolo en consideración. Puede ver más sobre el evento en http://es.cakefest.org

CakePHP 1.2 Beta, Año nuevo…beta nueva

Para comenzar el año con el pie derecho se ha liberado una nueva versión beta de CakePHP 1.2.
Cada vez más cerca de la versión definitiva las mejoras de esta versión son notorias. Los que estuvieron usando los nightly builds o la última versión del SVN ya han podido disfrutar de muchas mejoras, pero los que no se encontrarán con funcionalidades nuevas, o que han sido migradas al core, que ayudan, y mucho, a simplificar las tareas más habituales al desarrollar una aplicación. Pueden descargar la version CakePHP Beta 1.2.0.6311 desde el enlace.