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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Философия шаблонов 
:(
    Опции темы
Gold Dragon
Дата 25.10.2005, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Меня в последнее время стал волновать один вопрос, какие есть варианты шаблонов?
Я делаю сейчас так
Код

function head_up($copyr,$descr,$keyw,$title) {
return <<<EOF
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>{$title}</title>
<meta name="Copyright" content="{$copyr}">
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="description" http-equiv="Description" content="{$descr}">
<meta name="keywords" http-equiv="keywords" content="{$keyw}">
<LINK REL="SHORTCUT ICON" HREF="/favicon.ico">
<link rel="STYLESHEET" type="text/css" href="style.css">
</head>
<body>
EOF;
}

function index() {
return <<<EOF
<table width="100%">
   <tr class="fon1"><td align="center">...</td></tr>
</table>
EOF;
}

потом есть какие то такие (CMS e107)
Код

...
$HEADER = "
<div style='text-align:center'>
<table class='border' style='width:90%;' cellspacing='3'>
<tr>
<td class='tdram' style='width:15%; vertical-align: top;'>
{SETSTYLE=leftmenu}
{SITELINKS=menu}
{MENU=1}
</td><td class='tdram' style='width:70%; vertical-align: top;'>
";
...


а какие ещё варианты есть? И какие лучше?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 25.10.2005, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Вариантов столько сколько разными способами ты строку можешь записать.
PM ICQ   Вверх
Gold Dragon
Дата 25.10.2005, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Ну может есть какие-то стандартные, наработанные годами, опытом и практикой


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
izOne
Дата 25.10.2005, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 22.8.2003
Где: Украина, Киев

Репутация: 3
Всего: 4



... XSLT ...
Те шаблоны, пример которых ты привел, ориентированы на (x)html. Когда появиться задача на преобразование документа в pdf, xul, rss etc. с такими вариантами будет трудно работать.
--------------------
Успех ждет каждого, но иногда всю жизнь.
PM Jabber   Вверх
Gold Dragon
Дата 25.10.2005, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



izOne
а почему? Эти шаблоны используют CMS, а они преобразовывают легко в pdf, rss и т.п.

а приведи примеры как XSLT используется


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 25.10.2005, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



izOne а разница. Тут же вопрос в том, как их в ПХП хранить.
PM ICQ   Вверх
izOne
Дата 25.10.2005, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 22.8.2003
Где: Украина, Киев

Репутация: 3
Всего: 4



Red Dragon
Цитата
izOne
а почему? Эти шаблоны используют CMS, а они преобразовывают легко в pdf, rss и т.п.


Хм... CMS, нсколько я понимаю, система управления контентом. Т.е. размещение информации на сервера, ее обработка и отдача. Слово шаблон здесь вообще не встречается.

Цитата
Ну может есть какие-то стандартные, наработанные годами, опытом и практикой


Ключевое слово - стандартные. Не знаю ни одной CMS, в котрой шаблоны стандартизированы. XSLT - стандарт W3C.


Mal Hack
Цитата
izOne а разница. Тут же вопрос в том, как их в ПХП хранить.

Извини, но совсем не понял этой фразы smile Хранить шаблоны в PHP? PHP должен выдавать данные, как минимум. Эти данные могут преобразовываться в понятный человеку вид либо сервером(PHP), либо клиентским ПО(например браузером).


Red Dragon
По поводу примера... ну пусть будет такой простой:
Код

            // ^ AdminModulesInfo
            $mods = $this->getModulesAll();
            if(false !== $mods  && is_array($mods)){
                $box = &$this->domCreateNode('box', array('boxId' => 'AdminModulesInfo'), null);
                foreach($mods AS $mid => $array){
                    $this->domAppendChild($box, $this->domCreateNode(
                        'module',
                        array(
                            'mid'    => $mid,
                            'ext'    => $array['ext'],
                            'int'    => $array['int'],
                            'state'    => $array['state'],
                            'order' => $array['order'],
                            'href'    => $this->bu.'?mid='.$mid.'&act=Default',
                            'selected' => $this->arg['mid'] == $mid ? 'true' : 'false'
                        ),
                        $array['name']
                    ));
                }
                $this->domAppendNode($box, '//application/content');
            }
            // $ AdminModulesInfo

Трансформация в xhtml:
Код

<xsl:template match="box[@boxId='AdminModulesInfo']/module">
    <xsl:choose>
        <xsl:when test="./@selected = 'true'">
            <option value="{@href}" selected="selected">&nbsp;&raquo;&nbsp; <xsl:value-of select="." /> </option>
        </xsl:when>
        <xsl:otherwise>
            <option value="{@href}">&nbsp;&raquo;&nbsp; <xsl:value-of select="." /> </option>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>


IMHO, надо начинать абстрагироваться от условности сервер-браузер-html... Давно есть понятия RPC, WEB2.0, XUL ну и далее по списку,... и мыслить в сторону "Internet - это платформа для разработки".
--------------------
Успех ждет каждого, но иногда всю жизнь.
PM Jabber   Вверх
Mal Hack
Дата 25.10.2005, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(izOne @ 25.10.2005, 22:15)
Извини, но совсем не понял этой фразы smile Хранить шаблоны в PHP? PHP должен выдавать данные, как минимум. Эти данные могут преобразовываться в понятный человеку вид либо сервером(PHP), либо клиентским ПО(например браузером).

Я так понял у Дракона вопрос в том, как хранить сами шаблоны.
PM ICQ   Вверх
izOne
Дата 25.10.2005, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 22.8.2003
Где: Украина, Киев

Репутация: 3
Всего: 4



Mal Hack
Хранить в текстовых файлах :) в UTF-8.

Как мне кажеться вес эти шаблонизаторы - надуманные, не практичные и не логичные. Практически(а может и полностью) во всех жестко задана струткура внутри скриптов. Например, сли есть block2 внутри block1, то его уже нельзя будет разместить снаружи block1. Отсюда одинаковый дизайнерские решния(хидер, три колонки, подвал) для систем типа mambo, drupal и еже с ними.

Эти шаблонизаторы напоминают MS Word - работать с документом *.doc только в MS Word.
Насколько я знаю Office2003, а также открытые офисные пакеты используют XML для хранения данных. И что-то мне подсказывает, что при отображении используется xslt-трансфорамция(возможно я сильно заблуждаюсь и ошибаюсь).
PM Jabber   Вверх
Sardar
Дата 25.10.2005, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Цитата(izOne @ 25.10.2005, 20:45)
И что-то мне подсказывает, что при отображении используется xslt-трансфорамция(возможно я сильно заблуждаюсь и ошибаюсь).

Это заблуждение что XSLT трансформирует в что угодно, включая PDF. Нет, XSLT трансформирует любой XML в любой XML. Например твои данные в XSL FO, который затем уже может быть отработан renderx, fop и подобными в PDF, либо в любой другой формат.

Оффис сохраняет документ с структуру удобную для отрисовки, трансформаций по моему он не делает.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Irokez
Дата 26.10.2005, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



http://dklab.ru/chicken/nablas/16.html
здесь неплохо описаны виды шаблонов..
PM   Вверх
Gold Dragon
Дата 26.10.2005, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Цитата(izOne @ 25.10.2005, 21:15)
Хм... CMS, нсколько я понимаю, система управления контентом. Т.е. размещение информации на сервера, ее обработка и отдача. Слово шаблон здесь вообще не встречается.

Может я и правда не так выразился... в CMS есть шаблоны/скины/шкурки/темы - в называй как угодно. Обячно это один файл (типа скелет html), файл стилей и картинки. Вот меня и интересует какую лучше структуру выбрать или скажу по другому, плюсы и минусы.

вот примеры:

- форум IPB использует кучу своеобразных скина. Это набр функций в которую передают переменные (контекст) и которая возвращает HTML-код

- CMS Mambo: один HTML-файл в который вставлены модули типа этого <?PHP MOSLOADMODULES ( 'USER1' ); ?> которые можно по смоему усмотрению помещать в любое место, тем самым легко менять дизайт и расположение тех или иных элементов

- CMS e107: тоже один файл, но это что то среднее между двумя описанными выше.

Вот что я имею в виду...

Irokez
статья интересная, но очень всё кратко, особенно про "шаблонизатор"


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
izOne
Дата 26.10.2005, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 22.8.2003
Где: Украина, Киев

Репутация: 3
Всего: 4



Sardar
Ты прав, да. Но тогда встечный вопрос: насколько трудоемким будет процесс создания pdf-версии странички того же IPB, CMS Mambo, CMS e107 и им подобных?


Irokez
По-моему такие статьи уже были написаны лет этак 5 назад. IMHO такие "шабоны" не должны использоваться.


Sardar
Цитата
Оффис сохраняет документ с структуру удобную для отрисовки, трансформаций по моему он не делает.

Чесно скажу - не знаю как там обстоят дела с офисными пакетами...., но: браузер тоже занимается отрисовкой! Ведб ему можно "скормить" данные XML, подгрузить соответсвенный лист стилей(XSL) и получить отрисованный данные. А если еще вспомнить что есть SVG(тоже XML)?...
--------------------
Успех ждет каждого, но иногда всю жизнь.
PM Jabber   Вверх
izOne
Дата 26.10.2005, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 22.8.2003
Где: Украина, Киев

Репутация: 3
Всего: 4



Red Dragon
Цитата
в CMS есть шаблоны/скины/шкурки/темы


скин(шкурка) = css, тема = css + структура и размещение информационных блоков на странице(xsl)
css к шаблонам не относиться. xsl = шаблон(xhtml, print-версия xhtml, xul, rss, etc.).

Струтуру папок шаблонов каждый выбирает сам для себя - тут нет каких-то стандартов.
Например:

./xhtml/ - Язык разметки
default/ - Тема по умолчанию
default.css - Скин
green.css - Скин
grey.css - Скин
ui/ - Шаблоны для различных модулей
news.xsl
shop.xsl
maximum/ - тема с страницами большого обьема, флэш
default.css
ui/
news.xsl
shop.xsl
print/ - версия для печати
default.css
black.css
./xul/ - Для пользоваетлей браузеров на движке Gecko
ui/
news.xsl
shop.xsl
./seo/ - Для поисковых машин

и т.д. и т.п
--------------------
Успех ждет каждого, но иногда всю жизнь.
PM Jabber   Вверх
Gold Dragon
Дата 26.10.2005, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



izOne
вот ты расписал... это всё условности... ты же понял про что я говорю smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW 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.0953 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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