Amir Mohammad Rivand Ответов: 0

Как сделать разбиение на страницы для новостей с помощью PHP


Привет, я использую этот php-класс для шаблонного движка :
<?php
    class Template {
       protected $file;
        protected $values = array();
        public function __construct($file) {
            $this->file = $file;
        }
        public function set($key, $value) {
            $this->values[$key] = $value;
        }
        public function output() {
            if (!file_exists($this->file)) {
            	return "Error loading template file ($this->file).<br />";
            }
            $output = file_get_contents($this->file);
            
            foreach ($this->values as $key => $value) {
            	$tagToReplace = "[@$key]";
            	$output = str_replace($tagToReplace, $value, $output);
            }

            return $output;
        }
        static public function merge($templates, $separator = "\n") {
            $output = "";
            
            foreach ($templates as $template) {
            	$content = (get_class($template) !== "Template")
            		? "Error, incorrect type - expected Template."
            		: $template->output();
            	$output .= $content . $separator;
            }
            
            return $output;
        }
        public function newConnection($table,$name,$w,$wt){            
            $Query = mysql_query("SELECT * FROM {$table} WHERE {$w} = {$wt} ORDER BY id DESC");               
     $Arrays.$name = array();      
     while($row = mysql_fetch_array($Query,MYSQL_ASSOC)){
        $Arrays.$name[] = $row; 
        }
        }
    }

?>

и эти методы, чтобы получить сведения, как index.php :
<?php
	    
    // Start POSTS
     $postQuery = mysql_query("SELECT * FROM posts ORDER BY id DESC");               
     $postArrays = array();      
     while($rows = mysql_fetch_array($postQuery,MYSQL_ASSOC)){
        $postArrays[] = $rows; 
        }                     
	foreach($postArrays as $post) {
		$row = new Template("{$tpl_dir}/post.tpl");		
		foreach ($post as $key => $value) {
			$row->set($key, $value);
		}
		$postsTemplates[] = $row; 
	}    
	$postsContents = Template::merge($postsTemplates);
	$header = new Template("{$tpl_dir}/header.tpl");
    $header->set("title",$stitle);
    $header->set("stylesheet","{$tpl_dir}/style.css");
    $sidebar = new Template("{$tpl_dir}/sidebar.php");
    ob_start(); getCount();
    $sidebar->set("static",ob_get_clean());
    ob_start(); getCat();
    $sidebar->set("category", ob_get_clean());
    $ads = new Template("{$tpl_dir}/ads.tpl");
    $ads->set("tempurl",$tpl_dir);
    $footer = new Template("{$tpl_dir}/footer.tpl");
    $index  = new Template("{$tpl_dir}/index.tpl");
    $index->set("header", $header->output());
    $index->set("ads", $ads->output());
    $index->set("sidebar", $sidebar->output());
	$index->set("posts", $postsContents);        
    $index->set("footer", $footer->output());    
		
	echo $index->output();
	
?>

и этот файл как пост основной дизайн :
<article class="post">
    <div class="wrapper">
<header><span>[@title]</span>
<ul class="post-info">
<li class="date">[@pdate]</li><li class="category">[@category]</li>
</ul>
</header>
<div class="pbod">
[@content]
</div>
<footer>
<a href="more.php?id=[@id]" title="[@title]" class="more">ادامه مطلب</a>
</footer>
</div>
</article>

но я не знаю, как сделать разбиение на страницы для этой новости, я знаю, как разбить ее на страницы в php, но я не знаю, как разбить ее на страницы в классе шаблонов!!! так кто же может мне помочь?!

Что я уже пробовал:

я ничего не могу попробовать, потому что недавно начал изучать php

0 Ответов