Added sort key and guide on it
This commit is contained in:
parent
bc74916054
commit
bc60df6d26
|
@ -0,0 +1,21 @@
|
|||
title: sort_key
|
||||
---
|
||||
summary: An integer type specific for sorting.
|
||||
---
|
||||
type: type
|
||||
---
|
||||
body:
|
||||
|
||||
The `sort_key` type is similar to the `integer` type which is one of the most
|
||||
basic ones in Lektor. It can store arbitrary natural numbers both negative and
|
||||
positive. It's intended for giving pages a sort order. The reason it's a
|
||||
special type is that future versions of Lektor can take advantage of this to
|
||||
implement a widget for ordering.
|
||||
|
||||
## Field Usage
|
||||
|
||||
```ini
|
||||
[fields.sort_key]
|
||||
label = Sort order
|
||||
type = sort_key
|
||||
```
|
|
@ -0,0 +1,51 @@
|
|||
title: Page Order
|
||||
---
|
||||
summary: How to get your pages ordered.
|
||||
---
|
||||
body:
|
||||
|
||||
Pages can generally have an order defined. This order comes from the
|
||||
configuration of children in the parent model or can be explicitly provided.
|
||||
This page guides you through all the different options you have.
|
||||
|
||||
## Default Configuration
|
||||
|
||||
The most common way to get order into your pages is the configuration for
|
||||
children. This way an order can be defined that is used by default for any
|
||||
query involving the children of a page. So what can you order by? You can
|
||||
order by any field you want. For instance to order by the name of a page
|
||||
you can do this:
|
||||
|
||||
```ini
|
||||
[children]
|
||||
model = project
|
||||
order_by = name
|
||||
```
|
||||
|
||||
This will automatically order the `.children` query by the name of a project.
|
||||
You can define more than one ordering. For instance you could order blog
|
||||
posts by dates in decreasing order and secondarily by the blog title:
|
||||
|
||||
```ini
|
||||
[children]
|
||||
model = blog-post
|
||||
order_by = -pub_date, title
|
||||
```
|
||||
|
||||
A minus sign as prefix reverses the order.
|
||||
|
||||
## Specific Order
|
||||
|
||||
But what to do if you want to order something specifically? In that case you
|
||||
can use the [sort_key :ref](../../api/db/types/sort-key/) type and configure
|
||||
that:
|
||||
|
||||
```ini
|
||||
[children]
|
||||
model = doc-page
|
||||
order_by = sort_key
|
||||
```
|
||||
|
||||
Currently you need to explicitly give numbers in this field but future versions
|
||||
of Lektor will provide support for automatically reordering them in the admin
|
||||
panel.
|
Loading…
Reference in New Issue