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']); } if (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
Commentaires
Aaah, mais c'est très utile ça !!
Par contre quand on est déjà dans un sous rep c'est pas mal le bazar, après la home, on revient au design par défaut :(
GrOlivier,
Tu peux détailler ton problème ? de préférence sur le forum Dotclear.
Euh non, c'est pas tout... ;-)
Si vous utilisez des règles de Rewrite dans un .htaccess pour avoir des jolies URLs sans le "index.html?", n'oubliez pas de dupliquer ce fichier dans le nouveau dossier et de modifier la directive RewriteBase pour refléter son nom (dans l'exemple ici : RewriteBase /mobile). Sinon seule la page d'accueil fonctionnera !
Note : pour un code compatible dotclear 2.2, utiliser $blog->settings->system->theme, au lieu de $blog->settings->theme