Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Изменение редактора статей к книге PHP5
 
 автор: Boris   (19.01.2007 в 15:02)   письмо автору
 
 

Здравствуйте!
Зашел вот в тупик.
Пытаюсь переделать немного CMS к книге "Практика создания Web-сайтов".
Идея такая: любая страница сайта будет собираться из <DIV>'ов.
Соответственно добавил в таблицу paragraphes еще поле id_div, чтобы параграфы отображались в нудном блоке:


<body>
 <?
  
require_once("./admin/config.php");
  
$query="SELECT * FROM articles WHERE id_article=".$_GET['id_article']; ?>
 <div id="wrap">
  
  <div id="1">
  <? putarticle($_GET['id_article'], 100""); ?>
  </div>
  
  <div id="2">
  <? putarticle($_GET['id_article'], 200""); ?>
  </div>
  
  <div id="3">
  <? putarticle($_GET['id_article'], 300""); ?>
  </div>
  
   
 </div>
 
</body>

</html>
<?
function putarticle($id_article$id_div$pos$listbegin$begin_list)
  {
    
$query "SELECT * FROM paragraphes 
              WHERE id_article = 
$id_article AND id_div = $id_div AND pos = $pos";
    
$par mysql_query($query);
    if(
$par && mysql_num_rows($par)>0)
    {
      
$paragraph mysql_fetch_array($par);
      
// Закрытие списка
      
$end_list "";
      if(
$listbegin == 1)
      {
        if(!(
$paragraph['place'] == && $paragraph['type']=='paragraph'))
        {
           
$end_list "</ul>";
           
$listbegin 0;
        }
      }
      if(
$listbegin == 2)
      {
        if(!(
$paragraph['place'] == && $paragraph['type']=='paragraph'))
        {
           
$end_list "</ol>";
           
$listbegin 0;
        }
      }
      
// Определяем тип элемента (загаловок, параграф или ссылка)
      
switch($paragraph['type'])
      {
        case 
'title':
          
// Заголовок;
          // Назначаем тегам h1, h2, h3 и т.д. класс стилевой таблицы
          
if($paragraph['place'] == 1$cls "class=artnamepage";
          if(
$paragraph['place'] == 2$cls "class=artblockpage";
          if(
$paragraph['place'] == 3$cls "class=artzag";
          if(
$paragraph['place'] == 4$cls "class=artnamelisting";
          if(
$paragraph['place'] == 5$cls "class=artnametable";
          if(
$paragraph['place'] == 6$cls "class=artnamenote";
          
......


          
// Вывод параграфа
        
if ($paragraph['hide'] == 'show')  echo $strname;
        
// Рекурсивно вызываем функцию putarticle()
        
putarticle($id_article,
                   
$id_div,
                   
$paragraph['id_paragraph'],
                   
$listbegin,
                   
$begin_list);
     }
  }
?>


Как бы мне изменить функцию putarticle из папки admin, чтобы при добавлении коректно заполнялось поле pos в таблице paragraphes?

Ведь теперь нужно вести три независимых отчета, начиная от pos=0 для первого элемента каждого <div>'а....

   
 
 автор: cheops   (20.01.2007 в 02:35)   письмо автору
 
   для: Boris   (19.01.2007 в 15:02)
 

Не очень понятно какую роль выполняется слой? На каждую позицию теперь несколько слоёв?

   
 
 автор: Boris   (22.01.2007 в 07:32)   письмо автору
 
   для: cheops   (20.01.2007 в 02:35)
 

Идея такая:
В вашем варианте содержимое статьи выводится в одну колонку.
А если мне хочется разнообразить верстку страницы, например, часть вывести в левый столбец, часть в правый, часть вообще снизу и т.д.
Поэтому я сделал шаблон из слоев, а их взаимное расположение задам файлом CSS, который будет подключатся к основному в дополнение для каждой страницы с другой версткой.

   
 
 автор: cheops   (22.01.2007 в 11:22)   письмо автору
 
   для: Boris   (22.01.2007 в 07:32)
 

Т.е. каждый из параметров (дополнительным полем ENUM в таблице) помечается какому из слоёв он принадлежит?

   
 
 автор: Boris   (25.01.2007 в 12:54)   письмо автору
 
   для: cheops   (22.01.2007 в 11:22)
 

Спасибо за внимание ко мне.
Я уже решил эту проблему,
осталось динамическое меню пристегнуть :)
"Вывод дерева по щелчку"

Попробую показать скриншот того, что получилось:
Страница администрирования полностью повторяет дизайн соответствующей страницы сайта.
Каждый блок можно редактировать. (синие ссылки сверху).

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования