Gabarit article et commentaire
Bonjour,
je viens de remarquer que si j'utilise un template différent pour un de mes articles, la fonction de calcul du nombre de commentaire "pète un cable"...
je m'explique :
j'ai mis en place / réadapté le "tuto" de frederic pour pouvoir faire une shoutbox (tuto Webradio/dédicaces) sur mon site. pour cela, j'ai créé un article "chat" qui me sert à collecter les messages, article dont je change le template, par un plus light sans sa section article_content, mais juste avec un include pour la page commentairechat.php, page de lecture des commentaires elle aussi modifiée légèrement (juste le texte, pas le php..).
code de article-chat.php :
contenu de la page statique chatbox :
de la même façon, si un article contient des coms et que la chatbox n'en contient pas, le pb s'inverse et c'est le formulaire de commentaire de la chatbox qui bug...
un souci de comptage des articles??
je précise que l'article chatbox est dans sa propre catégorie, tandis que mes autres articles sont dans d'autres catégories..
des idées??
mon site : http://srpulz.fr
je viens de remarquer que si j'utilise un template différent pour un de mes articles, la fonction de calcul du nombre de commentaire "pète un cable"...
je m'explique :
j'ai mis en place / réadapté le "tuto" de frederic pour pouvoir faire une shoutbox (tuto Webradio/dédicaces) sur mon site. pour cela, j'ai créé un article "chat" qui me sert à collecter les messages, article dont je change le template, par un plus light sans sa section article_content, mais juste avec un include pour la page commentairechat.php, page de lecture des commentaires elle aussi modifiée légèrement (juste le texte, pas le php..).
code de article-chat.php :
<?php include(dirname(__FILE__).'/header.php'); # On insere le header ?>
<?php include(dirname(__FILE__).'/sidebar.php'); # On insere la sidebar ?>
<div class="news_haut"></div><div class="news_fond"><!-- Cadre de News -->
<span class="titre"><?php $plxShow->artTitle('link'); ?></span>
<?php include(dirname(__FILE__).'/commentairechat.php'); # On insere les commentaires ?>
</div><div class="news_bas"></div><!-- Fin Cadre de News -->
<?php include(dirname(__FILE__).'/footer.php'); # On insere le footer ?>
code de commentairechat.php :
<?php if(!defined('PLX_ROOT')) exit; ?>
<?php # Si on a des commentaires ?>
<?php if($plxShow->plxMotor->plxGlob_coms->count): ?>
<div id="comments">
<?php while($plxShow->plxMotor->plxRecord_coms->loop()): # On boucle sur les commentaires ?>
<div id="<?php $plxShow->comId(); ?>" class="comment type-<?php $plxShow->comType(); ?>">
<blockquote>
<p class="info_comment">Le <?php $plxShow->comDate('#num_day #month #num_year(4) à #hour:#minute'); ?>, <?php $plxShow->comAuthor('link'); ?> a dit :</p>
<p class="content_com"><?php $plxShow->comContent() ?></p>
</blockquote>
</div>
<?php endwhile; # Fin de la boucle sur les commentaires ?>
<?php # On affiche le fil Atom de cet article ?>
<!--
<div class="feed_article">
<?php $plxShow->comFeed('atom',$plxShow->artId()); ?>
</div>
-->
</div>
<?php endif; # Fin du if sur la prescence des commentaires ?>
<?php # Si on autorise les commentaires ?>
<?php if($plxShow->plxMotor->plxRecord_arts->f('allow_com') AND $plxShow->plxMotor->aConf['allow_com']): ?>
<div id="form">
<span class="titre_com_form">Ecrire un message</span>
<p class="message_com"><?php $plxShow->comMessage(); ?></p>
<form action="<?php $plxShow->artUrl(); ?>#form" method="post">
<fieldset>
<div class="form_left">
<label>Nom :</label>
<input name="name" type="text" size="20" value="<?php $plxShow->comGet('name',''); ?>" maxlength="30" />
<label>Site (facultatif) :</label>
<input name="site" type="text" size="20" value="<?php $plxShow->comGet('site',''); ?>" />
<label>E-mail (facultatif) :</label>
<input name="mail" type="text" size="20" value="<?php $plxShow->comGet('mail',''); ?>" />
</div>
<label class="lab_com">Commentaire :</label>
<textarea name="content" cols="35" rows="4"><?php $plxShow->comGet('content',''); ?></textarea><br /><br />
<label><strong>Vérification anti-spam</strong> :</label>
<p class="button">
<?php # Affichage du capcha anti-spam
if($plxShow->plxMotor->aConf['capcha']): ?>
<?php $plxShow->capchaQ(); ?> : <input name="rep" type="text" size="5" />
<input name="rep2" type="hidden" value="<?php $plxShow->capchaR(); ?>" /><br />
<?php endif; # Fin du if sur le capcha anti-spam ?>
<span class="buttons"><input type="reset" value="Effacer" /> <input type="submit" value="Envoyer" /></span>
</p>
</fieldset>
</form>
</div>
<?php endif; # Fin du if sur l'autorisation des commentaires ?>
une page statique contenant un formulaire me permet d'envoyer directement des messages dans la chatbox, page statique elle-aussi avec un template différent (le contenu de cette page est ci-dessous, suivi de son template).contenu de la page statique chatbox :
<?php
if(!defined('PLX_ROOT')) exit;
# Notre capcha
$capcha = new plxCapcha();
# Nos variables
if($_POST['rep2'] == md5($capcha->gds.$_POST['rep'])) ;
?>
<div id="form">
<form action="http://srpulz.fr/article2/chatbox#form" method="post">
<fieldset>
<div class="form_left">
<label>Nom:</label>
<input name="name" type="text" size="20" value="" maxlength="30" /><br />
<label>Site (facultatif) :</label>
<input name="site" type="text" size="20" value="" /><br />
<label>E-mail (facultatif) :</label>
<input name="mail" type="text" size="20" value="" /><br />
</div>
<label>Message:</label>
<textarea name="content" cols="35" rows="2"></textarea><br /><br />
<p class="button">
<?php echo $capcha->q(); ?> : <input name="rep" type="text" size="10" />
<input name="rep2" type="hidden" value="<?php echo $capcha->r(); ?>" />
<span><input type="submit" value="Envoyer" /></span>
</p>
</fieldset>
</form>
</div>
static-chat.php :
<?php if(!defined('PLX_ROOT')) exit; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title><?php $plxShow->pageTitle(); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=<?php $plxShow->charset(); ?>" />
<link rel="icon" href="<?php $plxShow->template(); ?>/images/favicon.png" />
<link rel="stylesheet" type="text/css" href="<?php $plxShow->template(); ?>/style.css" media="screen" />
</head>
<body>
<div id="conteneur2">
<div id="contenu2"><!-- Début #contenu -->
<div id="right2">
<div class="news_haut"></div><div class="news_fond"><!-- Cadre de News -->
<span class="titre"><?php $plxShow->staticTitle(); ?></span>
<div class="static"><?php $plxShow->staticContent(); ?></div>
</div><div class="news_bas"></div><!-- Fin Cadre de News -->
</div>
</div><!-- Fin #Contenu -->
</div><!-- Fin #Conteneur -->
</body>
</html>
le souci est le suivant : tant que l'article "chatbox" ne contient pas de commentaire, mes autres articles qui utilisent les templates par défaut (article.php et commenaires.php) affichent bien la section commentaires avec le formulaire. dès que j'ajoute un commentaire dans mon article "chatbox", les articles ne contenant pas encore de commentaire me renvoie l'erreur suivante :
Commentaires
Fatal error: Call to a member function loop() on a non-object in /var/www/site/themes/srpulz_v1/commentaires.php on line 6
pour les articles contenant déjà des commentaires, cela marche bien.de la même façon, si un article contient des coms et que la chatbox n'en contient pas, le pb s'inverse et c'est le formulaire de commentaire de la chatbox qui bug...
un souci de comptage des articles??
je précise que l'article chatbox est dans sa propre catégorie, tandis que mes autres articles sont dans d'autres catégories..
des idées??
mon site : http://srpulz.fr
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Merci de patienter ( sans flooder ) le temps qu'une solution soit proposée.
ce souci est plus que problématique, je ne vois pas d'où vient le problème...
d'ailleurs, les articles de toutes les catégories autre que chatbox ont le même comportement, dès que je publie un des commentaires de la catégorie chatbox...
une solution moche ( mais alors vraiment moche... mais bon) serait de créer un commentaire automatiquement à la création de l'article, mais je ne veux pas d'une telle roue de secours...
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
je l'utilise sur les pages d'articles classiques, mais pas tel quel (cf. modif du dessus) sur celle de l'article gérant la chatbox.
tous les autres articles, qqsoit leur catégorie (hormis la catégorie chatbox, à part pour des raisons évidentes de séparation et d'affichage), bug si ils n'ont pas d'articles.
merci de preter attention à mon post
d'où ma question: pourquoi un message d'erreur sur le fichier commentaires.php alors qu'il n'est pas utilisé
il y a quelque chose qui m'échappe là
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
il apparait si l'article "chatbox" (qui utilise comme tu l'as compris le gabarit "article-chat.php incluant "commentairechat.php") contient des commentaires, mais pas l'article qu'on est en train de visionner. (qui affiche donc le message).
dans l'autre sens, si l'article "chatbox" ne contient pas de commentaire, ce dernier affiche le même message d'erreur, mais plus les autres articles même si ils n'ont pas de commentaires !
enjoy
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)