Проблема с подкатегориями на DLE

Александр
На сайте с 03.04.2009
Offline
62
900

Здравствуйте коллеги!

Установил на DLE модуль Category Tree 1.3

Все отлично, но модуль формирует УРЛы подкатегорий вида site.ru/подкатегория.

А DLE формирует УРЛы вида site.ru/категория/подкатегория.

Модуль работает на яве + пхп. Вот пхп код:


<?php

$b=$db->query ("SELECT * from `dle_category` ORDER BY `posi`");

while ($row=$db->get_array($b))
{
$link=$config['http_home_url'] . $row['alt_name'] . '/';

if (file_exists (ROOT_DIR . "/templates/{$config['skin']}/images/{$row['alt_name']}.gif") )
$icon="{THEME}/images/{$row['alt_name']}.gif";

else

$icon='';
$catlist.="d.add({$row['id']}, {$row['parentid']}, '{$row['name']}', '{$link}', '{$row['descr']}', '', '{$icon}', '{$icon}');";

}

?>

Как решить данную проблему?

Заранее благодарен за ответ.

sashka_
На сайте с 27.01.2010
Offline
103
#1

можно по взаимствовать функцию у целсофта get_url можно самому написать


<?php

$b=$db->query ("SELECT * from `dle_category` ORDER BY `posi`");

while ($row=$db->get_array($b))
{
if ($row['parentid'] != "0")
{
$bb=$db->get_row($db->query("select alt_name from dle_category where id = '{$row[id]}' and parentid = '{$row[parentid]}'"));
$link=$config['http_home_url'] . $row['alt_name'] . '/'.$bb['alt_name'].'/';
}
else
$link=$config['http_home_url'] . $row['alt_name'] . '/';

if (file_exists (ROOT_DIR . "/templates/{$config['skin']}/images/{$row['alt_name']}.gif") )
$icon="{THEME}/images/{$row['alt_name']}.gif";

else

$icon='';
$catlist.="d.add({$row['id']}, {$row['parentid']}, '{$row['name']}', '{$link}', '{$row['descr']}', '', '{$icon}', '{$icon}');";

}

?>

вот исправил попробуйте должно работать.

Знаю PHP, JS, jQuery. Помощь для вашего сайта. (/ru/forum/840509).
Александр
На сайте с 03.04.2009
Offline
62
#2

Спасибо за помощь, но с вашим кодом получается так:

Категории - все ок (site.ru/категория)

Подкатегории - все плохо (site.ru/подкатегория/дубль_подкатегория, т.е. site.ru/music/music)

sashka_
На сайте с 27.01.2010
Offline
103
#3

а если так попробовать.


<?php

$b=$db->query ("SELECT * from `dle_category` ORDER BY `posi`");

while ($row=$db->get_array($b))
{
if ($row['parentid'] != "0")
{
$ida = $row[id]+1;
$bb=$db->get_row($db->query("select alt_name from dle_category where id = '{$ida}' and parentid = '{$row[parentid]}'"));
$link=$config['http_home_url'] . $row['alt_name'] . '/'.$bb['alt_name'].'/';
}
else
$link=$config['http_home_url'] . $row['alt_name'] . '/';

if (file_exists (ROOT_DIR . "/templates/{$config['skin']}/images/{$row['alt_name']}.gif") )
$icon="{THEME}/images/{$row['alt_name']}.gif";

else

$icon='';
$catlist.="d.add({$row['id']}, {$row['parentid']}, '{$row['name']}', '{$link}', '{$row['descr']}', '', '{$icon}', '{$icon}');";

}

?>
Александр
На сайте с 03.04.2009
Offline
62
#4

А так совсем жесть.

Подкатегории 2 уровня - site.ru/подкатегория//

Подкатегории 3 уровня - site.ru/подкатегория/название следующей по списку категории/

А как правильно использовать get_url ?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий