Hi!
Sorry, I'm just wading through this posting here, but I'm trying to reply to things that are still open. I'm really appreciating that you stay tuned here. You must understand that we developers sometimes may sound rude, even though we aren't - we just have a different set of understanding, so it takes us some time to adjust to the user's point of view when replying. This does not always work out, and if we sound like asking too much, we simply failed in adjusting ourselves. That you try to point us into the right direction is effectively and helpful!
First the easy things: Comment approval.
There are only two ways that comments need to be approved. The first is a "per-entry" setting of the checkbox that reads "Comments & trackbacks to this entry requires moderation". This option is crucial, and if it is checked, all comments to an entry need approval. The default setting of this option is set in the Personal Preferences, but if you change the option there it only applies to new postings you make. Changing it does not change the setting for posts you already made.
Once you checked that, Serendipity also delivers a Anti-Spam Plugin, the "Spam Protector". It can also be configured in ways that enable automatic moderation in certain cases. The plugin has a lot of options, so it would be nice of you to tell us your options. Then we can tell you which of them might affect approval of your entries. For instance, the age of an entry is relevant: By default, if an entry is older than 2 weeks, all comments to that entry get moderated.
Now on to the other thing, displaying your comments. As it was already pointed out, it is a template issue. Since you did not yet give us the URL to your blog nor mentioned the name of the template you're using, I'm going to assume you use the default template, and will make all code examples fit to that default template.
Have a look at your entries.tpl template file. By default of Serendipity 1.0.1 this is in /templates/carl_contest/entries.tpl. It has two major foreach loops that are used to go through each entry. The same template file is used no matter if you view the entry overview, or the entry detail page.
By default, only the entry detail page shows comments. What we need to change is that the overview page does show them.
The first step to modify this behaviour is to check how the comments are currently displayed. This relates to this piece of code:
Code: Select all
{if $is_single_entry and not $is_preview}
<div class="serendipity_comments serendipity_section_comments">
<br />
<a id="comments"></a>
<div class="serendipity_commentsTitle">{$CONST.COMMENTS}</div>
<div class="serendipity_center">{$CONST.DISPLAY_COMMENTS_AS}
{if $entry.viewmode eq $CONST.VIEWMODE_LINEAR}
({$CONST.COMMENTS_VIEWMODE_LINEAR} | <a rel="nofollow" href="{$entry.link_viewmode_threaded}#comments">{$CONST.COMMENTS_VIEWMODE_THREADED}</a>)
{else}
(<a rel="nofollow" href="{$entry.link_viewmode_linear}#comments">{$CONST.COMMENTS_VIEWMODE_LINEAR}</a> | {$CONST.COMMENTS_VIEWMODE_THREADED})
{/if}
</div>
<br />
{serendipity_printComments entry=$entry.id mode=$entry.viewmode}
{if $entry.is_entry_owner}
{if $entry.allow_comments}
<div class="serendipity_center">(<a href="{$entry.link_deny_comments}">{$CONST.COMMENTS_DISABLE}</a>)</div>
{else}
<div class="serendipity_center">(<a href="{$entry.link_allow_comments}">{$CONST.COMMENTS_ENABLE}</a>)</div>
{/if}
{/if}
<a id="feedback"></a>
{foreach from=$comments_messagestack item="message"}
<div class="serendipity_center serendipity_msg_important">{$message}</div>
{/foreach}
{if $is_comment_added}
<br />
<div class="serendipity_center serendipity_msg_notice">{$CONST.COMMENT_ADDED}</div>
{elseif $is_comment_moderate}
<br />
<div class="serendipity_center serendipity_msg_notice">{$CONST.COMMENT_ADDED}<br />{$CONST.THIS_COMMENT_NEEDS_REVIEW}</div>
{elseif not $entry.allow_comments}
<br />
<div class="serendipity_center serendipity_msg_important">{$CONST.COMMENTS_CLOSED}</div>
{else}
<br />
<div class="serendipity_section_commentform">
<div class="serendipity_commentsTitle">{$CONST.ADD_COMMENT}</div>
{$COMMENTFORM}
</div>
{/if}
</div>
{/if}
If you try to read this code, the first IF-statement means: "Show the following output, if you are viewing a single entry detail page, and you are not preview the page in the admin area".
Now, we need to change this IF-structure so that it means "Show the following output, no matter what you are viewing". Effectively, you simply remove the IF-part so that the section reads:
Code: Select all
<div class="serendipity_comments serendipity_section_comments">
<br />
<a id="comments"></a>
<div class="serendipity_commentsTitle">{$CONST.COMMENTS}</div>
<div class="serendipity_center">{$CONST.DISPLAY_COMMENTS_AS}
{if $entry.viewmode eq $CONST.VIEWMODE_LINEAR}
({$CONST.COMMENTS_VIEWMODE_LINEAR} | <a rel="nofollow" href="{$entry.link_viewmode_threaded}#comments">{$CONST.COMMENTS_VIEWMODE_THREADED}</a>)
{else}
(<a rel="nofollow" href="{$entry.link_viewmode_linear}#comments">{$CONST.COMMENTS_VIEWMODE_LINEAR}</a> | {$CONST.COMMENTS_VIEWMODE_THREADED})
{/if}
</div>
<br />
{serendipity_printComments entry=$entry.id mode=$entry.viewmode}
{if $entry.is_entry_owner}
{if $entry.allow_comments}
<div class="serendipity_center">(<a href="{$entry.link_deny_comments}">{$CONST.COMMENTS_DISABLE}</a>)</div>
{else}
<div class="serendipity_center">(<a href="{$entry.link_allow_comments}">{$CONST.COMMENTS_ENABLE}</a>)</div>
{/if}
{/if}
<a id="feedback"></a>
{foreach from=$comments_messagestack item="message"}
<div class="serendipity_center serendipity_msg_important">{$message}</div>
{/foreach}
{if $is_comment_added}
<br />
<div class="serendipity_center serendipity_msg_notice">{$CONST.COMMENT_ADDED}</div>
{elseif $is_comment_moderate}
<br />
<div class="serendipity_center serendipity_msg_notice">{$CONST.COMMENT_ADDED}<br />{$CONST.THIS_COMMENT_NEEDS_REVIEW}</div>
{elseif not $entry.allow_comments}
<br />
<div class="serendipity_center serendipity_msg_important">{$CONST.COMMENTS_CLOSED}</div>
{else}
<br />
<div class="serendipity_section_commentform">
<div class="serendipity_commentsTitle">{$CONST.ADD_COMMENT}</div>
{$COMMENTFORM}
</div>
{/if}
</div>
And that's already it. The other thread was actually about showing the CommentForm on the overview page, which was rather tricky to do. But what you want can be solved a bit easier, and I hope this is what you want.
Best regards,
Garvin