Система CMS

Автор: Пользователь скрыл имя, 13 Марта 2012 в 21:41, дипломная работа

Описание работы

Процесс создания сайта требует от разработчика определённого набора знаний в области программирования, проектирования дизайна, если цель – создание оригинального продукта со спектром оригинальных функций.

Работа содержит 1 файл

Записка CMS.doc

— 1.70 Мб (Скачать)

                                          echo '<li class="article"><h3><a href="?page=article&amp;id='.$art_list['id'].'">'.$art_list['title'].'</a></h3><br>

                                          '.$art_list['date'].' | '.$cats[$art_list['category_id']]['name'].' <br>

                                          '.$art_list['description'].'</li>';

                                          }

                            }

 

              echo "</ul>";

}

//Указан id статьи

//Функция print_article определена в view.php как обычно

elseif ((isset($_REQUEST['id'])) && (@$_REQUEST['page'] == "article"))

              {

              //Печатаем статью

              echo '<h2>'.print_article("title").'</h2>

              <hr><br>

              <p>'.print_article("content").'</p>';

              }

 

echo $content;

/*

В $content у нас пока записывается содержание

статичных страниц (about), если они запрашиваются.

По умолчанию - пустая строка (см. index.php).

*/             

 

###### Постраничная навигация  ######

/*

(ARTCLS_PER_PAGE - число статей на страницу - задается в index.php).

$artcl_count - общее число статей или кол-во статей в данной категории,

если она указана; считается в view.php.

*/

 

//Если список статей больше, чем можно выводить на одну стр.

if (@$artcl_count > ARTCLS_PER_PAGE) {

              get_navi(); //Функция вывода навигации так же объявлена в view.php

}

?>

</td></tr></table>

View.php

<?php

################# Функции вывода статей ##################################

 

if ((@$_REQUEST['page'] == "article") && (!isset($_REQUEST['id'])))

{

$category_mb =""; //для постраничной навигации нужно

$cats = get_categories($cs=get_cat_list()); //Получаем категории (норм массив)

 

//считаем общее количество статей для постраничной навигации

$artcl_count = 0;

 

 

//Границы выборки (пропустить $start, взять $stop записей)

 

if (isset($_REQUEST['list'])) //Если в ссылке передана страница

              $start = ($_REQUEST['list']-1)*ARTCLS_PER_PAGE;

else

              $start = 0;

$stop = ARTCLS_PER_PAGE;

 

              if (!isset($_REQUEST['category_id'])) //Категория не указана

              //Выбираем из бд все записи, начиная с последней

              {

              $result = mysql_query("

              SELECT *, UNIX_TIMESTAMP(stamp) AS stamp

              FROM te_article

              ORDER BY stamp DESC LIMIT $start, $stop

              ") or die(mysql_error());

 

              for ($db=array(); $row2=mysql_fetch_assoc($result); $db[]=$row2);

 

              foreach ($cats as $sc)

              {

              $artcl_count = $artcl_count + $sc['cat_count'];

              }

 

              }

              else

              {             

              //список статей заданной категории             

              $result = mysql_query("

              SELECT *, UNIX_TIMESTAMP(stamp) AS stamp

              FROM te_article WHERE category_id = '".$_REQUEST['category_id']."'

              ORDER BY stamp DESC LIMIT $start, $stop

              ") or die(mysql_error());

              for ($db=array(); $row2=mysql_fetch_assoc($result); $db[]=$row2);

 

              $subtitle = $cats[$_REQUEST['category_id']]['name'].' | '. $subtitle; //Формируем заголовок

              $category_mb = '&category_id='.$_REQUEST['category_id'].''; //Для постр-ой навигации

              $artcl_count = $cats[$_REQUEST['category_id']]['cat_count'];//Количество статей (для того же)

              }

}

 

elseif ((isset($_REQUEST['id'])) && (@$_REQUEST['page'] == "article"))

{

//Одна запись

                            $sql = mysql_query("SELECT * FROM te_article WHERE id='".$_REQUEST['id']."'");

                            $article = mysql_fetch_assoc($sql);

 

function print_article ($cont) { //Функция вывода статьи

                            global $article;

                            if (isset($article['id'])) {

                                          if ($cont == "title")  return $article['title'];

                                          if ($cont == "content") return $article['content'];

                                          if ($cont == "meta_key_words") return $article['meta_key_words'];

                                          if ($cont == "meta_description") return $article['meta_description'];

                                          }

                            else {

                            return "Ошибка";

                            }

              }

$subtitle = $article['title'].' | '. $subtitle; //Формируем заголовок

}

 

 

#### Постраничная навигация  #####

 

function get_navi() {

global $artcl_count;

 

              if (!isset($_REQUEST['list'])) $_REQUEST['list'] = 1;

 

              //Получаем число страниц

              $page_list = ceil($artcl_count/ARTCLS_PER_PAGE);

 

              echo '<p><ul><div class="pagination">';

              if($_REQUEST['list'] > 1) echo '<a href="?page=article'.$category_mb.'&amp;list='.($_REQUEST['list']-1).'"><<-</a> ';

              $shortlist = array();

 

              //Список страниц записываем в массив $shortlist

              for ($i=1; $i<=$page_list; $i++) {

                            if (@$_REQUEST['list'] == $i) $shortlist[] = ' <span class="cur">| '.$i.'</span> ';

                            else $shortlist[] = ' | <a href="?page=article'.$category_mb.'&amp;list='.$i.'">'.$i.'</a> ';

              }

 

              //Обрезаем лишнее, в случае длинного списка.

              if($page_list > 15) {

                            //Обрезаем слева от текущей страницы

                            if ($_REQUEST['list'] > 6) {

                                          for ($j=2; $j<$_REQUEST['list']-3; $j++)

                                                        if ($shortlist[$j-2] == "." || $shortlist[$j-2] == "") $shortlist[$j] = '';

                                                        elseif ($shortlist[$j-2] !== ".") $shortlist[$j]='.';

                            }

                            //И справа.

                            if ($_REQUEST['list'] < ($page_list-5)) {

                                          for ($k=$_REQUEST['list']+2; $k<($page_list-2); $k++)

                                                        if ($shortlist[$k-2] == "." || $shortlist[$k-2] == "") $shortlist[$k] = '';

                                                        elseif ($shortlist[$k-2] !== ".") $shortlist[$k]='.';

                            }

              }

              //Выводим полученный список страниц.

              foreach ($shortlist as $shl)

                            echo $shl;

 

 

              echo '| '; //Ссылка на следующую стр.

              if($_REQUEST['list'] < $page_list) echo '<a href="?page=article'.$category_mb.'&amp;list='.($_REQUEST['list']+1).'">->></a> ';

              echo'</div></ul></p>';

 

}

 

?>


Приложение 2

Рис.2.2 Страница регистрации

 

Рис.2.3 Список статей

Рис.2.4 Оформление статьи на сайте

 



Информация о работе Система CMS