Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

rss

Вы не зашли.

Объявление

#1 2009-06-13 00:49:19

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Сортировка выводимых новостей по дате обновления

Хотелось бы, чтоб можно было делать сортировку на главной, в категориях и при редактировании еще и по дате обновления новости.

Неактивен

 

#2 2009-06-13 01:45:36

vairus
Пользователь
Зарегистрирован: 2008-10-13
Сообщений: 120
Рейтинг :   
Профиль

Re: Сортировка выводимых новостей по дате обновления

includes - news.php

найти:    

Код:

$orderBy = "pinned desc,  ".$config['default_newsorder'];

заменить на    

Код:

$orderBy = "postdate desc, ".$config['default_newsorder'];

Отредактированно vairus (2009-06-13 01:47:07)

Неактивен

 

#3 2009-06-13 02:07:59

SeeD
Пользователь
Откуда: Москва
Зарегистрирован: 2008-10-13
Сообщений: 158
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

эм, я может быть туплю, но разве

Настройки - Управление категориями - Редактировать - Порядок сортировки внутри категории

это не то, что тебе нужно? там и ID и дата и даже по рейтингу. задать новую дату для новости можно во время её редактирования на вкладке Дополнительно.

кстати, хотелось бы попросить хак или плагин, коорый бы позволял пользователю выбирать тип сортировки: дата, просмотры и рейтинг. это наверняка совсем не сложно и еще на шажок приблизило бы CMS к функциональности каталога.


делай, что надо и будь, что будет

Неактивен

 

#4 2009-06-14 15:24:42

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

Настройки - Управление категориями - Редактировать - Порядок сортировки внутри категории

то, но там нет "По дате обновления"

Неактивен

 

#5 2009-06-14 21:18:36

SeeD
Пользователь
Откуда: Москва
Зарегистрирован: 2008-10-13
Сообщений: 158
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

я ведь все объяснил. меняешь тип сортировки, а при редактировании задаешь новую дату.


делай, что надо и будь, что будет

Неактивен

 

#6 2009-06-14 23:23:03

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

я ведь все объяснил. меняешь тип сортировки, а при редактировании задаешь новую дату.

это всем публикующим объявить предлагаешь? + ко всему во вкладке дополнительно вручную вбивать текущую дату и время?

Отредактированно panoptus (2009-06-14 23:24:47)

Неактивен

 

#7 2009-06-15 00:07:11

SeeD
Пользователь
Откуда: Москва
Зарегистрирован: 2008-10-13
Сообщений: 158
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

у тебя десятки новостей каждый день требуют обновления? в таком случае извини, что предложил неподходящее решение. просто сам пользуюсь периодически и никаких проблем не испытываю.

Отредактированно SeeD (2009-06-15 00:07:25)


делай, что надо и будь, что будет

Неактивен

 

#8 2009-06-15 01:03:17

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

SeeD, спасибо за помощь, правда спасибо, но нужна именно доработка, а не способ.

Неактивен

 

#9 2009-06-15 02:20:23

insider
Пользователь
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

/engine/actions/configuration.php
Найти

Код:

    'default_newsorder'                =>    MakeDropDown(array('id desc' => $lang['order_id_desc'], 'id asc' => $lang['order_id_asc'], 'postdate desc' => $lang['order_postdate_desc'], 'postdate asc' => $lang['order_postdate_asc'], 'title desc' => $lang['order_title_desc'], 'title asc' => $lang['order_title_asc']), "save_con[default_newsorder]", $config['default_newsorder']),

Заменить на

Код:

    'default_newsorder'                =>    MakeDropDown(array('id desc' => $lang['order_id_desc'], 'id asc' => $lang['order_id_asc'], 'postdate desc' => $lang['order_postdate_desc'], 'postdate asc' => $lang['order_postdate_asc'], 'editdate desc' => "дате редактирования / убывание", 'editdate asc' => "дате редактирования / возрастание", 'title desc' => $lang['order_title_desc'], 'title asc' => $lang['order_title_asc']), "save_con[default_newsorder]", $config['default_newsorder']),

/engine/includes/news.php
Найти

Код:

        if (in_array($config['default_newsorder'], array('id desc', 'id asc', 'postdate desc', 'postdate asc', 'title desc', 'title asc'))) {

Заменить на

Код:

        if (in_array($config['default_newsorder'], array('id desc', 'id asc', 'postdate desc', 'postdate asc', 'editdate desc', 'editdate asc', 'title desc', 'title asc'))) {

/engine/includes/inc/functions.inc.php
Найти

Код:

function OrderList($value) {
    global $lang, $catz;

    $output = "<select name=\"orderby\">\n";
    foreach (array('id desc', 'id asc', 'postdate desc', 'postdate asc', 'title desc', 'title asc', 'rating desc', 'rating asc') as $v) {
            $vx = str_replace(' ','_',$v);
        $output.='<option value="'.$v.'"'.(($value==$v)?' selected="selected"':'').'>'.$lang["order_$vx"]."</option>\n";
    }
    $output.="</select>\n";
    return $output;
}

Заменить на

Код:

function OrderList($value) {
    global $lang, $catz;

    $lang['order_editdate_desc'] = "дате редактирования / убывание";
    $lang['order_editdate_asc'] = "дате редактирования / возрастание";
    $output = "<select name=\"orderby\">\n";
    foreach (array('id desc', 'id asc', 'postdate desc', 'postdate asc', 'editdate desc', 'editdate asc', 'title desc', 'title asc', 'rating desc', 'rating asc') as $v) {
            $vx = str_replace(' ','_',$v);
        $output.='<option value="'.$v.'"'.(($value==$v)?' selected="selected"':'').'>'.$lang["order_$vx"]."</option>\n";
    }
    $output.="</select>\n";
    return $output;
}

Неактивен

 

#10 2009-06-15 11:23:38

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

insider, спасибо. Я видимо не до конца изложил мысль по сортировке - бывает ведь когда новость не редактировалась вообще. Нередактированные новости, судя по всему, сортируются "по ID - убывание"... Не знаю что тут можно придумать... Самый лучший вариант был бы, чтоб у нередактированных новостей в поле "дата редактирования" была дата создания.
ЗЫ: В новый движок этот патч войдет?

Отредактированно panoptus (2009-06-15 11:53:35)

Неактивен

 

#11 2009-06-15 16:15:33

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: Сортировка выводимых новостей по дате обновления

Вполне возможно.
Основной вопрос в том, что надо будет менять логику хранения информации в поле `дата обновления`.
Сейчас если новость не редактировалась - там стоит 0, а чтобы правильно заработало то, что хочешь ты - там должна стоять дата создания новости.

Неактивен

 

#12 2009-06-15 16:23:58

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

Сейчас если новость не редактировалась - там стоит 0, а чтобы правильно заработало то, что хочешь ты - там должна стоять дата создания новости.

этого я и добиваюсь

Неактивен

 

#13 2013-09-24 15:09:45

UriyZenkov
Пользователь
Зарегистрирован: 2011-01-13
Сообщений: 252
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

В config.php есть строка default_newsorder' => 'postdate desc'. Если это сортировка новостей "по умолчанию", перечислите, пожалуйста, все значения default_newsorder.

Неактивен

 

#14 2013-09-24 23:16:56

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2667
Рейтинг :   173 
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

id desc
id asc
postdate desc
postdate asc
title desc
title asc

Неактивен

 

#15 2013-09-25 18:42:48

UriyZenkov
Пользователь
Зарегистрирован: 2011-01-13
Сообщений: 252
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

Это, как я понял, порядок сортировки на главной странице, а как изменить умолчания сортировки в категориях?

Отредактированно UriyZenkov (2013-09-25 19:00:28)

Неактивен

 

#16 2013-09-25 19:15:25

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2667
Рейтинг :   173 
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

В настройках категории.

Неактивен

 

#17 2013-09-27 12:50:55

UriyZenkov
Пользователь
Зарегистрирован: 2011-01-13
Сообщений: 252
Рейтинг :   
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

Так придется заходить в настройки каждой категории, а как изменить сортировку сразу во всех категориях ?

Неактивен

 

#18 2016-02-06 22:58:08

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2667
Рейтинг :   173 
Профиль  Вебсайт

Re: Сортировка выводимых новостей по дате обновления

Для последних версий NG:

1) В engine/includes/inc/functions.inc.php найти:

Код:

foreach (array('id desc', 'id asc', 'postdate desc', 'postdate asc', 'title desc', 'title asc', 'rating desc', 'rating asc') as $v) {

Заменить:

Код:

foreach (array('id desc', 'id asc', 'postdate desc', 'postdate asc', 'title desc', 'title asc', 'rating desc', 'rating asc', 'xfields_rub desc', 'xfields_rub asc') as $v) {

2) В /engine/lang/russian/admin/categories.ini добавить:

Код:

order_xfields_rub_desc  = "По xfields_rub / убывание"
order_xfields_rub_asc   =  "По xfields_rub / возрастание"

В /engine/lang/russian/admin/configuration.ini добавить:

Код:

order_xfields_rub_desc  = "По xfields_rub / убывание"
order_xfields_rub_asc   = "По xfields_rub / возрастание"

3) В /engine/includes/inc/libnews.php найти:

Код:

if (!in_array($orderBy, array('id desc', 'id asc', 'postdate desc', 'postdate asc', 'title desc', 'title asc')))

Заменить на:

Код:

if (!in_array($orderBy, array('id desc', 'id asc', 'postdate desc', 'postdate asc', 'title desc', 'title asc', 'xfields_rub desc', 'xfields_rub asc')))

4) В /engine/skins/default/tpl/configuration.tpl найти:

Код:

{{ mkSelect({'name' : 'save_con[default_newsorder]', 'value' : config['default_newsorder'], 'values' : { 'id desc' : lang['order_id_desc'], 'id asc' : lang['order_id_asc'], 'postdate desc' : lang['order_postdate_desc'], 'postdate asc' : lang['order_postdate_asc'], 'title desc' : lang['order_title_desc'], 'title asc' : lang['order_title_asc'] } }) }}

Заменить на:

Код:

{{ mkSelect({'name' : 'save_con[default_newsorder]', 'value' : config['default_newsorder'], 'values' : { 'id desc' : lang['order_id_desc'], 'id asc' : lang['order_id_asc'], 'postdate desc' : lang['order_postdate_desc'], 'postdate asc' : lang['order_postdate_asc'], 'title desc' : lang['order_title_desc'], 'title asc' : lang['order_title_asc'], 'xfields_rub asc' : lang['order_xfields_rub_asc'], 'xfields_rub desc' : lang['order_xfields_rub_desc'] } }) }}

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.020 seconds, 26 queries executed ]