Thread: Story.php
View Single Post
  #2  

Story.php

How comments work (story.php)

This is a small guide for anyone trying to learn about the current template, understand it, implement it and possibly give solutions to making it more efficient. It’s more of a walk through if you were looking at the code. Please download the latest code and unravel the secrets of Pligg.
 

Contents

story.php


It gets the ID or title and reads the data from the database.

Code:
 $link->read();
It uses assign to pass down values to the template For story.php, It is going to use story_center as the main center body

Code:
 $main_smarty->assign('tpl_center', $the_template . '/story_center'); 
 $main_smarty->display($the_template . '/pligg.tpl');
If you look at pligg.tpl, it is the basic layout of the whole page. It has {include file="$tpl_center.tpl"} which will include the body of the page.
In the case of story.php it will be story_center.tpl.

story_center.tpl



Code:
 $link->print_summary();
What this does it print the main text of the story (This will be covered in another text)
Further down the page you will see

Code:
 get_comments();
This is what prints all the comments in story.php
get_comments is declared in story.php, so back we go.

story.php


get_comments will retrieve all the comments which are the parent. It prints the parent first using $comment->print_summary($link); And then it finds all the comments that replied to the parent comment, and prints them using $comment->print_summary($link);
So we have

Parent Comment
-Child comment
-Child comment
-Child comment

Parent Comment
-Child comment
-Child comment

$comment->print_summary is declared in /libs/comment.php

/libs/comment.php


It reads the comment from the database using the $link that is passed from story.php

Code:
 if(!$this->read) return;
It assigns the values from the database to variables so they can be accessed by the template

Code:
 $smarty->assign('comment_id', $this->id);
 $smarty->assign('comment_author', $this->author);
 $smarty->assign('comment_link', $this->link);
Then it displays the comment using

Code:
 $smarty->display($the_template . '/comment_show.tpl');

Overview


Pligg.tpl is the main layout.
Story_center.tpl is the story layout which prints the story, get_comments, and shows the comment form
Comment_show.tpl is the layout of an individual comment.


Contributors: Yankidank, clubkb
Created by Yankidank, 09-03-2007 at 05:28 PM
Last edited by Yankidank, 09-12-2007 at 05:57 PM
1 Comments , 2531 Views