Модуль Book сортировка

Главные вкладки

Комментарии

Аватар пользователя ddd200 ddd200 3 августа 2011 в 13:35

Не знаю как в семерке, а в шестерке нужно поправить 2 файла.
1. modules/book/book.module (для сортировки списка подшивок)

в функции function book_get_books

вместо $result2 = db_query(db_rewrite_sql("SELECT n.type, n.title, b.*, ml.* FROM {book} b INNER JOIN {node} n on b.nid = n.nid INNER JOIN {menu_links} ml ON b.mlid = ml.mlid WHERE n.nid IN (". implode(',', $nids) .") AND n.status = 1 ORDER BY ml.link_title, ml.weight "));

вставить $result2 = db_query(db_rewrite_sql("SELECT n.type, n.title, b.*, ml.* FROM {book} b INNER JOIN {node} n on b.nid = n.nid INNER JOIN {menu_links} ml ON b.mlid = ml.mlid WHERE n.nid IN (". implode(',', $nids) .") AND n.status = 1 ORDER BY n.created ASC "));

в функции book_menu_subtree_data
вместо $sql = "
SELECT b.*, m.load_functions, m.to_arg_functions, m.access_callback, m.access_arguments, m.page_callback, m.page_arguments, m.title, m.title_callback, m.titl
e_arguments, m.type, ml.*
FROM {menu_links} ml INNER JOIN {menu_router} m ON m.path = ml.router_path
INNER JOIN {book} b ON ml.mlid = b.mlid
WHERE ". implode(' AND ', $match) ."
ORDER BY p1 ASC, p2 ASC, p3 ASC, p4 ASC, p5 ASC, p6 ASC, p7 ASC, p8 ASC, p9 ASC";
вставляем
$sql = "
SELECT b.*, m.load_functions, m.to_arg_functions, m.access_callback, m.access_arguments, m.page_callback, m.page_arguments,
m.title, m.title_callback, m.title_arguments, m.type, ml.*
FROM {menu_links} ml INNER JOIN {menu_router} m ON m.path = ml.router_path
INNER JOIN {book} b ON ml.mlid = b.mlid INNER JOIN {node} n ON b.nid = n.nid
WHERE ". implode(' AND ', $match) ."
ORDER BY n.created";

2. includes/menu.inc (отключение сортировки страниц подшивки по алфавиту)
в функции function _menu_tree_check_access
закомментировать строку ksort($new_tree);

Вряд ли в семерке сильные отличия. Внимание: эти модификации пристально не тестировались!