Vous n'êtes pas identifié(e).
13 février 2024 Sortie de Dotclear 2.29
Bonjour,
Je cherche a afficher des informations d'un forum type FluxBB sur Dotclear mais je suis coincé :/
J'ai crée dans mon thème un fichier avec le nom _fluxbb.html avec le contenu suivant :
<?php
define('PUN_ROOT', './forum/');
require PUN_ROOT.'include/common.php';
?>
<div class="submenu">
<h2>Dernières réponses</h2>
<ul class="lasttopics">
<?php
//On définit la constante pour le lien relatif vers le profil
define('PUN_REPLIES',10);
//C'est pas mal plus simple d'aller chercher les forums inaccessibles à l'utilisateur avant de faire le reste
if($pun_user['g_id'] != PUN_ADMIN) {
$req = $db->query('SELECT id
FROM '.$db->prefix.'forums
JOIN '.$db->prefix.'forum_perms ON forum_id=id
WHERE group_id='.$pun_user['g_id'].' AND read_forum=0');
$ids = array();
while($auth = $db->fetch_assoc($req))
{
$ids[] = $auth['id'];
}
if(count($ids) > 0) {
$sql = 'SELECT id,subject,num_replies,last_post,last_post_id,last_poster,forum_id
FROM '.$db->prefix.'topics
WHERE forum_id NOT IN ('.implode(',',$ids).')
ORDER BY last_post_id DESC LIMIT 0,'.PUN_REPLIES;
}
else {
$sql = 'SELECT id,subject,num_replies,last_post,last_post_id,last_poster,forum_id
FROM '.$db->prefix.'topics
ORDER BY last_post_id DESC LIMIT 0,'.PUN_REPLIES;
}
}
else {
$sql = 'SELECT id,subject,num_replies,last_post,last_post_id,last_poster,forum_id
FROM '.$db->prefix.'topics
ORDER BY last_post_id DESC LIMIT 0,'.PUN_REPLIES;
}
// Récupération des sonnées des derniers sujets
$result = $db->query($sql) or error('Unable to fetch replies list', __FILE__, __LINE__, $db->error());
while ($val = $db->fetch_assoc($result))
{
//On vérifie si la valeur de notre variable de préférence existe
if (!empty($pun_user['disp_posts']))
{
//dans ce cas, on simplifie nos variables pour la suite
$disp_posts = $pun_user['disp_posts'];
$num_replies = $val['num_replies'];
}
else //la valeur est vide, donc ce sera la valeur par défaut
{
$num_replies = $pun_config['o_disp_posts_default'];
$num_replies = $val['num_replies'];
}
//On affiche tout !
echo '<li><a href="'.PUN_ROOT.'viewtopic.php?id'.$val['id'].'&p='.ceil(($num_replies+1)/$disp_posts).'&pid='.$val['last_post_id'].'#'.$val['last_post_id'].'" rel="nofollow">'. $val['subject'].'</a> » ' .date('d/m/Y - H\:i',$val['last_post']) . $lang['lastposts_by'] .' '.$val['last_poster'].'</li>';
}
?>
</ul>
</div>
et collé dans mon thème sur le fichier home.html une include pour mon fichier d'information comme ceci:
{{tpl:include src="_fluxbb.html"}}
Mais rien ne s'affiche sachant que le même code dans un fichier a la racine www/fluxbb.php fonctionne correctement :/
le php est activé via about:config pour les templates qui fonctionne déjà pour un code d'installé s'achant que dotclear est installé a la racine:
www/
et le FluxBB:
www/forum
Une petite idée ?
Car je sèche :/
>> Discut.Biz Réseau IRC <<
Linux qui tombe en panne c’est un miracle, tout comme Windows qui tombe en marche...
Hors ligne
Je pense que PUN_ROOT est mal défini. Pour moi il devrait être:
define('PUN_ROOT', './../../../forum/');
si ton fichier _fluxbb.html se trouve dans www/themes/tonTheme/tpl
De plus, je ne suis pas sur du nom que doit porter ton fichier _fluxbb.html (ou _fluxbb.php) pour que php soit interprété
A+ Gilles
Hors ligne
Pour le chemin du forum j'ai fait de cette façon aussi mais j'ai toujours un blanc :/ après pour le nom du fichier j'ai test en php comme en html le problème reste le même.
>> Discut.Biz Réseau IRC <<
Linux qui tombe en panne c’est un miracle, tout comme Windows qui tombe en marche...
Hors ligne
Pourquoi ne pas utiliser le widget de lecture de flux ? FluxBB n'intègre pas un flux sans les forums privés ?
Hors ligne
Attention, les chemins à entrer sont relatifs au répertoire de cache dans lequel sera généré le template, modulo 2 répertoires.
Le fichier inclus sera positionné dans DC_TPL_CACHE/cbtpl/xx/yy, il faut donc calculer l'arborescence à partir de ce répertoire (donc remonter de 3 niveaux pour atteindre DC_TPL_CACHE, déjà), le plus simple étant de rentrer un chemin absolu.
Il faut par ailleurs autoriser le php dans les templates en positionnant la variable tpl_allow_php à oui dans about:config.
Dyslexics have more fnu!
Hors ligne
Pour le tpl_allow.php c'est fait pour le reste hum... je suis a la ramasse :°
>> Discut.Biz Réseau IRC <<
Linux qui tombe en panne c’est un miracle, tout comme Windows qui tombe en marche...
Hors ligne
il se trouve dans www/cache/
>> Discut.Biz Réseau IRC <<
Linux qui tombe en panne c’est un miracle, tout comme Windows qui tombe en marche...
Hors ligne
Fonctionne toujours pas du coup je me suis penché sur l'idée de Mathieu M. pour adapter le widgets mais une question sur le widgets, il est possible de donner une limite de caractères ?
Merci
Dernière modification par kipof (2013-12-30 13:43:57)
>> Discut.Biz Réseau IRC <<
Linux qui tombe en panne c’est un miracle, tout comme Windows qui tombe en marche...
Hors ligne
Si c'est une question de "look" et design, tu peux restreindre l'affichage du titre sur une ligne via CSS :)
Hors ligne
J'ai fait un truc mais me semble pas trop être ca :p
div#forum {
text-align : left;
margin-left: 0px;
width: 320px;
padding-top: 8px;
height: 270px;
overflow: hidden;
background: #ccc;
background: url(images/forum.png) right 0px no-repeat;
}
Dans le style.css et dans le fichier .html
<div id="forum">
{{tpl:Widgets type="custom"}}
</div>
et sur le coté gauche de mon block c'est trop collé : http://imagesup.org/images12/1388413108 … 13-12-.png
Me manque un truc non ? :p
EDIT : Du coup semble être ok vue qu'il prend la class .feed ^^ ( enfaite je sais pas trop le comment du pourquoi :°
Dernière modification par kipof (2013-12-30 15:31:52)
>> Discut.Biz Réseau IRC <<
Linux qui tombe en panne c’est un miracle, tout comme Windows qui tombe en marche...
Hors ligne
#forum ul {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
... devrait faire l'affaire :)
Pour les soucis de margin/padding, je te laisse te débrouiller ;)
Hors ligne
Merci bien, juste un petit problème avec la class .feed qui me colle mon feed.png au millieu de mon bloc grrr vue que le widgets utilise la class .feed
>> Discut.Biz Réseau IRC <<
Linux qui tombe en panne c’est un miracle, tout comme Windows qui tombe en marche...
Hors ligne
Vous n'êtes pas identifié(e).