Oct 21

este es un truco que lei en el blog de mi amigo charlieman para que un solo wordpress, funcione para muchos blogs a la vez, esto trae muchas ventajas, ademas de usar solo un script de wordpress para varios blogs, tb puedes usar los mismos plufins y themes en todos los blgs independientemente de que en uno esté activado o no.

otra gran ventaja es las actualizaciones, ya que no hay necesidad de estar actualizar cada uno de tus blogs y solo es necesario actualizar un wordpress para que todos este? en la ultima version.

una mas es el espacio y el orden de tu hosting, que por ejemplo en Cpanel se desordena un monton al tener varios blogs y varios domnio.

ahora lo primero que se tiene que hacer es apintar todos los dominios y subdominios a nuestra instalacion de WP, en el caso de CPanel, colocar todos los dominios como Parked Domain (Dominio Aparcado). de esa forma todos los dominiosapuntaran al Public_html.

luego modificar el archivo wp-config.php y cambiar el area donde se colocan los datos del blog.

<?php
$sitename = strtolower( $_SERVER['SERVER_NAME'] );
if ( substr( $sitename, 0, 4 ) == ‘www.’ ) {
$sitename = substr( $sitename, 4 );
}
switch ( $sitename ) {
case ‘example.com’:
define(’DB_NAME’, ‘database’);
define(’DB_USER’, ‘dbuser’);
define(’DB_PASSWORD’, ‘dbpassword’);
define(’DB_HOST’, ‘localhost’);
define(’DB_CHARSET’, ‘utf8′);
define(’DB_COLLATE’, ”);
$table_prefix = ‘blog1_’;
define (’WPLANG’, ‘es_PE’);
break;
case ‘juanperez.example.com’:
define(’DB_NAME’, ‘database’);
define(’DB_USER’, ‘dbuser’);
define(’DB_PASSWORD’, ‘jpass’);
define(’DB_HOST’, ‘localhost’);
define(’DB_CHARSET’, ‘utf8′);
define(’DB_COLLATE’, ”);
$table_prefix = ‘wp_’;
define (’WPLANG’, ‘es_PE’);
break;

case ‘defaulthost.com’:
define(’DB_NAME’, ‘database2′);
define(’DB_USER’, ‘dbuser2′);
define(’DB_PASSWORD’, ‘jpass2′);
define(’DB_HOST’, ‘localhost’);
define(’DB_CHARSET’, ‘utf8′);
define(’DB_COLLATE’, ”);
$table_prefix = ‘wp_’;
define (’WPLANG’, ‘es_PE’);
break;
default:
define(’DB_NAME’, ‘anotherdb’);
define(’DB_USER’, ‘anotheruser’);
define(’DB_PASSWORD’, ‘anotherpass’);
define(’DB_HOST’, ‘anotherhost.net’);
define(’DB_CHARSET’, ‘utf8′);
define(’DB_COLLATE’, ”);
$table_prefix = ‘wp_’;
define (’WPLANG’, ‘en_GB’);
break;
}

define(’ABSPATH’, dirname(__FILE__).’/');
require_once(ABSPATH.’wp-settings.php’);
?>

una comparacion con el wordpress Mu es que en este la instalacion es bien complicada a comparacion del WP normal. ademas que el WP Mu solo funciona con un domino y cera subdominios por cada blog, mientras que con este metodo puedes tener cualauier domino o subdomino con un solo WP

si te das cuenta tambien puedes usar diferentes bases de datos y diferentes idiomas.

yo uso este sistema para administar mis blogs y me funciona perfecto

Escrito Por Enrique Sardon \\ tags: , , , ,

Oct 14

No!!! no es el movimiento de vida cristiana xD!!! sino se trata de una nueva forma de trabajar con PHP y facilita el desarrollo de aplicaciones grandes! pero que es??

MVC->Modelo Vista Controlador

con esta forma de trabajar se separa el código PHP del HTML y se consigue usando Frameworks que soporten esta forma de trabajar tipo el ZendFramework y codeIgniter, que son muy buenos, el gran problema es aprender la forma de trabajar que es totalmente diferente. por ejemplo:

un programa en PHP normal se escribiría con el código PHP mezclado con el HTML, mientras que con MVC trabajas de forma separada, preocupándote solo por el código aparte del HTML.

Ademas ara trabajar de forma MVC tienes que respetar unas estructuras impuestas por los mismos desarrolladores del Framework usando las mejores practicas para el desarrollo de aplicaciones WEB. por ejemplo en Zend Frameork, se trabaja de la siguiente Forma:

  • apps -> aquí van los datos del proyecto
    • controllers -> los controladores con todo el código y la lógica
    • Views -> Las Vistas con la parte de HTML
    • layout -> una especie de plantilla general  en HTML
    • helpers -> código que te te puede servir de ayuda en tu aplicación
  • config -> archivos de configuración que tal vez necesites
  • public -> el directorio que se va a publicar, es el único que se ve y tiene acceso directo
  • library -> aquí se guardan algunas clases que tal vez puedas llegar a necesitar

Por supuesto también se tiene que incluir el ZendFramwork, pero lo puedes hacer desde otro lugar o sino haciendo un enlace simbólico dentro de library.

como puedes ver toda la lógica se va a los controllers y el diseño se va a los views, haciendo un uso mas optimo del sistema, ademas así se inicia el desarrollo multicapa.

espero que les sirva

Escrito Por Enrique Sardon \\ tags: , , , , , ,

Jun 29

magpierss es una librería de PHP que te permite obtener datos de feeds RSS, RDF y RSS2 asi que trabaja con los tipos mas conocidos de feds. Esta librería hace facil el parseo(decodificacion,traduccion del XML), ara eso solo es necesario bajrse la libreria de su archivo en Sourceforge y descomprimirla en el directorio donde estas trabajando tu proyecto, para esto la libreria trae muchos archivos en su comprimido, pero mychos de ellos osn solo ejemplos, solo nos quedaremos con los archivos .inc y el directorio extlib.

bueno empecemos creando un index.php en el cual estará nuestro primer feed obtenido. este index.php contendra:

<?php
require(’rss_fetch.inc’);
$rss = fetch_rss(’http://supra-net.org/feed’); //este es el feed de mi blog
?>

con eso ya esta todo,con eso ya obtuvimos el feed y lo podemos usar en forma de arreglo o colocarlo  genericamente en nuestra página:

De Forma Generica:

<?php
include(’rss_fetch.inc’);

$rss = fetch_rss(’http://supra-net.org/feed‘);
echo ‘<pre>’;
print_r($rss);
echo ‘</pre>’;
?>

En Forma de Arreglo:

include ‘rss_fetch.inc’;

$url = ‘http://supra-net.org/feed’;
$rss = fetch_rss($url);

echo “Site: “, $rss->channel['title'], “<br>
“;
foreach ($rss->items as $item ) {
$title = $item[title];
$url = $item[link];
echo “<a href=$url>$title</a></li><br>
“;
}

En este ultimo ejemploprimero se muestra el titulo de la web de donde se sacó el feed, luego recorre todos los items del feed, para despues mostrar el titulo del item que linkea al articulo, real.

ahora hagamos algo mas innteresante:

<?php
include(’rss_fetch.inc’);

// Set error reporting for this
error_reporting(E_ERROR);

// Obtenemos el Feed RSS
$rss = fetch_rss(’
http://supra-net.org/feed‘);

if ($rss)
{

// coloca los 5 primeros Items a un nuestro arreglo
$items = array_slice($rss->items, 0, 5);

// explora todos los Items en el arreglo
foreach ($items as $item )

{
// obtenemos la URL, Título y descripción de cada Item obtenido
echo ‘<li><a href=”‘.$item['link'].’”>’.$item['title'].’</a> - ‘.$item['description'].’</li>’;
}
}
else
{
//si es que hay un error o no hay nada en el feed, muestra el error
echo ‘<h2>Error:</h2><p>’.magpie_error().’</p>’;
}

// Restaura el Valor Original del error
@ini_restore(’error_reporting’);
?>

Se Pueden hacer un monton de cosas con el el magpierss, toda la documentacion está en su web, y hay una serie de HowTo, pero estan en ingles.

Escrito Por Enrique Sardon \\ tags: , , ,