Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Буквенный каталог - новости из конкретных категорий

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


     23.11.2012    Общие вопросы по PHP    4067

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

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

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

Ответил: vitnet


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

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

Готово!

Комментарии пользователей (12)

DimakoMC
9 | 2

DimakoMC - 20 июня 2013 00:13 - Юзер

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

Xeons
50 | 8

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

подниму...

vitnet
218

2172 | 930

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
50 | 8

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

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

vitnet
218

2172 | 930

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

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

Xeons
50 | 8

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

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

Xeons
50 | 8

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

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

vitnet
218

2172 | 930

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


Alexej1984
7

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
218

2172 | 930

vitnet - 20 мая 2015 19:26 - Эксперт

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

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

SEOWEB
29 | 10

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

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

SEOWEB
29 | 10

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

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

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

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