Форум -> Сделаю за мани! -> .. крутую шаблонную систему, как у меня на сайте | .. крутую шаблонную систему, как у меня на сайте |
---|
Sunvas | Дата: 27.12.2007, в 17:00 | Сообщение №1 | ПрофиПользователь №: 181 Сообщений: 554
| Не знаю, читали ли Вы тему http://www.slaed.net/forum/index.php?showtopic=13579 .. (но, если тему удалили, или не читали – она под прищепкой). Итак, увидев первое сообщение, меня очень расстроили фразы:
> Сколько можно уже заниматься улучшением шаблонов, когда система до сих пор остается крайне немобильной!
> Скажем в джумла я за 5 минут могу сверстать сайт любого шаблонного типа, здесь же чтобы переделать систему к виду отличному от 3 колонки нужно потратить минимум огромное количество времени, а нервов сколько
А именно меня задело, что сайты на слаед - это "три колонки".. Хотя там пэд и писал, что можно сделать любой дизайн, но, думаю если Вы хорошо знакомы с дизайнами под слаед-ы то поймете, что реально это "три колонки". Их может быть меньше трех (в админке отключается), но больше трех их сделать, увы… Да, Kentavr писал, что остальные дополнительные делаются файлблоками, и можно усовершенствовать систему двига, но это никому не нужно.. Что ж, по поводу, что блоки можно добавить при помощи «свободных» и «файлблоков» - согласен, но уверен, что это ужасно неудобно и по сути лишняя морока: все равно, что чесание левого уха правой ногой! А вот, что это никому не нужно – это бред. Приведу примеры (взяты из реальной жизни):
- «Как сделать уникальное оформление для одного блока, скажем в левой части?»
Конечно, можно ответить, что нужно создать файл block-Name.html или block-Id.html в папке тем. Но… если нужно создать несколько с одинаковым дизайном, едва ли вариант создания нескольких файлов будет оптимальным. К тому же, если код группы таких блоков храниться в БД, то имена файлов вида block-Id.html не есть информативными, т.е. если немного спустя Вы захотите изменить дизайн определенного блока – вам придется лезть в базу, чтобы узнать его id.
- «У меня на сайте люди хотят размещать рекламу. Я придумал сделать внизу и вверху места под нее. Но как при помощи Вашей системы создать еще одну группу блоков, чтобы можно было туда вешать блоки в зависимости от количества оплаченных дней? Делать это fly блоками – неудобно, придется каждый раз править тему.» Тоже самое, если человек хочет сделать себе сайт с 4мя колонками.
Если кто-то расскажет мне это вышеописанные пункты сделать изящно и без лишних телодвижений – буду благодарен.
Так вот… Увидев такую ограниченность в дизайне я задумался. Вот не мог уснуть - думал, как бы расширить функционал. (хэх.. кого-то же должны были тронуть строки из того сообщения. Ну пэд со своей подопечной сочли koren_blr-а неадекватным, а я вынес рациональное зерно.. хэх..) И есть две идеи - динамическое число блоков и статические участки. Естественно я их реализовал в своем двиге. Но может кто-то и себе такое захочет
1. Вся идея сводиться к разрушению стереотипов левых, правых, верхних и нижних блоков. Мне хотелось расширить данных спектр типов блоков до неограниченного - их число и тип определяет сам пользователь.
Теперь в моем двиге нет сталого "понятия", как левые, правые, верхние и нижние блоки! Теперь есть хорошее понятие "массив блоков". Т.е. в теме оформления, где необходимо вставить блоки, пишем {%BLOCKS [тип блока]%}. Во время генерации страницы, двиган тем ищет оформления для этих блоков в папке темы по маске файла Blocks[тип блока].html.
Например, в теме написано {%BLOKCS MyBlocks%}, значит двиган будет искать в папке темы файл BlockMyBlocks.html и брать из него дизайн, читать блок из базы или из файла, применять к нему этот дизайн и вставлять результат вместо {%BLOKCS MyBlocks%}.
Очень часто, при верстке (это я так предполагаю), бывает нужно вставлять некоторый текст между блоками. Поэтому я развил свою идею и сделал такую возможность. Для вставки какого-то текста (ХТМЛ тегов или чего другого), в папке Blocks нужно создавать 3 типа файлов, в зависимости от желаний и надобноснотей:
1. [ТипБлока]Begin.html - содержимое файла будет вставлено перед блоками.
2. [ТипБлока]Middle_N.html - содержимое файла будет вставлено после N-го блока. N - это натуральное число (1, 2, 3 и т.д). Параметр N можно опустить, т.е. создать файл вида [ТипБлока]Middle.html. В этом случае содержимое файла будет вставляться, если не будет найден файл [ТипБлока]Middle_N.html.
3. [ТипБлока]End.html - содержимое файла будет будет вставлено после блоков.
2. Статические участки. Ну тут совсем просто. В файле темы (любом файле) пишите строку {%STATIC [имя файла],[параметр уникальности]%}. При генерации страницы, вместо такой надписи будет вставлено содержимое файла [имя файла] из папки Static темы.
Общем я продаю свою версию движка тем оформления. Не знаю, стоит ли писать сюда полное описание моего творения – я не уверен на 100% что это кому-то надо. Если кого-то заинтересует стучите в асю, либо отписывайтесь в этой теме. Пока приведу список «фишек»:
- нагрузка на сервер раза в 3 ниже, чем стандартного двига.
- единые правила имен файлов.
- человекопонятные обозначение переменных в темах (я о том, как слаед сел в лужу с переменны по типу $carg[10] - – нифига не ясно, что это значит)
- также, как и в 3.5 ПРО можно задавать неограниченное количество параметров для вызова «темных» (от слово «тема» оформления) процедур, только в более элегантном варианте
- возможность создания своих файлов тем оформления для личных нужд. При этом движок берет на себя все рутинную работу (я о замене переменных в файле темы на нужные значения). |
| | leo | Дата: 27.12.2007, в 23:02 | Сообщение №2 | СтарожилПользователь №: 47 Сообщений: 321
| Это конечно все очень хорошо, но может еще ты сможешь продемонстрировать на реальных сайтах как все это добро можно красиво использовать? А также.... нужны точные и понятные объяснения как с этим работать (не для меня, а для дизайнера) и цена.
А лучше бы, если бы ты этот хак выложил в интернет-магазине.
Кстати, о птичках, есть ли интерес к интернет-магазину для слаедовских прибамбасов? Могу организовать. С мгновенной покупкой ессесно (сорри за оффтоп) |
| | Sunvas | Дата: 27.12.2007, в 23:34 | Сообщение №3 | ПрофиПользователь №: 181 Сообщений: 554
| Ну вот мой сайт, например.. Или что Вы понимаете под "продемонстрировать"?
Точные и понятные объяснения есть. Хотя там, собственно, мало-что объяснять надо. Главное, это шаблон файлов:
Все имена HTML файлов темы строяться по шаблону [Спецификация]-[ИмяМодуля]-[Уникальность].html, либо [Спецификация]--[Уникальность].html
Где [Спецификация] - это предназначение файла (Блоки, таблицы и т.д).
[ИмяМодуля] - название текущего модуля, например Contact, Files, News...
[Уникальность] - любая строка. Этот параметр служит для дополнительных возможностей тем оформления. Очень удобен при создании блоков одного типа (левые, правые), но с разным оформлением.
А далее в файлах задаються имена переменных, вместо которых надо вставить значения. Например {title}, {content}, {text}... и так сколько переменных вам нужно. Допускаються также названия переменных на русском т.е. {заголовок}, {контент}, {текст} и т.д.
Вот, собственно и все объяснения дизайнерам...
Цена? Хм. пользователям АС с моими копирайтами - от 50$, фри версия от 70$, пэдовская ПРО - от 120$. Цены приблизительны т.к. в комлект поставки не входит переписывание модулей и дизайнов. Я ж ведь не знаю, какие функции кому нужны..
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Sunvas 27.12.2007 г. в 23:43:32 |
| | Club-Ua | Дата: 27.12.2007, в 23:55 | Сообщение №4 | СтарожилПользователь №: 163 Сообщений: 274
| | | Sunvas | Дата: 28.12.2007, в 00:03 | Сообщение №5 | ПрофиПользователь №: 181 Сообщений: 554
| Club-Ua, а ты как думал?
Хорошая работа стоит хороших денег, тем более это моя идея. А свои идеи я мало-кому отдаю за просто так :)
Многие мои разработки я отдаю за безценок, но эта... Эту я очень высоко ценю. Хотя бы потому, что с ее помощью можно передизайнить даже админку!
Цены повышаются до тех пор, пока есть спрос. Вообще уместен торг, возможна рассорчка, как говорят: стучите в асю - подумаю, обсудим. |
| | Serg_pnz | Дата: 28.12.2007, в 00:08 | Сообщение №6 | АдминистраторПользователь №: 1 Сообщений: 2243
| /*оффтоп
Цитата | Кстати, о птичках, есть ли интерес к интернет-магазину для слаедовских прибамбасов? Могу организовать. С мгновенной покупкой ессесно (сорри за оффтоп) |
Что его организовывать? Это чем не нравится?
оффтоп*/ | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | Sunvas | Дата: 28.12.2007, в 00:13 | Сообщение №7 | ПрофиПользователь №: 181 Сообщений: 554
| Serg_pnz, о! Кстати, мне интересно твое мнение по поводу моей разработки. |
| | leo | Дата: 28.12.2007, в 00:22 | Сообщение №8 | СтарожилПользователь №: 47 Сообщений: 321
| Serg_pnz, ну если бы ты его развивал еще.. |
| | Sunvas | Дата: 28.12.2007, в 00:31 | Сообщение №9 | ПрофиПользователь №: 181 Сообщений: 554
| leo, ответьте мне на вопрос.. |
| | leo | Дата: 28.12.2007, в 00:50 | Сообщение №10 | СтарожилПользователь №: 47 Сообщений: 321
| Sunvas, что тебе ответить? у тебя на сайте я не увидел кардинальных изменений. Тот же трех-блочный дизайн, может конечно это так кажется, а внутри запраграммлено очень круто, но смотрится как обычный слаедовский диз, причем не самого лучшего качества - некоторые блоки становятся шире и вся тема вообще криво смотрится...
Поэтому и предложил тебе твою хитрую разработку обкатать на каком-нить живом сайте |
| | Serg_pnz | Дата: 28.12.2007, в 09:49 | Сообщение №11 | АдминистраторПользователь №: 1 Сообщений: 2243
| 2leo: Есть идеи, постараюсь за каникулы его натянуть на слаед целиком. По сему пока будем считать наш разговор анонсом и не будем оффтопить чужой топик.
2Sunvas: Обязательно посмотрю, только попозже | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | Sidious | Дата: 28.12.2007, в 10:08 | Сообщение №12 | АдминистраторПользователь №: 42 Сообщений: 125
| 99% сайтов сети имеют трехблочный дизайн.
{%BLOCKS [тип блока]%} - то есть например если мне нужно какой либо блок(допустим он справа внизу) поставить влево вверх... я лезу в код и его правлю. С ситуации с родным шаблонизатором - делается гораздо проще.
Цитата | 1. [ТипБлока]Begin.html - содержимое файла будет вставлено перед блоками.
2. [ТипБлока]Middle_N.html - содержимое файла будет вставлено после N-го блока. N - это натуральное число (1, 2, 3 и т.д). Параметр N можно опустить, т.е. создать файл вида [ТипБлока]Middle.html. В этом случае содержимое файла будет вставляться, если не будет найден файл [ТипБлока]Middle_N.html.
3. [ТипБлока]End.html - содержимое файла будет будет вставлено после блоков. |
Зачем? Нужен текст перед Nым блоком? Создай блок и впиши его туда. Нужен оригинальный дизайн - block-Name. У тебя получается тоже самое - 5 "межблочных" надписей будут требовать 5 файлов.
Цитата | 2. Статические участки. Ну тут совсем просто. В файле темы (любом файле) пишите строку {%STATIC [имя файла],[параметр уникальности]%}. При генерации страницы, вместо такой надписи будет вставлено содержимое файла [имя файла] из папки Static темы.
|
Чо то похожее на правду.... правда любую статику можно загнать в шаблон (если она действительно статика). И... неужели в шаблонизаторе SLAED нету тега INCLUDE?
В общем чо-то странное и непонятное зачем сделанное на мой взгляд произведение. Система шаблонов SLAED ужасна по своей сути, и мало чем отличается от PHP-Nuke.
Движок не может иметь модуль называемый "шаблонная система" до тех пор пока 90% его дизайна выводится в коде через echo.
ЗЫ мб все таки скоро доберусь до форума и мы с Serg его сильно помучаем. Нада только выбраться из тяжкого положения. |
| | Serg_pnz | Дата: 28.12.2007, в 10:44 | Сообщение №13 | АдминистраторПользователь №: 1 Сообщений: 2243
| Кстати о шаблонизаторе. Лично меня напрягает eval со всеми вытекающими. Вот это надо бы переработать.
Цитата | Движок не может иметь модуль называемый "шаблонная система" до тех пор пока 90% его дизайна выводится в коде через echo. |
как там пишется?...
+1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Serg_pnz 28.12.2007 г. в 10:45:10 | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | Sunvas | Дата: 28.12.2007, в 12:33 | Сообщение №14 | ПрофиПользователь №: 181 Сообщений: 554
| leo, если вам нужно демо, то в скором (на этих выходных) могу создать демо сайт, где будет доступ в админку и ФТП доступ к папке темы. Там сможете поупражняться. Мне только нужно знать, что Вам это интересно.
----------------
Цитата | 99% сайтов сети имеют трехблочный дизайн. |
Бред. Есть же еще и горизонтальные блоки. Или вы по вертикальным составляющим считаете?
----------------
Цитата | {%BLOCKS [тип блока]%} - то есть например если мне нужно какой либо блок(допустим он справа внизу) поставить влево вверх... я лезу в код и его правлю. С ситуации с родным шаблонизатором - делается гораздо проще.
|
Ошибаетесь. Для того, чтобы переставить блок вверх, Вам нужно будет всего лишь зайти в админку и поправить тип блока и его положение.
Вижу Вы меня немного не правильно поняли. Поясню еще раз. Существуют блоки и существуют ТИПЫ блоков. Так вот в тему мы вставляем теги именно ТИПОВ блоков, а сами блоки, их количество, контент и размещения мы определям из админки. Админка фактически остается таже т.е. сохраняються надписи положения "Левые блоки", "Правые блоки" и т.д. только теперь Вы можете добавить еще и свои типы блоков - в этом заключается идея.
------------------
Цитата | Зачем? Нужен текст перед Nым блоком? Создай блок и впиши его туда. Нужен оригинальный дизайн - block-Name. У тебя получается тоже самое - 5 "межблочных" надписей будут требовать 5 файлов. |
А кто сказал, что межблочный текст имеет какое-то отношение к уникальности оформления блока? Вы совершенно неправы, если так думаете. Уникальность у меня делается по-другому - все учтено могучим ураганом.
А зачем нужен текст? Хм. Ну, например для рекламы.. Быть может мне, Вам и остальным не надо будет, а кому-то это очень даже необходимо.
Приведу пример: нужно создать горизонтальные блоки (как во втором примере из реальной жизни). Тогда в файле MyTypeBegin.html мы напишем "<table><tr><td>", в MyTypeMiddle.html - "</td><td>", в MyTypeEnd.html - "</td></tr></table>". При помощи текста после N-го блока, можно задать, например, цвет фона очередного горизонтального блока.
------------------
Цитата | Движок не может иметь модуль называемый "шаблонная система" до тех пор пока 90% его дизайна выводится в коде через echo. |
А как еще выводить? print-ом что-ли? Или Вы о другом? Сейчас посчитал сколько echo в моем движке тем. Их всего 4, для функций: OpenTable, CloseTable, PrintPage и Warning. Остальные функции возвращают значения, оставляя задачу вывода на программиста.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Sunvas 28.12.2007 г. в 12:43:50 |
| | Serg_pnz | Дата: 28.12.2007, в 13:12 | Сообщение №15 | АдминистраторПользователь №: 1 Сообщений: 2243
| Цитата | А как еще выводить? print-ом что-ли? |
Имеется ввиду, что сам модуль подчас содержит echo, которое отвечает за дизайн (я по крайней мере об этом говорил).
Жутко неудобно, при переходе с версии на версию - весь двиг надо перебирать (для более-менее уникального дизайна).
Хотя в про-версиях уже видны подвижки в сторону улучшения, но до тех пор, пока элементы дизайна будут набираться в модуле, будет ж*па. Яркий пример - модуль новостей лайт-версии с его выводом кратких, когда таблица набирается именно в модуле и полфорума кричит "Как сменить цвет заголовка"
Всё имхо.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Serg_pnz 28.12.2007 г. в 13:13:10 | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | Sunvas | Дата: 28.12.2007, в 13:23 | Сообщение №16 | ПрофиПользователь №: 181 Сообщений: 554
| Вообще-то тема об движке тем, а не о дизайне модулей. Если модуль сам расчитывает весь дизайн - это поблемы программера, который писал тот модуль.
Но считаю, что именно модуль должен делать echo . Т.е., например участок из моего двига (из модуля):
Код | 1
| $title="...";
$descr="...";
$down="...";
echo base_table($title, $descr, $down); |
|
| | Serg_pnz | Дата: 28.12.2007, в 14:07 | Сообщение №17 | АдминистраторПользователь №: 1 Сообщений: 2243
| Sunvas, и я про это говорю, что должно быть так, как ты написал, а не (кусок из филес) Код | 1
| echo "<table border=\"0\" width=\"100%\" cellpadding=\"3\" cellspacing=\"1\" class=\"bgcolor4\"><tr class=\"bgcolor1\">"
."<td colspan=\"2\"><table border=\"0\" cellpadding=\"1\" cellspacing=\"0\"><tr><td>$zimg</td><td>
....
echo "</table><br />"; |
Да что далеко ходить! SSDForum - наглядный тому пример - всё вшито в модуль. Я исправлюсь | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | Sunvas | Дата: 02.01.2008, в 16:53 | Сообщение №18 | ПрофиПользователь №: 181 Сообщений: 554
| | | zigmat | Дата: 03.01.2008, в 15:44 | Сообщение №19 | УчастникПользователь №: 54 Сообщений: 78
| Радует что хоть кто то продвигается в этом направлении. Цены правда ещё пока не соответствуют тому что сделано, но что тут поделаешь. Ещё чуток и шаблонизатор может и не дотянется но хоть косвенно приблизится к шаблонизатору ВордПресса. |
| | Sunvas | Дата: 03.01.2008, в 15:55 | Сообщение №20 | ПрофиПользователь №: 181 Сообщений: 554
| > Цены правда ещё пока не соответствуют тому что сделано, но что тут поделаешь.
Почему?
> Ещё чуток и шаблонизатор может и не дотянется но хоть косвенно приблизится к шаблонизатору ВордПресса.
Хм. Мне кажется, что при помощи моего подхода, точно можно реализовать любое оформление, но я не буду этого утверждать. Скажи, zigmat, что невозможно организовать при помощи моего подхода? Будем стараться сделать полностью универсальную систему оформлений. |
| | | Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|
|