Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как разделить под категории в полной новости и короткой

Как разделить под категории в полной новости и короткой


     05.09.2014    категории    Все вопросы » Общие вопросы    3707

вопрос
Всем привет подскажите как разделить под категории пример:

Под категории в админке идут к примеру вот так:
Год
   2014
   2013
Страна
   Россия
   Рим
Жанр
   боевик
   триллер

Год: подкатегория1
Страна: подкатегория2
Жанр: подкатегория3

я нашел на сайте реализацию но только категории а не подкатегории

Это категорий:

1. Создать файл cat.config.php со следующим содержимым и закинуть в engine/data/

<?PHP

// Category prefix Configurations

$prefixe = array (
    // ID категории --> Значение для нее
    '1' => "Test 1 ",
    '2' => "Test 2 ",
    '3' => "Test 3 ",
    '4' => "Test 4 ",
    '5' => "Test 5 ",
    '6' => "Test 6 ",
    '7' => "Test 7 ",
    '8' => "Test 8 ",
    '9' => "Test 9 ",
    '10' => "Test 10 ",
    '11' => "Test 11 ",
    '12' => "Test 12 ",
    '13' => "Test 13 ",
    '14' => "Test 14 ",
);

?>

2. Создать файл category.php со следующим содержимым и закинуть в engine/modules/
<?php

if( !defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

include_once(ENGINE_DIR . '/data/cat.config.php');

function get_cat($id) {
    global $cat_info, $config, $prefixe, $PHP_SELF;
    
    if( !$id ) return;

    if( $config['allow_alt_url'] ) $list = $prefixe[$id] . "<a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\">{$cat_info[$id]['name']}</a>";
    else $list = $prefixe[$id] . "<a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$id]['alt_name']}\">{$cat_info[$id]['name']}</a>";
    
    return $list;
}

?>

3. В нужном файле подключаем: пример в show.short.php найти
if( !$row['category'] ) {
            $my_cat = "---";
            $my_cat_link = "---";
        } else {
            ....
        }

ниже добавить
include_once ENGINE_DIR . '/modules/category.php';
        
        if( !$row['category'] ) {
            $my_cat_link = "---";
        } else {
            $my_cat_links = array ();
            $cat_list = explode( ',', $row['category'] );

            if( count( $cat_list ) == 1 OR ($view_template == "rss" AND $config['rss_format'] == 2)) {
                $my_cat_links = get_cat( $cat_list[0] );
            } else {
                foreach ( $cat_list as $element ) {
                    if( $element ) {
                        if( $config['allow_alt_url'] ) $my_cat_links[] = $prefixe[$element] . "<a href=\"" . $config['http_home_url'] . get_url( $element ) . "/\">{$cat_info[$element]['name']}</a>";
                        else $my_cat_links[] = $prefixe[$element] . "<a href=\"$PHP_SELF?do=cat&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
                    }
                }
                
                $my_cat_links = implode( '<br />', $my_cat_links );
            }
        }

        $tpl->set( '{my-category}', $my_cat_links );

в шаблоне (в данном случае shortstory.tpl) использовать тег {my-category}
_____________________________________________________________________

Данный способ рабочий, но как сделать с подкатегориями?

Ответа пока нет


5 комментариев

vitnet
PHP-developer

vitnet - 5 сентября 2014 23:32 -

3. .....

lodem009
Юзер

lodem009 - 5 сентября 2014 23:36 -

vitnet,
А это куда вставить?

lodem009
Юзер

lodem009 - 5 сентября 2014 23:47 -

Спасибо большое все разобрался!

lodem009
Юзер

lodem009 - 6 сентября 2014 00:13 -

Вот еще вопрос я ввожу в админке 3 категории а у меня выводиться все через запятую вот так: Страны: 2014, США а как сделать по отдельности? я так понял вот это строка отвечает $my_cat_links = $prefix . ": " . implode( ', ', $my_cat_links );

а я хотел бы вот так
Год: 2014
Страна: США

newdancer
Юзер

newdancer - 8 сентября 2014 22:17 -

lodem009,тоже было бы интересно. к примеру на сайте похоже так реализовано. или нет?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх