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

Как вывести только одну категорию через link-category?


     13.12.2017    Все вопросы » Общие вопросы    405

вопрос
Здравствуйте.
На сайте много новостей и категорий, некоторые новости добавляются в несколько категорий одновременно, при выводе ссылок через {link-category} получается весьма длинный список.
Подскажите как поправить, чтобы данный тег выводил только одну, первую категорию, а остальные нет.
И еще как вариант, как можно сделать, чтобы он выводил не все, а допустим первых три категории.

Спасибо.

Ответил: Sander


Создать файл engine/mods/categories.php
<?php
if( !defined('DATALIFEENGINE')) {
    die( "Hacking attempt!" );
}
global $row;
$list = explode(',', $row['category']);
$list = array_slice($list, 0, 3);
$echo = array();
foreach ($list as $element ) {
    $echo[] = "<a href=\"" . $config['http_home_url'] . get_url( $element ) . "/\">{$cat_info[$element]['name']}</a>";
}
echo join(', ', $echo);


В шаблоне подключать:
{include file="engine/mods/categories.php"}

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

Bordur
Юзер

Bordur - 14 декабря 2017 09:32 -

Павел-1, можете отписаться потом, помогло или нет?

ewak
Юзер

ewak - 14 декабря 2017 20:08 -

А как сделать чтобы выводилась только последняя категория?

Павел-1
Юзер

Павел-1 - 15 декабря 2017 01:38 -

Я не особо силен в PHP, думаю, достаточно
array_slice($list, 0, 3);

заменить на
array_slice($input, -1, 1);

ewak
Юзер

ewak - 15 декабря 2017 03:21 -

Не работает способ с ответа

Павел-1
Юзер

Павел-1 - 15 декабря 2017 15:11 -

Работает.

Надо в конце
$echo[] = "<a href=\"" . $config['http_home_url'] . get_url( $element ) . "/\">{$cat_info[$element]['name']}</a>"

точку с запетой поставить, пропущена.

Adrenaline
Юзер

Adrenaline - 1 апреля 2018 23:54 -

a pacemu php ne zakrit? ili tak nada?

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

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

 15.04.2017 Railway_Academy  Общие вопросы
наверх