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

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


     16.05.2014    Все вопросы » Общие вопросы    3022

вопрос
При помощи тега {category-url} в полной новости можно вывести ссылки на все категории к которой принадлежит новость, выглядить будет так: категория1, категория2, категория3...

а как можно сделать так, чтобы категории разделить по разным строчкам, пример:
что: категория1
где: категория2
когда: категория3

видел сайты где так реализовано, а сам так сделать не знаю как.

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


3 комментария

newdancer
Юзер

newdancer - 17 мая 2014 12:04 -

тоже видел не раз. может кто возьмется на платной основе реализовать данный модуль

vitnet
PHP-developer

vitnet - 17 мая 2014 19:43 -

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}

newdancer
Юзер

newdancer - 17 мая 2014 23:07 -

vitnet,
а можно немного по подробней как вывести это в shortstory. К примеру есть
Год выхода: 2014
Страна: Канада, Франция
Жанр: боевик, драма, криминал
жанры, страны, года занесены в категории. как при добавлении их в новости, теперь вывести их???

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

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

 02.11.2014 newdancer  Общие вопросы
наверх