Un blog, deux thèmes, deux URLs

Voici une méthode pour afficher son blog avec un thème différent de celui défini dans l'apparence de son blog sur une adresse spécifique.

Considérons que nous avons déjà un blog correctement paramétré à la racine de l'hébergement. L'URL du blog est de la forme

http://www.mondomaine.tld/index.php?

Nous souhaitons à l'adresse :

http://www.mondomaine.tld/mobile/index.php?

visualiser le même contenu du blog sous un thème différent.

Etape 1

Création du sous-répertoire chez l'hébergeur. Ici je créé un répertoire à la racine de mon hébergement que je nomme mobile.

Etape 2

Dans le dossier créé en étape 1, je créé un fichier index.php dont voici le contenu :

<?php
# -- BEGIN LICENSE BLOCK ----------------------------------
#
# This file is part of Dotclear 2.
#
# Copyright (c) 2003-2008 Olivier Meunier and contributors
# Licensed under the GPL version 2.0 license.
# See LICENSE file or
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- END LICENSE BLOCK ------------------------------------

if (isset($_SERVER['DC_BLOG_ID'])) {
        define('DC_BLOG_ID',$_SERVER['DC_BLOG_ID']);
} elseif (isset($_SERVER['REDIRECT_DC_BLOG_ID'])) {
        define('DC_BLOG_ID',$_SERVER['REDIRECT_DC_BLOG_ID']);
}else {
        # Define your blog here
        define('DC_BLOG_ID','default');
}

$__top_behaviors[] = array('coreBlogConstruct','modifConfig');

function modifConfig($blog) {
        $blog->url = 'http://www.mondomaine.tld/mobile/index.php?';
        $blog->settings->theme = 'blueSilence';
}

# attention au chemin ici :
require dirname(__FILE__).'/../inc/public/prepend.php';
?>

Et c'est tout :-)

En quelques mots, on écrase deux valeurs suite à la création de notre blog via le behavior coreBlogConstruct:

  • Le thème sélectionné : $blog->settings->theme
  • L'URL du blog : $blog>url

Il n'y a plus qu'à trouver des thèmes au format mobile dignes de ce nom.

Cette astuce a également été publiée pour les Tips de Dotaddict.

Vus : 347
Publié par Osku : 25