![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Canarat, диалог возможен, когда есь четко сформулированный вопрос, который необходимо обсудить. Если каждый говорит ни о чем, безо всякой связи с остальными - то, разумеется, диалога не получится. Но причина будет не в предмете обсуждения.
|
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Canarat, в этом случае данные должны прилететь в виде 'Описание компании ООО "<span>Пивзавод</span>".' После этого уже дело верстальщика стилями обеспечить раскраску этой фразы в нужные цвета в нужных местах. Никакого отношения к шоблонам этот случай не имеет
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
Попробую другой пример
Скрипт - галерея. Страница - вывод thumnail'ов. Выводятся они в виде двумерной таблицы 7х7. Каждая ячейка таблицы - по желанию заказчика - отдельный файл шаблон "тумбы". Как работает сейчас - в шаблоне страницы имеется кривейший костыль в виде тега TableBuilder, которому передается массив уже отпарсенных(т.е. файл ячейки уже открыт, и в цикле полностью обработан) тумб. Недостаток - TableBuilder и необходимость подготовки каждой ячейки в скрипте. Как исправлять? Замечание: я с большим трудом открестился от раскрашивания четных/нечетных ячеек, ибо шаблоны заказчик не хотел усложнять, а в код такой бред пихать я не согласен. |
|||
|
||||
| Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Canarat,
jQuery -> tablesorter -> widget - zebra Посмотри как там это организовано, возможно тебе поможет
Что мешает использовать вложенные шаблоны? есть общий шаблон - таблица в каждую ячеку вставляешь шаблон "тумбы" -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
Fortop, я предлагал заказчику раскрашивать на клиенте
Тут немного недопонял. Размер таблицы не фиксирован, он зависит от опций, выбранных пользователем на сайте и от количества картинок в категории. Пустые ячейки сразу же отметаются. |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Canarat,
Уточняющие вопросы. 1. За какую часть ты все же отвечаешь? 2. Насчет вложеных шаблонов. Кто мешает сделать шаблон таблицы с достаточно сложной структурой? - Получил он данные о твоих картинках - посчитал их - построил нужную таблицу - а для каждой ячейки вызвал шаблон ячейки передав ему только кусочек данных. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
Fortop,
1. С моей стороны - программа, которая работает с данными, и программа-парсер шаблонов. Больше ничего. 2. Так ведь в данный момент все так и происходит Поэтому в данный момент "шаблон таблицы с достаточно сложной структурой" - это суть РНР-скрипт. Ты предлагаешь усложнить шаблонизатор? |
|||
|
||||
| Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Canarat,
Во-первых, я не вижу ничего проблемного в нахождении php кода внутри шаблона Во-вторых, если ты хочешь чтобы итоговые шаблоны были только из HTML, то менять количество ячеек в таблице - не получится Тебе в любом случае нужна управляющая часть для этого. Т.е. некоторый мета-шаблон, который подключает в себя отдельные простые шаблончики. Ну например
Сам table.phtml - может содержать примерно такое
Это сообщение отредактировал(а) Fortop - 10.5.2008, 13:03 -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
Кто спорит, что так можно?
Редактирование шаблонов занимается именно заказчик, именно такой, который совершенно не хочет вкуривать в мою философию о том, что РНР-код в шаблоне это совсем неплохо И этот самый мета-шаблон table.phtml он будет редактировать чуть ли не чаще чем эти маленькие ячейки, учитывая что в этом мета-шаблоне ещё находятся форма смены количества картинок на страницу, способа сортировки, навигации по категориям - и куча другого мусора. |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Canarat,
ты же понимаешь, что и рыбку съесть и рот при этом не открыть - нереально. Запрети редактировать ему мета-шаблоны. Сделай шаблоны максимально модульными. Т.е. навигация, сортировка, форма и прочее - вынеси в отдельные шаблоны. Вплоть до того, что строка в таблице - это отдельный шаблон. который может в себя включать только ячейки и кое-какое оформление. Ячейка - это отдельный шаблон. Хочет строку с четными/нечетными разноцветными ячейками? - не вопрос. Пусть создает отдельный шаблон, строки, где ячейки будут выводиться только парами (если второй ячейки нет - ничего не выводиться). 1я ячейкая зеленая, 2я ячейка - пупырчатая. Т.е. в данном варианте данные у тебя рассматриваются не как набор ячеек. А как набор пар. Каждая пара имеет свойства четная и нечетная ячейка. Короче создай ему конструктор "сделай сам". Добавлено через 3 минуты и 23 секунды Твоя задача прописать базовые мета-шаблоны для 3-5ти страниц, содержащие внутри себя код. (для которых максимальное изменение - это CSS стили и не более) А заказчик пусть страдает ерундой с шаблонами для отдельных частей страницы (а вот тут пусть проявляет свою творческую жилку как хочет, вплоть до полного изменения HTML кода.) Это сообщение отредактировал(а) Fortop - 10.5.2008, 14:06 -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
Понимаю, потому и приходится творить такие конструкторы. Причем они со временем становятся все больше и сложнее, причем связи между компонентами проследить сложно, если все делается в виде файлов, а не шаблонов, хранимых в базе(тогда ещё можно в "админке" связи отрисовать, чтобы не путаться).
Мне ещё интересно услышать XSLT/Smarty любителей. Пусть у них будет такой заказчик как в моем примере и такая же область действия. |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
Я вижу только один выход - xslt/xml
|
|||
|
||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
awers, вот тебя то я и ждал
Давай, объясни, и с кодом пожалуйста. |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
||||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |