Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Класс для создания templates, разработка 
:(
    Опции темы
Cepera
Дата 25.1.2003, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



вот... собственно хочу предложить разработать некий класс, который легко позволит дергать HTML-темплейты и вставлять туда необходимые переменные...

нечто вроде классов, используемых на пхпББ форумах...

Есть ли желающие, если наберем хотя бы 3х, то за дело можно будет взяться smile.gif


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 26.1.2003, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



я - желающий


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Cepera
Дата 26.1.2003, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



ок, завтра кое-что уже тогда положу... саму мыслю smile.gif


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
Kefir
Дата 26.1.2003, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



Я бы тоже не отказался поучавствовать. Только сразу говорю опыту у меня о-о-о-очень мало... confused.gif
PM MAIL WWW Skype   Вверх
Wowa
Дата 26.1.2003, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Я тоже участвую smile.gif Правда, мой ПХП еще не особо хороший smile.gif
PM WWW   Вверх
Cepera
Дата 27.1.2003, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



Код

// Наименование класса
class Templates {

// Внутреннее имя класса
var $classname = 'Templates';

// Переменная для хранения загружаемого темплейта
var $TemplatesData = array();

// Основная диреткория темплейтов
var $maindir = '.';
// Установим в ту же диреторию, где лежит и сам файл с классом.

// Конструктор класса
function Templates($maindir = './')
{ $this->SetMaindir($maindir); }

// Деструктор класса
function TemplatesDestroy()
{ $this->TemplatesData = array(); }

// Установка начальной, основной директории темплейта
function SetMaindir($dir) {
 if (!is_dir($dir)) return false;
 $this->maindir = $dir;
 return true;
}
}


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


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
Cepera
Дата 27.1.2003, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



В принципе, все уже есть для инфы... для этого ввели массив $TemplatesData, подгружать в него все можем... а как насчет вывода?


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 27.1.2003, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



разметка html шаблона - мои предложения:
1) html комментарии (<!-- -->),
если будет какая-то ошибка (т.е. не будет подставленно нужное значение), то для пользователя это останется незаметным (скорее всего).
Код
<html>
<head>
<title><!--@title--></title>
<!--@metas-->
</head>
<body bgcolor="<!--@background-->">
итд...

2) имена переменных, которые надо заменить на их значения, предшествуемые какими-то спец.символами
Код
<html>
<head>
<title>!@title@!</title>
!@metas@!
</head>
<body bgcolor="!@background@!">
итд...



--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
MuToGeN
Дата 27.1.2003, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



по скорости будет одинаково (если замену делать через substr_replace)


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Cepera
Дата 27.1.2003, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



все через собачек вводить?.. хм...
я думал все что начинается на бакс ($) кроме последовательностей \$, чтобы не возникало проблем с обдумыванием... чтобы синтаксис как стандартный был...


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 27.1.2003, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



с html комментариями тоже идея не очень была, SSI навеяло... если все имена переменных расставить нормально, то в крайнем случае они будут заменены пустой строкой, а по тем переменным, которые не будут заменены на значения, искать ошибки.

с баксом привычнее, полностью согласен.

еще надо что-то сообразить для циклов (к примеру, вывод постингов в этом форуме - когда пишешь шаблон, неизвестно ведь, сколько их будет)


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
MuToGeN
Дата 27.1.2003, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



что-то типа
Код

<tr><td colspan='2'>$subj, $subjPostDate</td></tr>
<!--loop name=postingsOutput begin-->
<tr>
<td>$author<br><img src='$avatar'></td>
<td>$date<br>$text</td>
</tr>
<!--loop name=postingsOutput end-->
<tr><td colspan='2'>Quick reply:</td></tr>
...
...



--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Cepera
Дата 27.1.2003, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



Цитата
еще надо что-то сообразить для циклов (к примеру, вывод постингов в этом форуме - когда пишешь шаблон, неизвестно ведь, сколько их будет)

что-то не понял идею, ну-ка объясни?


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 27.1.2003, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Цитата
что-то не понял идею, ну-ка объясни?
простейший пример - гостевая книга. если писать для нее шаблон, то надо точно знать, сколько будет записей:
Код

$author[0], $date[0]:<br>$text[0]<hr>
$author[1], $date[1]:<br>$text[1]<hr>
$author[2], $date[2]:<br>$text[2]<hr>
$author[3], $date[3]:<br>$text[3]<hr>
$author[4], $date[4]:<br>$text[4]<hr>
кстати, массивы тоже надо будет учесть...
в этом варианте будут 5 записей. будет меньше - будут отображены пустые записи, больше - будут отображены первые 5...
Код

<!--loop name=gbRecords start-->
$author, $date:<br>$text<hr>
<!--loop name=gbRecords end-->

это конечно просто так работать не будет, все это должно обрабатываться скриптом. но если оно будет обработано нормально, то пользователю будет выдано ровно столько записей, сколько нужно


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
MuToGeN
Дата 27.1.2003, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



другая аналогия, с той же гостевой книгой:
Код
$r=mysql_query("SELECT * FROM guestbook;");
$row=mysql_fetch_array($r);
echo "$row[author], $row[date]:<br>$row[text]<hr>\n";
$row=mysql_fetch_array($r);
echo "$row[author], $row[date]:<br>$row[text]<hr>\n";
$row=mysql_fetch_array($r);
echo "$row[author], $row[date]:<br>$row[text]<hr>\n";
$row=mysql_fetch_array($r);
echo "$row[author], $row[date]:<br>$row[text]<hr>\n";
$row=mysql_fetch_array($r);
echo "$row[author], $row[date]:<br>$row[text]<hr>\n";
и второй вариант:
Код
$r=mysql_query("SELECT * FROM guestbook;");
while($row=mysql_fetch_array($r))
 echo "$row[author], $row[date]:<br>$row[text]<hr>\n";
думаю, комментарии не требуются


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0988 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.