Сортировка child книги

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

Аватар пользователя Serg_A Serg_A 20 июня 2009 в 19:12

Доброго дня всем

Как отсортировать детей книги не по алфавиту а по дате создания? Сортировка по весу не подходит - детей много, значений веса не хватит. Поиск по нашему форуму результатов не дал, равно как и на drupal.org. Там дается переделка модуля book но для 5 версии :-(, а вопрос интересует многих. Неужели для такой простой задачи нужно "стрелять по воробьям из пушки" и использовать вьюс.

Комментарии

Аватар пользователя Serg_A Serg_A 20 июня 2009 в 21:07

Строку я нашел, конечно - это есть на друпал.орг
"ORDER BY ml.weight, ml.link_title"

Указана и замена
"ORDER BY n.created"

Но ничего не меняется. Кэш чистил. Вообще отключил кэширование.

Я не силен в АПИ, может подскажете что менять.
Вероятно, у этого "ml" есть кроме "weight" и "link_title" другие значения.

Попробовал
"ORDER BY ml.weight, ml.created" - Ошибка, мол, неизвестная запись... 6 часов мудохаюсь... Smile

Вдогонку (еще час ковыряния). Строка ORDER BY находится в функции book_get_books(). Другой ORDER BY нет в файле book.module. Так вот, я удалил всю функцию для проверки и система спокойно работает и без нее. Выводит книги, все в порядке. А вот при создании книги падает с фатальной ошибкой, что нет такой функции. Выходит, что сортировка получется при создании книг? Это же нонсенс. Или я поехал уже к вечеру...

Аватар пользователя neochief neochief 21 июня 2009 в 4:57

Ссылки книги это элементы меню, у которых есть только тайтлы и веса. Вы можете двигать веса прямо в админке, но завязка на created ноды это уже задача другого порядка сложности. Простой ORDER BY здесь не поможет, да и нет его там вообще. Как вариант, можно определить свой hook_nodeapi() и на update ноды в вес ее пункта меню прописывать значение created. Это будет эмулировать желаемое поведение.