Здравствуйте всем.
Прошу помощи в решении одной задачи. Технически она бесполезна, скорее каприз.
В Phoca имеется такая структура категорий:
- родительская категория "Обувь"
- в ней содержатся категории:
1. Ботинки больших размеров
2. Ботинки маленьких размеров
3. Тапочки больших размеров
4. Тапочки маленьких размеров
5. Сандали
Выводятся как обычный список, без картинок. Задача следующая:
Вывести перед группой одинаково начинающихся категорий это самое одинаковое для всех категорий слово, не ссылкой. Если такового нет, либо категория имеет индивидуальное название, то не выводить ничего.
Визуально так:
Ботинки (не ссылка)
Ботинки больших размеров (ссылка)
Ботинки маленьких размеров (ссылка)
Тапочки (не ссылка)
Тапочки больших размеров (ссылка)
Тапочки маленьких размеров (ссылка)
Сандали (ссылка)
Выводящий цикл:
else {
for ($i = 0; $i < $countCategories; $i++) {
if ( $columns == 1 ) {
echo '<ul>';
} else {
$float = 0;
foreach ($begin as $k => $v)
{
if ($i == $v) {
$float = 1;
}
}
if ($float == 1) {
echo '<div style="position:relative;float:left;margin:10px"><ul>';
}
}
echo '<li><a href="'.$this->itemscv[$i]->link.'" class="category'.$this->params->get( 'pageclass_sfx' ).'">'.$this->itemscv[$i]->title.'</a> ';
if ($this->itemscv[$i]->numlinks > 0) {echo '<span class="small">('.$this->itemscv[$i]->numlinks.')</span>';}
echo '</li>';
if ( $columns == 1 ) {
echo '</ul>';
} else {
if ($i == $endFloat) {
echo '</ul></div><div style="clear:both"></div>';
} else {
$float = 0;
foreach ($end as $k => $v)
{
if ($i == $v) {
$float = 1;
}
}
if ($float == 1) {
echo '</ul></div>';
}
}
}
}
}
Была идея читать строку при помощи explode(" ", $this->itemscv[$i]->title), но довести до конца не хватает мозгов и знаний.
Прошу помощи. Буду весьма признателен.