Author Archive for Tizon

Internacionalización i18n en CodeIgniter

0

Qué es lo que vamos a obtener en este tutorial?

Vamos a poder solventar tener  tu aplicación web o simplemente web en diferentes idiomas, con el siguiente formato.

  • dominio.com/es/
  • dominio.com/en/
  • dominio.com/cz/

Usaremos la clase Language de CodeIgniter y las librería ci_i18n_library de Maestric

Una vez que te descargues la librería ci_i18n_library, tienes que poner los archivos MY_Language.php y MY_Config.php en system/application/libraries

Configuración

Tienes que usar pretty URL, sin index.php. Si usas Apache, lo normal es que uses mod_rewrite en .htaccess

Aquí dejo un archivo .htaccess modificado para la ocasión

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} (index\.php|webroot/|images/|css/|js/|robots\.txt|favicon\.ico)
RewriteRule ^(images|css|files|js)/(.*)$ webroot/$1/$2 [L]
RewriteRule ^(favicon\.ico)$ webroot/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

En el archivo config.php tenemos que modificar:

$config['base_url'] que debe corresponder a tu configuración

$config['index_page'] = ”

 

En config/routes.php añadimos

// URI like '/en/test' -> use controller 'test'
$route['^es/(.+)$'] = "$1";
$route['^en/(.+)$'] = "$1";

// '/en' and '/es' URIs -> use default controller
$route['^es$'] = $route['default_controller'];
$route['^en$'] = $route['default_controller'];

 

Cómo usarlo?

Archivos de idioma

system/application/language/english/test_lang.php

<?php 
$lang['test_hello'] = "hello";

system/application/language/spanish/test_lang.php

<?php 
$lang['test_hello'] = "hola";

 

Controlador

system/application/controllers/test.php

<?php
class Test extends Controller {

	function index()
	{
		// Esto se podría poner en autoload
		$this->load->helper('language');
		$this->load->helper('url');

		// archivo de idioma
		$this->lang->load('test');

		$this->load->view('test');
	}
}

 

Vista

system/application/views/test.php

<p><?php echo lang('test_hello') ?></p>

 

Notas

Para obtener el idioma actual

$this->lang->lang();

 

Para cambiar de idioma

anchor($this->lang->switch_uri('en'),'English');

Página por defecto en CodeIgniter

0

Para asignar una página por defecto en tu instalación de CodeIgniter, es tan sencillo como ir a la carpeta config que se encuentra dentro de application y editar el archivo routes.php

En la línea 41 (si el archivo no ha sido modificado previamente) encontraréis $route['default_controller'] , donde tendréis que poner el controlador que queréis para que salga por defecto en vuestro dominio $route['default_controller'] = “controlador”

Este tutorial a sido muy básico, pero por algo se empieza.


Volviendo

0

Bueno, después de mucho tiempo, en los próximos días intentaré ir haciendo pequeños tutoriales de CodeIgniter.

Para los que no saben de lo que hablo, mejor no seguid leyendo, pero bueno, os comento algo. Es un framework de php, bastante ligero y potente, ahí queda eso.


10 consejos para ser ligero en 2012

0

1. El mejor dinero es el que no se necesita.
2. Si quieres ser feliz invierte en experiencias, no en cosas.
3. Ser ligero no es ser austero. Es viajar con poco equipaje por un mundo en continuo movimiento.
4. La ostentación ya no mola.
5. Probar es hoy fácil, rápido y barato. No intentes entender el mundo. Experimenta y aprende.
6. Lo barato es barato, no malo.
7. Asume los errores como parte del proceso; no te queda mas remedio que aprender constantemente.
8. Las personas somos excelentes máquinas de resolver problemas. Sacamos lo mejor de nosotros mismos en las situaciones difíciles.
9. No sabes cuáles son tus límites, pero sí sabes cuáles no lo son.
10. Las startups son una metáfora del Siglo XXI: rápidas y ligeras; prototipan y prueban en Mercado.

Por Javier Cuervo


Hacer una consulta mysql desde WordPress a una base de datos externa

0

Si eres de los que customizas mucho WordPress o simplemente necesitas hacer una consulta a una tabla externa de las bases de WordPress, entonces aquí tienes la solución.

Para ello tienes que utilizar la clase wpdb perteneciente a WordPress.

$dbh = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );

Para hacer una consulta, después de habernos conectado a la base de datos externa.

$my_table = 'tabla';
$query = "SELECT * FROM $mi_tabla";
$content = $dbh->get_results( $query );
if ( count($content) > 0 ) {
    foreach ( $content as $row ) {
        echo $row->info;
    }
}

Post navigation