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

Отключить сортировку в админке dle


     16.06.2014    Общие вопросы, Ламерские вопросы    1695

вопрос
Добрый день.
Хочу отключить сортировку фиксированных новостей в админке DLE 10.
Что нужно поправить в /engine/inc/editnews.php, чтобы была сортировка новостей
в админке по дате, вне зависимости есть фиксированные или нет?

Ответил: shadow6630


найдите
if( ! $order_by ) $order_by = "fixed desc, approve asc, date desc";
и замените на
if( ! $order_by ) $order_by = "approve asc, date desc";

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

dod1
17

dod1 - 16 июня 2014 14:16 - Юзер

Спасибо большое, а то там много условий на fixed, запутался(

dod1
17

dod1 - 16 июня 2014 14:30 - Юзер

И еще один вопрос, можете помочь (не по админке а по главных новостях)?

У меня в main.tpl выводятся главные новости через шаблон man-1.tpl (в нем время стилизовано и заглавие с описанием)
{custom category="2-5" template="man-1" aviable="main" limit="20" order="date"}

Проблема в том, что выводятся новости не только те которые отмечены на главную в админке, а все новые с этих разделов по времени.
Что нужно поправить/или как правильно вывести?

shadow6630
6

131 | 55

shadow6630 - 16 июня 2014 14:35 - Юзер

Вы новости на главную выводите через кастом, а в нем нет сортировки по новостям с пометкой "Показывать на главной", поэтому или использовать стандартный вывод либо дорабатывать кастом, что бы в нем учитывалось это значение, ну это уже в стол заказов.

dod1
17

dod1 - 16 июня 2014 15:08 - Юзер

shadow6630, спасибо, я понял.

Тогда не подскажете как сделать количество новостей для главной если я выведу через стандартный
{content}

shadow6630
6

131 | 55

shadow6630 - 16 июня 2014 16:12 - Юзер

Как вариант в Настройки вывода новостей прописать Количество новостей на страницу, правда эта настройка для всех страниц, а не только для главной, но можна в настройках конкретной категории задать свое количество новостей (если нужно)

dod1
17

dod1 - 16 июня 2014 17:39 - Юзер

Я тоже так хотел сделать.
Но думал может лимит можно ставить именно для главной .
Или есть хак какой-то для главной (нашел хак за день и месяц выводить только, а по количеству нет).

shadow6630
6

131 | 55

shadow6630 - 16 июня 2014 18:04 - Юзер

Попробуй так, найти
// ################ Новости на главной #################
            if ($year == '' AND $month == '' AND $day == '' AND !$newsid) {

                if( $config['start_site'] == 2 AND $view_template != "rss") {
                    break;                
                }

                if ($cstart) {
                    
                    $cstart = $cstart - 1;
                    $cstart = $cstart * $config['news_number'];
                    $newsmodule = true;            
                }
            
                $url_page = substr ( $config['http_home_url'], 0, strlen ( $config['http_home_url'] ) - 1 );
                $user_query = "";

                if($_SERVER['REQUEST_URI'] != "/" AND $cstart == 0) $canonical = true;
                
                if (isset ( $view_template ) and $view_template == "rss") {
                    
                    $sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE {$stop_list}approve=1";
                    
                    if ($config['rss_mtype']) {
                        
                        $sql_select .= " AND allow_main=1";
                    
                    }
                    
                    $sql_select .= $where_date . " ORDER BY date DESC LIMIT 0," . $config['rss_number'];
                
                } else {
                    
                    if (isset ( $_SESSION['dle_sort_main'] )) $news_sort_by = $_SESSION['dle_sort_main'];
                    if (isset ( $_SESSION['dle_direction_main'] )) $news_direction_by = $_SESSION['dle_direction_main'];
                    
                    $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 {$stop_list}approve=1 AND allow_main=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
                    $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}approve=1 AND allow_main=1" . $where_date;
                
                }
            }

shadow6630
6

131 | 55

shadow6630 - 16 июня 2014 18:04 - Юзер

заменить на
// ################ Новости на главной #################
            if ($year == '' AND $month == '' AND $day == '' AND !$newsid) {

                if( $config['start_site'] == 2 AND $view_template != "rss") {
                    break;                
                }

                if ($cstart) {
                    
                    $cstart = $cstart - 1;
                    $cstart = $cstart * $news_number;
                    $newsmodule = true;            
                }
                    
                                $news_number = "20";
  
                $url_page = substr ( $config['http_home_url'], 0, strlen ( $config['http_home_url'] ) - 1 );
                $user_query = "";

                if($_SERVER['REQUEST_URI'] != "/" AND $cstart == 0) $canonical = true;
                
                if (isset ( $view_template ) and $view_template == "rss") {
                    
                    $sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE {$stop_list}approve=1";
                    
                    if ($config['rss_mtype']) {
                        
                        $sql_select .= " AND allow_main=1";
                    
                    }
                    
                    $sql_select .= $where_date . " ORDER BY date DESC LIMIT 0," . $config['rss_number'];
                
                } else {
                    
                    if (isset ( $_SESSION['dle_sort_main'] )) $news_sort_by = $_SESSION['dle_sort_main'];
                    if (isset ( $_SESSION['dle_direction_main'] )) $news_direction_by = $_SESSION['dle_direction_main'];
                    
                    $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 {$stop_list}approve=1 AND allow_main=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $news_number;
                    $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}approve=1 AND allow_main=1" . $where_date;
                
                }
            }
где $news_number = "20"; количество новостей на главной

shadow6630
6

131 | 55

shadow6630 - 16 июня 2014 18:57 - Юзер

Забыл написать, этот код заменять в /engine/engine.php

dod1
17

dod1 - 16 июня 2014 19:16 - Юзер

shadow6630, большое спасибо!
Выручил!

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

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