vladax
Новичок
Метод для вывода пути к детёнышу + шаблон
Вообщем, написал метод для вывода пути к детёнышу
на основе алгоритма Nested Sets. В метод передаётся файл шаблона ($subShabl) и далее в цикле обрабатывается так:
В файле шаблона лежит вот такой код:
Всё работает как надо.. путь к узлу-потомку выводится но по топорному, т.е. визуально вот так:
parent1 > parent2 > parent3 > selected_element >
А хотелось бы чтобы было так:
parent1 > parent2 > parent3 > selected_element
Вообщем чтобы для последнего елемента обрубался знак > и чтоб он выводился жирным шрифтом (короче визуально как на этом форуме)
Обрубать в методе с помощью substr этот самый > глупо, потому что вдруг верстальщик в шаблоне захочет использовать не знак >, а что-нить другое и что тогда
Одним словом, надо как то предусмотреть в шаблоне задание иных визуальных свойств в последнем елементе. Как это сделать? Посоветуйте.
В структурном коде эта задача решилась бы в раз! А вот когда класс пишешь, хочется чтоб всё было красиво и начинаешь париться..
-~{}~ 11.03.04 23:25:
Всё реализовал.. Сделал так:
А в шаблоне типа того:
Вот собственно и всё
Вообщем, написал метод для вывода пути к детёнышу
на основе алгоритма Nested Sets. В метод передаётся файл шаблона ($subShabl) и далее в цикле обрабатывается так:
PHP:
$result = $this->db->query($query);
ob_start();
while($row = $this->db->fetch_array($result)) {
// задаем имена переменных для суб-шаблона
if (is_array($cFieldNames) && sizeof($cFieldNames))
foreach ($cFieldNames as $v)
$$v = $row[$v];
if (is_array($dFieldNames) && sizeof($dFieldNames))
foreach ($dFieldNames as $v)
$$v = $row[$v];
// вкючаем суб-шаблон
include ($subShabl);
} // while
$path = ob_get_contents();
ob_end_clean();
return $path;
PHP:
<a href="<? echo $_SERVER[$PHP_SELF]; ?>?id=<? echo $id ?>"><? echo $dtext ?></a>
<span style="font-size: 8pt"> > </span>
parent1 > parent2 > parent3 > selected_element >
А хотелось бы чтобы было так:
parent1 > parent2 > parent3 > selected_element
Вообщем чтобы для последнего елемента обрубался знак > и чтоб он выводился жирным шрифтом (короче визуально как на этом форуме)
Обрубать в методе с помощью substr этот самый > глупо, потому что вдруг верстальщик в шаблоне захочет использовать не знак >, а что-нить другое и что тогда
Одним словом, надо как то предусмотреть в шаблоне задание иных визуальных свойств в последнем елементе. Как это сделать? Посоветуйте.
В структурном коде эта задача решилась бы в раз! А вот когда класс пишешь, хочется чтоб всё было красиво и начинаешь париться..
-~{}~ 11.03.04 23:25:
Всё реализовал.. Сделал так:
PHP:
$numrows = mysql_num_rows($result);
$i = '0';
ob_start();
while($row = $this->db->fetch_array($result)) {
........
$i++;
if ($numrows == $i) $END_ARR = true;
include ($subShabl);
} // while
PHP:
<a class="path" href="<? echo $_SERVER[$PHP_SELF]; ?>?cid=<? echo $id ?>"><? echo $dtext ?></a>
<? if (!$END_ARR): ?>
<span class="path"> > </span>
<? endif; ?>