Помощь Название категорий в похожих новостях?

Тема в разделе "DLE", создана пользователем killoff, 22 апр 2009.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.238
    Симпатии:
    831
    Как сделать в похожих новостях вывод категорий, поробовал исправить show.full.php, но выводит только id самой категории. Как можно сделать чтобы при выводе блока похожие новости, выводились ещё и названия категорий? Я делал так - в строке
    PHP:
                    $buffer .= "<li><a href=\"".$full_link."\" title=\"".stripslashes($related['title'])."\">".stripslashes($related['title'])."</a></li>";
    прописывал так:
    PHP:
                    $buffer .= "<li>".stripslashes($related['category']).": <a href=\"".$full_link."\" title=\"".stripslashes($related['title'])."\">".stripslashes($related['title'])."</a></li>";
    Но выводит только цифры, без названия категорий.
    :bc:

    Версия дле - 7.3 Nulled by M.I.D-Team
    сайт cinemacom_ru - в любой новости можете посмотреть как щас выводит новости... например:

    HTML:
    Смотри также:
    3: Глупая звезда (2007)
    3: Беззаконие / The Lawless (2007)
    3: Параграф 78: фильм второй (2007)
    где вместо 3 - нужно вывести название категории.
     
  2. DemanZ

    DemanZ Постоялец

    Регистр.:
    16 мар 2007
    Сообщения:
    144
    Симпатии:
    113
    Попробуй этой функцией
    Код:
    function get_cat_link($id, $type = 'link'){
    	global $config, $PHP_SELF, $cat_info;
    	if (!$id) { $my_cat = "---"; $my_cat_link = "---";} else {
    
    		$my_cat = array (); $my_cat_link = array ();
    		$cat_list = explode (',', $id);
    
    		if (count($cat_list) == 1) {
    
    			$my_cat[] = $cat_info[$cat_list[0]]['name'];
    
    			$my_cat_link = get_categories ($cat_list[0]);
    
    		} else {
    	
    			foreach ($cat_list as $element) {
    				if ($element) { $my_cat[] = $cat_info[$element]['name']; if ($config['ajax']) $go_page = "onclick=\"DlePage('do=cat&category={$cat_info[$element]['alt_name']}'); return false;\" "; else $go_page = "";
    						if ($config['allow_alt_url'] == "yes")
    								$my_cat_link[] = "<a {$go_page}href=\"".$config['http_home_url'].get_url($element)."/\">{$cat_info[$element]['name']}</a>";
    						else
    								$my_cat_link[] = "<a {$go_page}href=\"$PHP_SELF?do=cat&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
    				}
    			}
    
    			$my_cat_link = implode (', ', $my_cat_link);
            	}
    
    		$my_cat = implode (', ', $my_cat);
    	}
    	if ($type == 'link') return $my_cat_link;
    	else return $my_cat;
    }
    Подсказка:
    вставить функцию, заменить stripslashes($related['category']) на
    Код:
    get_cat_link(stripslashes($related['category']), 'text')
     
  3. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.238
    Симпатии:
    831
    DemanZ, подскажи куда именно вставить нужно всю эту финкцию? ставил перед $buffer - выдает ошибку в файле полной новости :nezn:
     
  4. DemanZ

    DemanZ Постоялец

    Регистр.:
    16 мар 2007
    Сообщения:
    144
    Симпатии:
    113
    вставляй выше строки:
    Код:
    $buffer .= "<li>".stripslashes($related['category']).": <a href=\"".$full_link."\" title=\"".stripslashes($related['title'])."\">".stripslashes($related['title'])."</a></li>"; 
    И напиши что за ошибка, а то не очень ясно...
     
  5. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.238
    Симпатии:
    831
    HTML:
    Fatal error: Cannot redeclare get_cat_link() (previously declared in /home/byroot/public_html/cinemacom.ru/engine/modules/show.full.php:447) in /home/byroot/public_html/cinemacom.ru/engine/modules/show.full.php on line 447
    447 строка выходит какрас у меня на начало этой функции: function get_cat_link($id, $type = 'link'){
     
  6. DemanZ

    DemanZ Постоялец

    Регистр.:
    16 мар 2007
    Сообщения:
    144
    Симпатии:
    113
    Ошибка говорит:
    что у тебя уже есть такая функция... и переопределить её нельзя

    я так думаю у тебя там просто цикл... из за этого и ошибка, перемести функцию в самый вверх, а именно после:
    Код:
    if(!defined('DATALIFEENGINE'))
    {
      die("Hacking attempt!");
    }
     
    killoff нравится это.
  7. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.238
    Симпатии:
    831
    Все работает :yahoo:
    Установил финкцию в самое начало после die("Hacking attempt!");}
    Спасибо DemanZ
     
  8. DemanZ

    DemanZ Постоялец

    Регистр.:
    16 мар 2007
    Сообщения:
    144
    Симпатии:
    113
    Ещё такой момент если ты переправишь
    Код:
    get_cat_link(stripslashes($related['category']), 'text')
    text на link тогда будут ссылки на категорию, как ты понял...
    З.Ы. :)
     
  9. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.238
    Симпатии:
    831
    Проверил, ссылки тоже работают :) , но мне не надо ссылок на категории, вполне устраивает просто название категории...
     
Статус темы:
Закрыта.