Вы не вошли.
includes - news.php
найти:
$orderBy = "pinned desc, ".$config['default_newsorder'];заменить на
$orderBy = "postdate desc, ".$config['default_newsorder'];Отредактировано vairus (2009-06-13 00:47:07)
Вне форума
эм, я может быть туплю, но разве
Настройки - Управление категориями - Редактировать - Порядок сортировки внутри категории
это не то, что тебе нужно? там и ID и дата и даже по рейтингу. задать новую дату для новости можно во время её редактирования на вкладке Дополнительно.
кстати, хотелось бы попросить хак или плагин, коорый бы позволял пользователю выбирать тип сортировки: дата, просмотры и рейтинг. это наверняка совсем не сложно и еще на шажок приблизило бы CMS к функциональности каталога.
делай, что надо и будь, что будет
Вне форума
я ведь все объяснил. меняешь тип сортировки, а при редактировании задаешь новую дату.
это всем публикующим объявить предлагаешь? + ко всему во вкладке дополнительно вручную вбивать текущую дату и время?
Отредактировано panoptus (2009-06-14 22:24:47)
Вне форума
у тебя десятки новостей каждый день требуют обновления? в таком случае извини, что предложил неподходящее решение. просто сам пользуюсь периодически и никаких проблем не испытываю.
Отредактировано SeeD (2009-06-14 23:07:25)
делай, что надо и будь, что будет
Вне форума
/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;
}Вне форума
insider, спасибо. Я видимо не до конца изложил мысль по сортировке - бывает ведь когда новость не редактировалась вообще. Нередактированные новости, судя по всему, сортируются "по ID - убывание"... Не знаю что тут можно придумать... Самый лучший вариант был бы, чтоб у нередактированных новостей в поле "дата редактирования" была дата создания.
ЗЫ: В новый движок этот патч войдет?
Отредактировано panoptus (2009-06-15 10:53:35)
Вне форума
Вполне возможно.
Основной вопрос в том, что надо будет менять логику хранения информации в поле `дата обновления`.
Сейчас если новость не редактировалась - там стоит 0, а чтобы правильно заработало то, что хочешь ты - там должна стоять дата создания новости.
Вне форума
Сейчас если новость не редактировалась - там стоит 0, а чтобы правильно заработало то, что хочешь ты - там должна стоять дата создания новости.
этого я и добиваюсь
Вне форума
В config.php есть строка default_newsorder' => 'postdate desc'. Если это сортировка новостей "по умолчанию", перечислите, пожалуйста, все значения default_newsorder.
Вне форума
id desc
id asc
postdate desc
postdate asc
title desc
title asc
Вне форума
Это, как я понял, порядок сортировки на главной странице, а как изменить умолчания сортировки в категориях?
Отредактировано UriyZenkov (2013-09-25 18:00:28)
Вне форума
В настройках категории.
Вне форума
Так придется заходить в настройки каждой категории, а как изменить сортировку сразу во всех категориях ?
Вне форума
Для последних версий 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'] } }) }}Вне форума
[ Сгенерировано за 0.027 сек, 7 запросов выполнено - Использовано памяти: 596.16 Кбайт (Пик: 633.16 Кбайт) ]