Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по PHP » Буквенный каталог - новости из конкретных категорий

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


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

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

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

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

Ответил: vitnet


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

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

Готово!

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

DimakoMC
Юзер

DimakoMC - -

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

Xeons
Юзер

Xeons - -

подниму...

vitnet
PHP-developer

vitnet - -

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

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

vitnet
PHP-developer

vitnet - -

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

Xeons
Юзер

Xeons - -

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

Xeons
Юзер

Xeons - -

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

Alexej1984
Юзер

Alexej1984 - -

Здравствуйте.
Не работает хак. Выдает ошибку: 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
PHP-developer

vitnet - -

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

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

SEOWEB
Юзер

SEOWEB - -

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

SEOWEB
Юзер

SEOWEB - -

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

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

наверх