miércoles, 30 de noviembre de 2011

Excerpt: Cortar strings (cadenas) sin cortar palabras

Como hacer un excerpt "a pelo" sin contar con wordpress ;)

El artículo del autor lo explica muy claro.

Y por si acaso dejo constancia:

En PHP tenemos multitud de funciones para tratar cadenas de caracteres. Una de ellas, substr, nos devuelve un fragmento o porción de la cadena que estamos manipulando. El problema viene cuando queremos que no se  corte la última palabra de la subcadena que obtenemos. Ninguna función de manipulación de cadenas es capaz de identificar una palabra y no cortarla, pero podemos utilizar una combinación de éstas funciones para obtener una subcadena sin cortar palabras por la mitad.

Con el código que describo a continuación podéis cortar una cadena, dado un número de caracteres, sin partir la última palabra de la subcadena resultante.
$texto = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.';
$cantidadCaracteres = 25;
 
//1.- Obtenemos un fragmento de la cadena desde el índice cero hasta la longitud dada por la variable$cantidadCaracteres
$subcadena = substr($texto,0,$cantidadCaracteres);
 
//2.- strrpos encuentra la posición de la ultima aparición de un caracter, en éste caso el último espacio en blanco de la cadena que obtenemos con substr
$indiceUltimoEspacio = strrpos($subcadena," ");
 
//3.- Con substr obtenemos una subcadena de $texto desde la posicion inicial hasta la posición del último espacio que nos interesa
echo substr($texto,0, $indiceUltimoEspacio);
//salida por pantalla-> Lorem ipsum dolor sit
 
Y ahora el mismo código  en una sola línea:
$texto = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.';
$cantidadCaracteres = 25;
echo substr($texto,0,strrpos(substr($texto,0,$cantidadCaracteres)," "));
 



Fuente:
http://promineostudios.com/blog/articulo/cortar-una-cadena-de-caracteres-sin-partir-la-ultima-palabra

miércoles, 23 de noviembre de 2011

Envio mail automatico al administrador

Desde sistema, configuración, editar (tienda) -> Mail,
podemos decidir si recibimos mail cuando un usario nuevo crea una cuenta o cuando se hace un nuevo pedido

Mails enviados de opencart

Todos los mails y formato que envia opencart se pueden encontrar en:
/www/catalog/language/spanish/mail

lunes, 21 de noviembre de 2011

Buena traducción de Open Cart a catalán (y gratis)!

http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3389&path=2&filter_license=0&page=16&sort=e.date_added&order=ASC

Como discriminar según idioma en las plantillas TPL de opencart?

Discriminamos usando la variable $lang. if ($lang="es"){ ... } else{ }

Si $lang no está definida en la plantilla usar este código para generarlo:
$lang = $this->language->get('code');

domingo, 20 de noviembre de 2011

Como se hace un "is_home" en opencart?

if (!isset($this->request->get['route'])) || $this->request->get['route'] = 'common/home') {
echo "This is homepage";
}

Variable de control de idioma para plantillas Opencart

$lang es quien define la variable de idioma de opencart.

lunes, 14 de noviembre de 2011