• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Поиск Вывод списка категорий/подкатегорий как в админпанели

Статус
В этой теме нельзя размещать новые ответы.

Bulletproof

Постоялец
Регистрация
28 Янв 2009
Сообщения
56
Реакции
2
Заметил, что в админпанели (8.2 и ранее) в управлении категориями организован максимально правильный (как я считаю) вывод списка категорий с учетом вложенности, как в расположении, так и в чпу.
За управление категориями отвечает файл: engine/inc/categories.php
Суть вопроса: реализован ли на базе данного кода мод/хак для вывода списка категорий/подкатегорий непосредственно на сайте?
Если нет, то как бы это можно было бы оптимально сделать?
 
  • Заблокирован
  • #2
А покопаться в
engine/inc/categories.php
Религия не позволяет?
 
Покопаться - это уже сделал.
Я не могу понять как его подключить правильно для вывода на сайте :(
Или же как его вынести в отдельный модуль без добавления/редактирования/удаления...
 
Создаеш темплайт map.tpl
там должна быть пометка {code} куда это все будет выводится.
создаеш файл modules/map.php
туда вставляеш
PHP:
<?php
function DisplayCategories($parentid = 0, $sublevelmarker = '')
{ global $lang, $cat_info, $config, $dle_login_hash;
  //global $buffer;
  // start table
  if($parentid <> 0)
    $sublevelmarker .= '--';
   $buffer.= '<ul>';
  if (count($cat_info)) {
  foreach ($cat_info as $cats) {
   if ($cats['parentid'] == $parentid) $root_category[] = $cats['id'];
  }
  if (count($root_category)) {
  	foreach ($root_category as $id) {
   		$category_name = $cat[$id];
		$link = "<a class=\"list\" href=\"{$config['http_home_url']}".$cat_info[$id]['alt_name']."/\" target=\"_blank\">".stripslashes($cat_info[$id]['name'])."</a>";
    $buffer.= "<li>
      ".$link."
      </li>";
     $buffer.=DisplayCategories($id, $sublevelmarker);
      }
   }
  }
  // end table
  $buffer.= '</ul>';
  return $buffer;
}
$tpl->load_template('map.tpl');
$tpl->set('{code}', DisplayCategories());
$tpl->compile('content');
$tpl->clear();	
	?>
и теперь в engine.php добавляеш
PHP:
case "map" :
		include ENGINE_DIR . '/modules/map.php';
		break;
 
Сделал, подключил в main.tpl с помощью {include file="map.tpl"} - выводит {code} и все.
Что сделал не так? Подскажите, пожалуйста
 
<?php
function DisplayCategories($parentid = 0, $sublevelmarker = '')
{ global $lang, $cat_info, $config, $dle_login_hash;
//global $buffer;
// start table
if($parentid <> 0)
$sublevelmarker .= '--';
$buffer.= '<ul>';
if (count($cat_info)) {
foreach ($cat_info as $cats) {
if ($cats['parentid'] == $parentid) $root_category[] = $cats['id'];
}
if (count($root_category)) {
foreach ($root_category as $id) {
$category_name = $cat[$id];
$link = "<a class=\"list\" href=\"{$config['http_home_url']}".$cat_info[$id]['alt_name']."/\" target=\"_blank\">".stripslashes($cat_info[$id]['name'])."</a>";
$buffer.= "<li>
".$link."
</li>";
$buffer.=DisplayCategories($id, $sublevelmarker);
}
}
}
// end table
$buffer.= '</ul>';
return $buffer;
}
$final = DisplayCategories();
echo $final;
?>

как-то так.
 
-=BlackSmoke=-, а куда этот код вставлять?

---------- Post added at 03:00 ---------- Previous post was at 01:53 ----------

Все, разобрался сам, достиг нужного результата.
Спасибо
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху