PHP:
$res = sql("SELECT `name`, `date`...");
if($res->num_rows) {
$tpl['row'] = '';
$tplrow = getTpl('строка с ответом');
if($admin) {
$tpladmin = getTpl('админ');
}
while($temp = htmlChars($res->fetch_assoc())) {
if($admin) {
$temp['admin'] = parseTpl($tpladmin, array(
'action' => ($temp['deleted'])?'undelete':'delete',
'title' => ($temp['deleted'])?'Показать':'Скрыть',
'id' => $temp['id'],
));
} else {
$temp['admin'] = '';
}
$tpl['row'] .= parseTpl($tplrow, array(
'name' => $temp['name'],
'date' => date('d.m.Y', strtotime($temp['name'])),
'answer' => (!empty($temp['name']))?$temp['name']:'Ответов нет',
...
'admin' => $temp['admin'],
));
}
$tpl['row'] = parseTpl(getTpl('обертка'), array('row'=>$tpl['row']));
} else {
$tpl['row'] = 'Нет данных';
}
echo $tpl['row'];
Примерно так. Не все дописал, но смысл понятен. Да, я использую конкатенацию для сбора строк, Вы нет в смоем примере.
Вы вот не поняли чего я спрашиваю и наезжаете. Такая реализация сойдет? Ответил на ваш вопрос?
Да, где то не эффективно. Иду к повышению этой самой эффективности, но своим методом с использованием своего шаблонизатора.
Я хочу, во-первых, чтобы ты хотя бы понял, что это такое (прежде чем хаять и отказываться)
Не подходит мне вариант с php шаблонизацией. Да, она удобнее и не требует лишних затрат. Я не хаю его, если Вы не заметили. Просто у меня с ним возникли проблемы, которые я решил шаблонизацией.
во-вторых - внятно сформулировал свои желания, причём основываясь не на фантазиях и неверных представлениях, а реальности.
Вы считаете что нереально в php найти форму и в ней пройти по атрибутам input'ов? Сравнивая и дописывая другой атрибут?
зачем тебе вообще нужны шаблоны
Это глубоко философский вопрос? Как зачем? Такой ответ нужен, чтоб меня считать дебилом:
"Это же мега круто, все так делают, отделяя логику от шаблона."
Мне это нужно для разделения, которая предоставит возможности перерисовать шаблон в любой момент.
Я понимаю чего я хочу в итоге. Воздух сотрясаю потому что я еще не делал реализацию того, чего хочу сейчас.
Но прежде чем начать это делать, хочу узнать, каким методом мне это лучше сделать. Теми что я уже знаю или освоить что то новое, что уже реализовано в самом php а не прочими шаблонизаторами. Хотя в них я тоже копаюсь.
И даже в новом своем шаблонизаторе будет у меня подход именно такой же. Т.е. логика и повторения будут в самом контролере, а не в шаблоне.
Фантазия - отправная точка к реализации.
Да, на одной фантазии далеко не уедешь, свои фантазии я подкрепляю идеями как это можно реализовать.
Сюда все писать? Фантазию и как реализовать? Мне суток не хватит для набора текста...
Сейчас мне не хватает знаний, которые хочу пополнить. Писать регулярки с колбек функциями или есть другие варианты, как DomDocument и тот же библиотеки phpquery.
Поделитесь информацией. Вы же знаете больше меня. Я поставил рамки, без php шапблонизации в шаблоне.
В шаблоне не буду реализовывать ветвления и циклы. Буду искать теги или метки для вставки и анализировать их.