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

Буквенный каталог - новости из конкретных категорий


     23.11.2012    каталог    Все вопросы » Общие вопросы по PHP    4397

вопрос
Подскажите, как можно реализовать следующую штуку.. Мне нужно сделать так, чтобы буквенный каталог выводил новости сугубо из конкретных категорий. Т.е. я представляю себе это через указание ID категорий.. Т.е. прописать где-то номера категорий....Только как это реализовать и где это нужно прописать не знаю...

Для примера: т.е. чтобы нажимая буку "Д", выводились новости на будку Д, которые относятся только к тем категориям которые я хочу (которые я бы где-то указал через ID категории)

Можете помочь? Моя версия движка 9,7

Ответил: vitnet


1.0 Открыть файл .htaccess

Внимание! У вас нет прав для просмотра скрытого текста.

Готово!

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

DimakoMC
Юзер

DimakoMC - 20 июня 2013 00:13 -

+1, тоже интересует этот вопрос

Xeons
Юзер

Xeons - 7 сентября 2014 23:15 -

подниму...

vitnet
Эксперт

vitnet - 8 сентября 2014 00:58 -

engine/engine.php
        } elseif ($catalog != "") {
            // Вывод по буквенному идентификатору
            if ($cstart) {
                $cstart = $cstart - 1;
                $cstart = $cstart * $config['news_number'];
            }

            $newsmodule = true;
            
            $url_page = $config['http_home_url'] . "catalog/" . urlencode ( $catalog );
            $user_query = "catalog=" . urlencode ( $catalog );
            
            $news_sort_by = ($config['catalog_sort']) ? $config['catalog_sort'] : "date";
            $news_direction_by = ($config['catalog_msort']) ? $config['catalog_msort'] : "DESC";
            
            if (isset ( $_SESSION['dle_sort_catalog'] )) $news_sort_by = $_SESSION['dle_sort_catalog'];
            if (isset ( $_SESSION['dle_direction_catalog'] )) $news_direction_by = $_SESSION['dle_direction_catalog'];
            
            // ---------------------
            $category = "1,2,3"; // <-- ID категорий через запятую: 1,2,3

            $get_cats = str_replace ( ",", "|", $category );
            if( $config['allow_multi_category'] ) {
                $where_category = "category regexp '[[:<:]](" . $get_cats . ")[[:>:]]' AND ";
            } else {
                if( $config['show_sub_cats'] ) {
                    $get_cats = str_replace ( "|", "','", $get_cats );
                    $where_category = "category IN ('" . $get_cats . "') AND ";
                } else {
                    $where_category = "category = '{$get_cats}' AND ";
                }
            }
            // ----------------------
            
            $sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$where_category}{$stop_list} symbol = '$catalog' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
            $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$where_category} {$stop_list}symbol = '$catalog' AND approve=1" . $where_date;

        }

Xeons
Юзер

Xeons - 8 сентября 2014 16:21 -

Спасибо огромное, а можно чтобы через адресную строку задавалось? Для примера /cat:3/catalog/g

vitnet
Эксперт

vitnet - 8 сентября 2014 17:07 -

Можно, позже скину

Xeons
Юзер

Xeons - 8 сентября 2014 17:28 -

Спасибо! Буду ждать!

Xeons
Юзер

Xeons - 8 сентября 2014 23:21 -

vitnet, способ через адресную строку не работает, выводит все каталоги с заданной буквой, а когда убираю ключ категории вообще не работает! Все же огромное спасибо за помощь!

vitnet
Эксперт

vitnet - 8 сентября 2014 23:25 -


Alexej1984
Юзер

Alexej1984 - 18 мая 2015 15:39 -

Здравствуйте.
Не работает хак. Выдает ошибку: Access forbidden!
You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.
If you think this is a server error, please contact the webmaster.
Error 403

Установил в точности, как указано.
Я так понимаю, что выводить каталог надо через адрес: сайт.ру/cat:1/catalog/А/
В общем не работает. Помогите пожалуйста.

vitnet
Эксперт

vitnet - 20 мая 2015 19:26 -

Вам же написали в тексте ошибки:
Доступ запрещен!
Вы не имеете доступа к запрошенной каталог. Там либо нет Индекс документа или справочника для чтения защищены.
Если вы думаете, что это ошибка сервера, пожалуйста, обращайтесь к вебмастеру.
Ошибка 403

Настраивайте .htaccess

SEOWEB
Юзер

SEOWEB - 28 сентября 2015 18:49 -

не работает на 10,5, выдает что страницы нет

SEOWEB
Юзер

SEOWEB - 28 сентября 2015 18:48 -

не работает на 10,5, выдает что страницы нет

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

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

наверх