[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не получается пустить в цикле комментарии
Tapak
        function tpl_parse()
{
foreach($this->variables as $find => $replace)
{
$this->html = str_replace($find, $replace, $this->html);
}
}

Такой шаблон:
Имя человека: {USERNAME} <br />
Его комментарий:
<br />{USERCOMMENT}

         function setAttribute($variable, $key)
{
$variable = '{' . $variable . '}';
$this->variables[$variable] = $key;
}

Хоть убейте не могу в цикле вывести комментарии и не получается значения setAttribute() все из базы добавить в массив внутри класса. Если делаю выборку с базы и while.... в массиве все равно одна запись "Ключ=>Значение". Что не так?(
tomash
$this->variables[$variable] = $key; - ключ в массиве скорее всего не уникальный для каждого комментария

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
Tapak
Ага... {USERNAME}, {USERCOMMENT} Тоже были такие мысли... Как с этим бороться?
tomash
делать отдельно вывод переменных и вывод блоков


_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
Tapak
Не понял.....
tomash
если ты хочешь выводить массивы тебе нужно сделать отдельные методы для этого.
например в шаблоне это будет такого вида

{USER_COMMENTS}
Имя человека: {USERNAME} <br />
Его комментарий:
<br />{USERCOMMENT}
{/USER_COMMENTS}

а парсить

function tpl_parse_block()
{
foreach($this->blocks as $blockName => $blockArr)
{
$blockHtml = '';
if(preg_match("/{{$blockName}}(.*)\{\/{$blockName}}/", $this->html, $mathes)){
foreach($blockArr as $find => $replace){
$blockHtml .= str_replace($find, $replace, $mathes[1]);
}
$this->html = str_replace($mathes[0], $blockHtml, $this->html);
}
}
}


и добавлять в блок переменные

function setBlockAttribute($block, $variable, $key)
{
this->blocks[$block][] = array($variable => $key);
}

где то так, хотя могу дать совет не страдать "велосипедизмом")

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.