Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2008-05-29 20:51:48

franek
Membre
Lieu : paris
Inscription : 2004-07-20

install multiblog - variable dynamique dans public_path et themes_path

bonjour,

J'ai cherché un peu mais je n'ai pas trouvé de solution à mon problème.

Petite explication :
J'ai une installation multiblog sur un serveur dédié. Chaque blog est hébergé dans le répertoire /home/<user>/public_html/index.php
Chaque blog a un virtual host dédié (en utilisant le mod_macro de apache) avec le document_root suivant /home/<user>/public_html

Exemple :
* toto.mondomaine.com pointe sur /home/toto/public_html/index.php (identifiant du blog : toto)
* roger.mondomaine.com pointe sur /home/roger/public_html/index.php (identifiant du blog : roger)

Le nom de l'utilisateur unix porte donc le nom de l'identifiant du blog et est identique à son virtual host.
Tout fonctionne très bien et j'en suis très satisfait.

J'ai juste un point qui me chagrinne (orthographe ?). Lorsque je crée un nouveau blog, je suis obligé de modifier le public_path et le themes_path via about:config pour y mettre :
/home/<user>/public_html/public et /home/<user>/public_html/themes

N'y aurait-il pas une variable dynamique contenant l'identifiant du blog à l'image des variables "{y}: year, {m}: month, {d}: day, {id}: post id, {t}: entry title" utilisées pour post_url_format ?

En supposant que cette variable existe et qu'elle se nomme {u}, je pourrais ainsi mettre de manière globale la valeur /home/{u}/public_html/public ?

Pour le moment, j'ai peu de blog mais si ça vient à grossir, cela me simplifierait la vie.

Peut-être avez-vous des conseils à me donner dans l'organisation de mon système de fichiers.

Merci,

Hors ligne

#2 2008-05-30 07:31:26

olivier
Administrator
Inscription : 2004-10-11

Re : install multiblog - variable dynamique dans public_path et themes_path

Il y a un handler appelé coreBlogConstruct qui permet (entre autre) de changer les settings d'un blog juste après son initialisation.

Le mieux c'est de mettre cette behavior dans le fichier config.php (ou un fichier que celui-ci inclura). Comme $core n'existe pas encore à ce moment, il existe $__top_behaviors. Dans la conf, ça donnerai environ ça :

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

function maFonction($blog) {
  $blog->themes_path = '/home/blogs/'.$blog->id.'/themes';
  $blog->public_path = '/home/blogs/'.$blog->id.'/public';
}

La seule difference entre un fou et moi, c'est que je ne suis pas fou. (Dali)

Hors ligne

#3 2008-05-30 19:44:37

franek
Membre
Lieu : paris
Inscription : 2004-07-20

Re : install multiblog - variable dynamique dans public_path et themes_path

Merci Olivier pour ta réponse. Je viens de tester. Cela fonctionne très bien.

Dans mon cas, j'ai utilisé le code suivant dans le fichier config.php

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

function modifConfig($blog) {
  $blog->themes_path = '/home/'.$blog->id.'/public_html/themes';
  $blog->public_path = '/home/'.$blog->id.'/public_html/public';
}

Par contre, c'est un peu déroutant car la configuration de themes_path et public_path dans "about:config" n'est pas modifiée.
De plus, Je peux modifier les valeurs dans about:config mais elles ne sont pas prises en compte (et c'est compréhensible).

Merci,

Hors ligne

#4 2008-05-30 20:27:04

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : install multiblog - variable dynamique dans public_path et themes_path

C'est peut-être possible de mettre les bons chemins dans les paramètres avec adminAfterBlogCreate ?

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map