Как стать автором
Обновить

Комментарии 8

Вы не поверите, но есть способ покороче!
Просто пишите
$paginator->sort('First Name', 'firstName');
и все!
а как узнать, в какую сторону (по возрастанию или по убыванию) отсортировано?
$this->params — там все есть, и поле по которому сортируют, и сторона в которую сортируют(как-то не по-русски получилось)
тогда каждый раз придется проверять, эта ли колонка сортируется, и в эту ли сторону. код раздует. а если эту фичу нужно добавить к уже готовому проекту?
Конечно Вы правы что надо будет проверять каждый раз какая это колонка.
Но не думаю что бы вы собирались делать футбольную таблицу.
там от силу будет 4-6 колонок…
даже если много колонок, кода придется писать очень мало, всего несколько строк.
таблица может и небольшая. а вот вьюшек часто бывает много.

на написание этой статьи меня сподвигло такое событие. у нас было несколько проектов на CakePHP разной степени готовности. про сортировку в таблицах при разработке конечно никто не позаботился, главной частью из-за сроков и из-за того, что клиенту это было не нужно.

но, через какое-то время конечно же было принято решение сделать «эту пимпочку», то есть приделать таки стрелку направления сортировки во всех проектах. дописывать все вьюшки было нецелесообразно. и мне было дано задание «ты там поковыряй, посмотри».

и я нашел, как мне кажется, самое элегантное решение.
думаю многим, у кого уже есть куча проектов, но у них еще нету такой симпатичной стрелочки, а они решили ее добавить, пригодится моя статья.
в 1.3 $paginator->sort() автоматически прописывает класс ссылок asc или desc.
Пока я думал, писать сюда статью или нет, вышла бета-версия CakePHP 1.3.0, и там это уже пофиксили, вот даже тикет с похожим вопросом.

:)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации