Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Аля шаблонизатор. как подгружать части шаблона

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP
 
Автор Сообщение
Светозар

Участник тусовки


Зарегистрирован: 20.02.2010
Сообщения: 354
Откуда: Москва

СообщениеДобавлено: Вт Мар 13, 2012 3:33 pm    Заголовок сообщения: Аля шаблонизатор. как подгружать части шаблона
Ответить с цитатой

И так, index.php
Код:
<?php
//////////////////////////////////////////////////////////////////////////////
// * RUS PROject. Free  Start-UP Content Management System Word Project    //
// * http://WordProject.RU/                                       //
// * Author: Svetozar Kolesnikov. Russian Web-Masters (Personal-Blog.NET)   //
// * Назначение index.php: Главная страница                           //
//////////////////////////////////////////////////////////////////////////////

// Обсолютный путь
$WordProject_path = dirname(__FILE__) . '/';

// Подключение файл фонфигурации
include_once $WordProject_path . 'system/data/config.inc.php';
include_once $WordProject_path . 'system/data/bd.conf.php';



// Подключаем переменные
include ('system/functions/theme.php');




// {headers}
$headers = '<title>RUS PROject. Free  Start-UP Content Management System Word Project </title>';


// Модуль ТОП новостей
$topnews = 'ТОП новостей';


// Модуль Авторизации
$login = 'форма входа';

$content = 1;



$WordProject_Theme = str_replace(
               
               
array('{headers}','{THEME}','{topnews}','{login}','{content}'),
array($headers, $WrodProject_['temp_url'], $topnews, $login, $content),



file_get_contents($WrodProject_['temp_url'] . 'main.tpl'));


echo  $WordProject_Theme;

         
         
   




?>



Всё выводится, но теперь стоит вот такая проблема!
Как вывести вместо {content} шаблон краткой новости? Делаю так, не работает. Что не так?
Код:
<?php
//////////////////////////////////////////////////////////////////////////////
// * RUS PROject. Free  Start-UP Content Management System Word Project    //
// * http://WordProject.RU/                                       //
// * Author: Svetozar Kolesnikov. Russian Web-Masters (Personal-Blog.NET)   //
// * Назначение index.php: Главная страница                           //
//////////////////////////////////////////////////////////////////////////////

// Обсолютный путь
$WordProject_path = dirname(__FILE__) . '/';

// Подключение файл фонфигурации
include_once $WordProject_path . 'system/data/config.inc.php';
include_once $WordProject_path . 'system/data/bd.conf.php';



// Подключаем переменные
include ('system/functions/theme.php');


function content() {
   // Вводим глобальные переменные
   global $url_id;
   global $title;
   global $cat_id;
   global $description;
   global $keywords;
   global $short_news;
   global $full_news;
   global $view;
   global $author;
   global $date;
   global $mini_img;
   global $images;
   global $full_link_on;
   global $full_link_off;
   
         
         $WordProject_result = mysql_query("SELECT `id`,`title`,`date`,`mini_img`,`short_news`,`author`,`view` FROM `posts` WHERE  cat=2  ORDER BY id DESC ",$db);
         $WordProject_row = mysql_fetch_array($WordProject_result);
   
          // Устанавливаем значения переменных полученных из БД
          $id_news          = $WordProject_row['id'];
          $title            = $WordProject_row['title'];
          $cat_id          = $WordProject_row['cat_id'];
          $description       = $WordProject_row['description'];
          $keywords         = $WordProject_row['keywords'];
          $short_news       = $WordProject_row['short_news'];
          $full_news       = $WordProject_row['full_news'];
          $view             = $WordProject_row['view'];
          $author          = $WordProject_row['author'];
          $date             = $WordProject_row['date'];
          $mini_img          = $WordProject_row['mini_img'];
         
         
         
         
         $images = "<img class='size-auto frame' width='760' height='300'  src='$mini_img' />";

         $full_link_on = "<a href='posts/$url_id.news'>";
         $full_link_off = "</a>";
   
   
   
   $WordProject_Theme_short_news = str_replace(
               
               
array('{title}','{date}','{short-story}','{id_news}','{view}','{author}','{mini_img}','[full-link]','[/full-link]'),
array($title, $date, $short_news, $id_news, $view, $author, $images, $full_link_on, $full_link_off),



file_get_contents($WrodProject_['temp_url'] . 'shortstory.tpl'));


$content =   $WordProject_Theme_short_news;
   
   
   
   
   
   
   
   
}

content();


$content = $content;



$WordProject_Theme = str_replace(
               
               
array('{headers}','{THEME}','{topnews}','{login}','{content}'),
array($headers, $WrodProject_['temp_url'], $topnews, $login, $content),



file_get_contents($WrodProject_['temp_url'] . 'main.tpl'));


echo  $WordProject_Theme;

         
         
   




?>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13742
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Мар 13, 2012 3:35 pm    Заголовок сообщения:
Ответить с цитатой

Видимо действительно что-то не так ) Например зачем эта строчка

$content = $content;
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Светозар

Участник тусовки


Зарегистрирован: 20.02.2010
Сообщения: 354
Откуда: Москва

СообщениеДобавлено: Вт Мар 13, 2012 3:40 pm    Заголовок сообщения:
Ответить с цитатой

$content = $content; осталась с момента, когда

function ()....
$content = 1;
....
}


$content = $content;

А как тогда?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number
Светозар

Участник тусовки


Зарегистрирован: 20.02.2010
Сообщения: 354
Откуда: Москва

СообщениеДобавлено: Вт Мар 13, 2012 3:41 pm    Заголовок сообщения:
Ответить с цитатой

content();
$content = $WordProject_Theme_short_news;


не работает... Уже весь гугл перелазил и учебник твой, и других атворов...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13742
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Мар 13, 2012 3:46 pm    Заголовок сообщения:
Ответить с цитатой

А не проще ли шаблонизатор поменять? В моем учебнике есть простой шаблонизатор - как раз для твоих нужд
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Светозар

Участник тусовки


Зарегистрирован: 20.02.2010
Сообщения: 354
Откуда: Москва

СообщениеДобавлено: Вт Мар 13, 2012 3:48 pm    Заголовок сообщения:
Ответить с цитатой

так у меня с ним такая же проблема будет! ДА и опять переделывать все мои наработки ............ Crying or Very sad

Может тут поможешь? Просто не допираю, как функцию в переменную превратить? Arrow Arrow
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13742
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Мар 13, 2012 3:51 pm    Заголовок сообщения:
Ответить с цитатой

Функцию невозможно превратить в переменную, это как превратить телевизор в роутер или наоборот. Присвоить значение функции переменной можно так:

$content = func();

Лучше чтобы функция и переменная назывались по-разному, у тебя переменная $content и функция content(). Но все равно ты присваиваешь $content = $content. Телевизор = телевизор. Понятно?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Светозар

Участник тусовки


Зарегистрирован: 20.02.2010
Сообщения: 354
Откуда: Москва

СообщениеДобавлено: Вт Мар 13, 2012 3:57 pm    Заголовок сообщения:
Ответить с цитатой

окей:
Код:

$content = function content() {
   // Вводим глобальные переменные
   global $url_id;
   global $title;
   global $cat_id;
   global $description;
   global $keywords;
   global $short_news;
   global $full_news;
   global $view;
   global $author;
   global $date;
   global $mini_img;
   global $images;
   global $full_link_on;
   global $full_link_off;
   
         
         $WordProject_result = mysql_query("SELECT `id`,`title`,`date`,`mini_img`,`short_news`,`author`,`view` FROM `posts` WHERE  cat=2  ORDER BY id DESC ",$db);
         $WordProject_row = mysql_fetch_array($WordProject_result);
   
          // Устанавливаем значения переменных полученных из БД
          $id_news          = $WordProject_row['id'];
          $title            = $WordProject_row['title'];
          $cat_id          = $WordProject_row['cat_id'];
          $description       = $WordProject_row['description'];
          $keywords         = $WordProject_row['keywords'];
          $short_news       = $WordProject_row['short_news'];
          $full_news       = $WordProject_row['full_news'];
          $view             = $WordProject_row['view'];
          $author          = $WordProject_row['author'];
          $date             = $WordProject_row['date'];
          $mini_img          = $WordProject_row['mini_img'];
         
         
         
         
         $images = "<img class='size-auto frame' width='760' height='300'  src='$mini_img' />";

         $full_link_on = "<a href='posts/$url_id.news'>";
         $full_link_off = "</a>";
   
   
   
   $WordProject_Theme_short_news = str_replace(
               
               
array('{title}','{date}','{short-story}','{id_news}','{view}','{author}','{mini_img}','[full-link]','[/full-link]'),
array($title, $date, $short_news, $id_news, $view, $author, $images, $full_link_on, $full_link_off),



file_get_contents($WrodProject_['temp_url'] . 'shortstory.tpl'));


echo  $WordProject_Theme_short_news;
   
   
   
   
   
   
   
   
};



не работает. С кавычками тоже !
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number
Светозар

Участник тусовки


Зарегистрирован: 20.02.2010
Сообщения: 354
Откуда: Москва

СообщениеДобавлено: Вт Мар 13, 2012 3:58 pm    Заголовок сообщения:
Ответить с цитатой

Светозар писал(а):
окей:
Код:

$content = function cont() {
   // Вводим глобальные переменные
   global $url_id;
   global $title;
   global $cat_id;
   global $description;
   global $keywords;
   global $short_news;
   global $full_news;
   global $view;
   global $author;
   global $date;
   global $mini_img;
   global $images;
   global $full_link_on;
   global $full_link_off;
   
         
         $WordProject_result = mysql_query("SELECT `id`,`title`,`date`,`mini_img`,`short_news`,`author`,`view` FROM `posts` WHERE  cat=2  ORDER BY id DESC ",$db);
         $WordProject_row = mysql_fetch_array($WordProject_result);
   
          // Устанавливаем значения переменных полученных из БД
          $id_news          = $WordProject_row['id'];
          $title            = $WordProject_row['title'];
          $cat_id          = $WordProject_row['cat_id'];
          $description       = $WordProject_row['description'];
          $keywords         = $WordProject_row['keywords'];
          $short_news       = $WordProject_row['short_news'];
          $full_news       = $WordProject_row['full_news'];
          $view             = $WordProject_row['view'];
          $author          = $WordProject_row['author'];
          $date             = $WordProject_row['date'];
          $mini_img          = $WordProject_row['mini_img'];
         
         
         
         
         $images = "<img class='size-auto frame' width='760' height='300'  src='$mini_img' />";

         $full_link_on = "<a href='posts/$url_id.news'>";
         $full_link_off = "</a>";
   
   
   
   $WordProject_Theme_short_news = str_replace(
               
               
array('{title}','{date}','{short-story}','{id_news}','{view}','{author}','{mini_img}','[full-link]','[/full-link]'),
array($title, $date, $short_news, $id_news, $view, $author, $images, $full_link_on, $full_link_off),



file_get_contents($WrodProject_['temp_url'] . 'shortstory.tpl'));


echo  $WordProject_Theme_short_news;
   
   
   
   
   
   
   
   
};



не работает. С кавычками тоже !
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13742
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Мар 13, 2012 3:59 pm    Заголовок сообщения:
Ответить с цитатой

Написал тебе в личку
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Светозар

Участник тусовки


Зарегистрирован: 20.02.2010
Сообщения: 354
Откуда: Москва

СообщениеДобавлено: Пн Янв 14, 2013 4:48 pm    Заголовок сообщения:
Ответить с цитатой

вернусь к шаблонизатору, только уже другому. Суть:
Код:
   include_once ('templates/template.php');
  //подключаем файл нашего шаблонизатора
  $main = new zTemplates();

 $main->set('{THEME}', '/templates/iTemplate/');
   $main->set('{TITLE}', 'MySITE');
  echo $main->design('templates/iTemplate/main.tpl');


Если заменить пути в main.tpl на {THEME}, то всё работает, а если так:
Код:
 
  include_once ('templates/template.php');
  //подключаем файл нашего шаблонизатора
  $main = new zTemplates();

 $main->set('{THEME}', '/templates/iTemplate/');
   $main->set('{TITLE}', 'MySITE');

unction CONTENT() {

  $content = new zTemplates();
  $content->set('{menu}', 'Контент сайта.');
 return $content->design('templates/iTemplate/short_news.tpl');
  }
   $main->set('{CONTENT}', CONTENT());


echo $main->design('templates/iTemplate/main.tpl');


то тег {THEME} - не обрабатывается, а все остальные, например {menu} работает. Ну не могу я понять почему так. Всё остальное же работает...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number
Anderson

Завсегдатай


Зарегистрирован: 08.07.2006
Сообщения: 642
Откуда: localhost

СообщениеДобавлено: Чт Янв 17, 2013 3:08 pm    Заголовок сообщения:
Ответить с цитатой

Светозар, используй include в шалонах. По-моему, не очень хороший тон генерить куски отдельно
_________________
ArchLinux + Enlightenment 17 (E17)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение anderson.dunai@gmail.com Моб. телефон ICQ Number
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис