Aanpassen comment script

Status
Niet open voor verdere reacties.

verpeer

Gebruiker
Lid geworden
19 jun 2008
Berichten
5
Ik heb een vraagje over een comment script. Ik heb een standaard script van scriptsmill.com gedownload. Ik krijg op elke pagina andere comments te zien, werkt helemaal super, niks op aan te merken.

Toch zou ik met een soort tellertje willen bijhouden hoeveel mensen een comment hebben geplaats per pagina. Je ziet het wel eens vaker op websites: bv. comments (10), en als ze er op klikken gaan ze naar de desbetreffende pagina waar ze hun berichten kunnen plaatsen.

Mijn vraag voor alle hardcore php'ers is dit standaard script aan te passen?

alvast bedankt!


R. Vermeer
 
Laatst bewerkt door een moderator:
Is het alleen maar een comments-script? Niet iets van een nieuws-script?
In de templates zie ik een variabele $comment_count, ik denk dat die genoeg doet...
 
Het is alleen een comment script. Verder moet ik bekennen dat ik zelf helemaal niets van php afweet. wat moet er met count gebeuren?
 
Meestal is een comment-systeem gekoppeld aan een nieuws-systeem.
Waar gebruik je die comments voor dan?

Overigens is dit de inhoud uit de default.php zoals ik die heb gedownload van de site welke je geeft.
PHP:
<?

// Please don't modify or delete the copyright notice. Doing that is a violation of GPL.

print<<<EOF
<style type="text/css">
div#usernotes {
	background-color: transparent;
}
div#usernotes div.head, div#usernotes div.foot {
	background-color: transparent;
	padding: 4px;
}
div#usernotes div.foot {
	text-align: right;
}
div#usernotes div.foot a, div#usernotes div.head a {
	background-color: transparent;
}
div#usernotes span.action {
	float: right;
}
div#usernotes div.note {
	margin-left: 2em; 
	margin-right: 2em; 
	border-bottom:1px dashed;
	padding: 4px;
}
div#usernotes div.text {
	padding: 2px;
	margin-top: 4px;
}
</style>

<div id="usernotes">
 <div class="head">
 <H3>{$COM_LANG['header']}</H3>
 </div>
EOF;

 if ($comments_count) {
  for($i=0; $i<$comments_count; $i++) {
   if ($dont_show_email[$i] != '1' && $email != '') { $author[$i] = "<a href=\"mailto:{$email[$i]}\">{$author[$i]}</a>"; }
   $text[$i] = str_replace(chr(13), '<br />', $text[$i]);
   
   print<<<EOF
 <div class="note">
  <strong>{$author[$i]}</strong><br />
  <small>{$time[$i]}</small>
  <div class="text">
  {$text[$i]}
  </div>
 </div>
EOF;
  
  }
 }
 else {
   print<<<EOF
 <div class="note">
  <div class="text">
  {$COM_LANG['no_comments_yet']}
  </div>
 </div>
EOF;
 }
 
print<<<EOF
 <div class="foot">
		<form method=POST action='{$COM_CONF['script_url']}'>
	              <input type=hidden name="action" value="add">
		      <input type=hidden name="href" value="{$_SERVER['REQUEST_URI']}">
		  <table width="290" border="0" cellspacing="1" cellpadding="2" align="center">
		    <tr> 
		      <td width="83" align="right"><font color="red">*</font>{$COM_LANG['Name']}: 
		        </td>
		      <td width="196" align="left">
		        <input type=text name="disc_name" maxlength=40 size=30>
		        <input type=hidden name="r_disc_name" value="{$COM_LANG['r_disc_name']}">
		        </td>
		    </tr>
		    <tr> 
		      <td width="83" align="right">{$COM_LANG['E-mail']}:</font></td>
		      <td width="196" align="left">
		        <input type="Text" name="disc_email" size="30" maxlength="70">
		        </td>
		    </tr>
		    <tr> 
		      <td width="83"></td>
		      <td width="196" align="left">
			<input type="checkbox" name="email_me"><font size=2><nobr>{$COM_LANG['Notify']}</nobr></font><br>
			<input type="checkbox" name="dont_show_email" CHECKED><font size=2><nobr>{$COM_LANG['Dont_show_email']}</nobr></font><br>
		        </td>
		    </tr>
		    <tr> 
		      <td valign="top" width="83" align="right"> 
		        <font color="red">*</font>{$COM_LANG['Text']}:
		      </td>
		      <td valign="top" width="196" align="left">
		        <textarea name="disc_body" cols="40" rows="13" wrap="VIRTUAL"></textarea>
		        <input type=hidden name="r_disc_body" value="{$COM_LANG['r_disc_text']}">
		        </td>
		    </tr>
		    <tr> 
		      <td valign="top" width="83" align="right">&nbsp; </td>
		      <td valign="top" width="196">
		        <div align="center">
		          <input type="submit" name="Submit" value="{$COM_LANG['Submit']}">
		          </div>
		      </td>
		    </tr>
		  </table>
		</form>
		<!-- ScritsMill Comments Copyright Notice -->
          Powered by  <a href="http://www.scriptsmill.com/comments.html">Scriptsmill Comments Script</a>
		<!-- /ScritsMill Comments Copyright Notice -->
 </div>
</div>
EOF;

?>
Hierin staat een variabele $comments_count

Het lijkt mij dat deze het aantal bijhoudt. Bovenin staat ergens deze regel
PHP:
if ($comments_count) {
Maak daar dit van
PHP:
if ($comments_count) {
  echo 'Comments ('. $comments_count .')';

Ik denk dat daarmee het aantal wordt getoond.
 
Ik wil en pagina maken waarop verschillende stukje tekst staan. Als je dan onderaan het tekstje op de link comments klikt moet deze naar het volledige bericht gaan op een andere pagina waar gereageerd kan worden.

Graag zou ik in een oogopslag willen zien hoeveel er al gereageerd is doormiddel van z'n tellertje.
 
Ik weet wat je wilt, maar denk niet dat het met dit script zo makkelijk gedaan als je denkt.

Zoals ik zei is het gebruikelijker dat er een nieuws-systeem om heen zit. Nu is er geen referentie naar een bepaald bericht. Alle comments komen in 1 database zonder dat je een selectie kunt maken.

Ik denk dat je meer hebt aan een script als WordPress.
 
Ik hoef elke keer maar 1 code in te voeren op een nieuwe php pagina. Als ik via de admin in de database kijk zie ik per pagina bv. nieuws1.php, nieuws2.php een appart linkje met alle berichten. Daar kan ik ze verwijderen, ips bannen etc.

Dan gebruikt ie toch wel verschillende bestanden per pagina?
 
Ik zie niet in hoe deze database structuur daar aan mee gaat helpen :confused:.

Mijn advies is om een blog-script te downloaden, veel handiger in gebruik en heeft deze optie standaard.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan