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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Самопальный простенький шаблонизатор 
:(
    Опции темы
Canarat
Дата 9.5.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

Вот один из примеров, в которых мой взгляд программиста и абстракциониста натыкается на непробиваемое "ХАЧУ" дизайнеров и верстальщиков. 
PM MAIL   Вверх
Feldmarschall
Дата 9.5.2008, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Canarat, Если ты говоришь контенте, то твое замечание, имхо, в контексте разговора о шаблонах неуместно. 
Оформление шаблона - это одно.
Обработка выводимых текстов - другое. 

Это сообщение отредактировал(а) Feldmarschall - 9.5.2008, 20:46
PM   Вверх
Canarat
Дата 9.5.2008, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Это только пример. Скрипт подает на выход "Описание компании ООО "Пивзавод".", верстальщик выводит этот текст в двух местах, но в одном из них по специфике необходимо выделить тегами <b>Пивзавод</b>. Как поступить? Плодить несколько описаний? Вводить отдельные переменные?
PM MAIL   Вверх
Fortop
Дата 9.5.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Canarat, 
использовать две переменные
Код

$description . $companyName
 
smile

У тебя ведь в этой надписи разнородная информация. А выделять только Пивзавод, но не выделять ООО - это глупость. Тогда нет смысла вообще выводить это самое ООО smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Feldmarschall
Дата 9.5.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Canarat, это пример совсем другого. Вестка сайта и наполнение сайта контентом - совершенно разные вещи.
Тебя совсем не в ту сторону унесло.
PM   Вверх
Canarat
Дата 9.5.2008, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Feldmarschall, именно в ту. Минимальная обработка данных в шаблоне.

Fortop, дело происходит в шаблоне, из синтаксиса - только {COMPANY_DESCRIPTION}.
Или сделать "{COMPANY_DESCRIPTION_BEFORE_NAME} OOO "{THAT_DAMN_COMPANY_NAME}"" ?smile
PM MAIL   Вверх
Feldmarschall
Дата 9.5.2008, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Canarat, все это очень интересно. 
Но не мог бы ты пояснить, к чему вся эта полемика? Ты не согласен с тем, что skyboy о том, для кого делаются шаблонизаторы? Приведи тогда пример того, как, по-твоему, должны решаться такие проблемы.
Или это просто жалоба в пространство на нелегкую судьбу программера?
PM   Вверх
Fortop
Дата 9.5.2008, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Canarat, 
Цитата(Canarat @  9.5.2008,  21:34 Найти цитируемый пост)
{COMPANY_DESCRIPTION}.

Вот эта фигня - это вообще статическая часть шаблона. 
Это даже не описание как таковое, это просто фраза "описание компании".... а она одинакова для всех! компаний без исключения.

Или ты хочешь экзотический универсальный шаблон на все случаи жизни?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Feldmarschall
Дата 9.5.2008, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Fortop, на самом деле, задачка, действительно, интересная. 
Исходя из постулата, что в коде не должно быть ни одного HTML тега, мы не можем использовать str_replce(). То есть, извращаться надо в шаблоне. У меня нет готового решения этого вопроса, но меня волнует другое- почему он поднялся в контексте обсуждения шаблонов вообще.

Это сообщение отредактировал(а) Feldmarschall - 9.5.2008, 21:55
PM   Вверх
Fortop
Дата 9.5.2008, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Feldmarschall, 
А где ты тут видишь теги?

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

В шаблон подается не весь контент одной строкой, а его логически законченные части, если возникает желание выделить что-то внутри части/блока - значит ты неправильно разбил контент на блоки и надо его разбить еще.

Добавлено @ 22:06
Поясню свою мысль конкретно на примере Canarat.

Цитата(Canarat @  9.5.2008,  21:03 Найти цитируемый пост)
Скрипт подает на выход "Описание компании ООО "Пивзавод".", 

Либо скрипт подает на вход
только ООО "Пивзавод"
либо отдельно "Описание компании" и  ООО "Пивзавод"
либо все одной строкой "Описание компании ООО "Пивзавод"

но здесь я вижу статическую часть Описание компании (которая никогда не лежит в базе, а находится всегда в самом шаблоне)
и динамическую ООО "Пивзавод".
Ничего более.

Это сообщение отредактировал(а) Fortop - 9.5.2008, 22:12


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Feldmarschall
Дата 9.5.2008, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Ну, пожалуй, ты прав.
пример, который я могу выдумать себе сам - подсвечивать слова, которые искал посетитель сайта в поисковике. НГо здесь речь идет именно об обработке контента, а не шаблона. А в шаблоне я тоже себе такое представить не могу.
PM   Вверх
Canarat
Дата 9.5.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

Пример я действительно подобрал неудачно. Но почему вопрос поднялся здесь - я попытаюсь объяснить. Кто мне назовет более четкое разделение в Веб-приложениях, чем Представление и Логика? 
Шаблоны - это просто часть Представления, поэтому все вопросы визуализации данных решаются именно в этих т.н. "шаблонах".

Никакой полемики я не собираюсь разводить. Я просто хочу узнать ваше мнение на этот счет:
Как решить проблему различного представления данных, если их содержимое поступает в шаблон в определенном, неизменном виде?

В качестве примера предлагаю базовые функции работы со строками, чтобы не распаляться. Всегда ли оправдано вносить абсолютно все более-менее сложные операции в скрипт, оставляя в шаблоне абсолютно примитивные конструкции?
PM MAIL   Вверх
Feldmarschall
Дата 9.5.2008, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Canarat, открою тебе маленькую тайну. В шаблоне никогда не бывает примитивных конструкций. Если шаблон состоит из двух частей - шаблона и обработчика - то это не должно сбивать тебя с толку. 

Ответ же на твой вопрос будет звучать так: любую задачу по шаблонихации, можно решить с использованием любой шаблонной парадигмы. Любой. Холивар на тему "простые" шаблоны vs. "сложные" не имеет смысла.


PM   Вверх
Canarat
Дата 9.5.2008, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Именно об этом я и говорил, нормального диалога на эту тему все-таки не получится.
PM MAIL   Вверх
Fortop
Дата 9.5.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Canarat, возможно, я пока еще не дорос до использования шаблонов smile
Но у меня View имеют достаточно много кода и местами сложного. Связан он исключительно в выводом, в худшем случае определяет, какую часть данных выводить.

Различное представление данных - это работа для разных шаблонов. Естественно ХО smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0557 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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