Доброго дня всем
Как отсортировать детей книги не по алфавиту а по дате создания? Сортировка по весу не подходит - детей много, значений веса не хватит. Поиск по нашему форуму результатов не дал, равно как и на drupal.org. Там дается переделка модуля book но для 5 версии :-(, а вопрос интересует многих. Неужели для такой простой задачи нужно "стрелять по воробьям из пушки" и использовать вьюс.
Комментарии
Простая задача и решается просто - идёте в текст модуля и правите всего лишь один ORDER BY в запросе.
Строку я нашел, конечно - это есть на друпал.орг
"ORDER BY ml.weight, ml.link_title"
Указана и замена
"ORDER BY n.created"
Но ничего не меняется. Кэш чистил. Вообще отключил кэширование.
Я не силен в АПИ, может подскажете что менять.
Вероятно, у этого "ml" есть кроме "weight" и "link_title" другие значения.
Попробовал
"ORDER BY ml.weight, ml.created" - Ошибка, мол, неизвестная запись... 6 часов мудохаюсь...
Вдогонку (еще час ковыряния). Строка ORDER BY находится в функции book_get_books(). Другой ORDER BY нет в файле book.module. Так вот, я удалил всю функцию для проверки и система спокойно работает и без нее. Выводит книги, все в порядке. А вот при создании книги падает с фатальной ошибкой, что нет такой функции. Выходит, что сортировка получется при создании книг? Это же нонсенс. Или я поехал уже к вечеру...
Ссылки книги это элементы меню, у которых есть только тайтлы и веса. Вы можете двигать веса прямо в админке, но завязка на created ноды это уже задача другого порядка сложности. Простой ORDER BY здесь не поможет, да и нет его там вообще. Как вариант, можно определить свой hook_nodeapi() и на update ноды в вес ее пункта меню прописывать значение created. Это будет эмулировать желаемое поведение.
Спасибо. Буду думать.