По умолчанию drupal показывает самые новые ноды и далее самые старые.
Как сменить порядок показа нод наоборот?
чтобы наверху были самые старые ноды и внизу самые новые?
P.S. глуппо, но заказчик такую хрень хочет
Может это возможно и изменением настроек сделать, только я не знаю как, а можно в node.module отредактировать запрос к базе, который формирует данные для вывода их на главной странице. У меня этот запрос в 1967 строке находится:
$result = pager_query(db_rewrite_sql('SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC'), variable_get('default_nodes_main', 10));
исправил на
$result = pager_query(db_rewrite_sql('SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky ASC, n.created ASC'), variable_get('default_nodes_main', 10));
а можно ли без правки ядра, указать обратную сортировку при отображении всех нод.
для создания меню и отображения модуль используется модуль taxonomy_menu
для отображения данных я модуль использую taxonomy_menu.
я изменил функцию на
$result = pager_query(db_rewrite_sql('SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky ASC, n.created ASC'), variable_get('default_nodes_main', 10));
но ничего не изменилось.
тогда я закомментировал функцию, но все осталось по прежнему.
Неужели эта функция не используется при отображении данных с использвоанием модуля taxonomy_menu???
Комментарии
Может это возможно и изменением настроек сделать, только я не знаю как, а можно в node.module отредактировать запрос к базе, который формирует данные для вывода их на главной странице. У меня этот запрос в 1967 строке находится:
$result = pager_query(db_rewrite_sql('SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC'), variable_get('default_nodes_main', 10));
исправил на
$result = pager_query(db_rewrite_sql('SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky ASC, n.created ASC'), variable_get('default_nodes_main', 10));
и порядок отображения поменялся.
Вместо правки ядра, лучше создать PHP-страницу и сделать её главной (/admin/settings -- General settings -- Default front page:)
а можно ли без правки ядра, указать обратную сортировку при отображении всех нод.
для создания меню и отображения модуль используется модуль taxonomy_menu
для отображения данных я модуль использую taxonomy_menu.
я изменил функцию на
$result = pager_query(db_rewrite_sql('SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky ASC, n.created ASC'), variable_get('default_nodes_main', 10));
но ничего не изменилось.
тогда я закомментировал функцию, но все осталось по прежнему.
Неужели эта функция не используется при отображении данных с использвоанием модуля taxonomy_menu???
"но ничего не изменилось." - на какой странице не изменилось?
на страницах сгенерированных модулем taxonomy_menu.