PHPackages                             swiegmann/kirby-index-block - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. swiegmann/kirby-index-block

ActiveKirby-plugin[Templating &amp; Views](/categories/templating)

swiegmann/kirby-index-block
===========================

Kirby Index Block

1.0.4(8mo ago)581MITPHPPHP &gt;=8.3.8

Since Sep 11Pushed 8mo ago2 watchersCompare

[ Source](https://github.com/swiegmann/kirby-index-block)[ Packagist](https://packagist.org/packages/swiegmann/kirby-index-block)[ Docs](https://github.com/swiegmann/kirby-index-block)[ RSS](/packages/swiegmann-kirby-index-block/feed)WikiDiscussions main Synced yesterday

READMEChangelog (5)Dependencies (2)Versions (5)Used By (0)

Kirby Index Block
=================

[](#kirby-index-block)

This plugin displays individual index-pages with a variety of options such as:

- page(s)-selection
    - w/o including children
    - limiting to templates
    - applying custom filters (using $pages-methods)
    - transforming to files is possible with filters
- sorting
    - asc/desc by any field
    - randomizing
- pagination
- navigation
- custom html-tags
- custom snippets
- custom fields
- extend blueprint with own tabs

Current translations:

- English
- French (thanks [@joachimesque](https://github.com/joachimesque))
- German

[ ![Block preview](kirby-index-block.png)](kirby-index-block.png)Prerequisites
-------------

[](#prerequisites)

- Kirby 4.3+

Installation
------------

[](#installation)

### Download

[](#download)

Download and copy this repository to `/site/plugins/kirby-index-block`.

### Git submodule

[](#git-submodule)

```
git submodule add https://github.com/swiegmann/kirby-index-block.git site/plugins/kirby-index-block

```

### Composer

[](#composer)

```
composer require swiegmann/kirby-index-block

```

Usage
-----

[](#usage)

Add the block-type `index` to your layout/block-blueprints. Add a block, select "Index". The frontend should display already an unformatted index. You can start applying css to it, and that may already be sufficient to your needs.

However, you can read on and customize the plugin.

Options
-------

[](#options)

PropertyDefaultDescriptionfilterPath/site/helpers/index-block/filters(string) path to custom filter filessnippetPath/site/snippets/index-block(string) path to custom snippet filespaginationCurrentPageCssClassactive(string) css-class for the current pagination pagepaginationUrlArgumentp(string) url-argument for generated navigation- &amp; pagination-linksOverwrite all values in `/site/config/config.php`.

Appy filters, sorting, etc. to the results
------------------------------------------

[](#appy-filters-sorting-etc-to-the-results)

1. Create a php-file in: `/site/helpers/index-block/filters`. *Note: This path is a plugin-option, you can override it.*
2. The file will receive the current result-set of pages with the variable name `$entries`. It is an instance of `Kirby\Cms\Pages`, you can apply all methods of `$pages` to it. The file must return the variable, it must end with: `return $entries`. *Note: You can return also a variable type of* `Kirby\Cms\Files` *by using the relevant* `$pages`*-methods. So the result can be regular files or images.*
3. In the block-section "Pages" click "Apply filter file" and select the file from the list. *Note: The result-set that the filter-file receives is from the exact position in the panel, which is the actual "Apply filter file"-field. Everything below that field can override your filter again (especially sorting).*

Customize the default view of list and entries
----------------------------------------------

[](#customize-the-default-view-of-list-and-entries)

Copy the snippet-files from:

```
/site/plugins/kirby-index-block/snippets/index-block.php
/site/plugins/kirby-index-block/snippets/index-block-entry.php

```

to:

```
/site/snippets

```

and edit it.

Customize the view of a single block instance
---------------------------------------------

[](#customize-the-view-of-a-single-block-instance)

Copy the snippet-files from:

```
/site/plugins/kirby-index-block/snippets/index-block.php
/site/plugins/kirby-index-block/snippets/index-block-entry.php

```

to:

```
/site/snippets/index-block/index-block-[your-custom-name].php
/site/snippets/index-block/index-block-entry-[your-custom-name].php

```

*Note: The destination path is a plugin-option, you can override it.*

Edit the files. In the block-section "Snippet" enable "overwrite" and select the files.

Add own list and entry fields to the block
------------------------------------------

[](#add-own-list-and-entry-fields-to-the-block)

Copy the blueprint-files from:

```
/site/plugins/kirby-index-block/blueprints/groups/index-block-custom-list-fields.yml
/site/plugins/kirby-index-block/blueprints/groups/index-block-custom-entry-fields.yml

```

to:

```
/site/blueprints/groups

```

and add your own fields to the blueprints. The new fields appear below the default list/entry fields.

Add own tabs to the block
-------------------------

[](#add-own-tabs-to-the-block)

Copy the blueprint-file from:

```
/site/plugins/kirby-index-block/blueprints/blocks/index.yml

```

to:

```
/site/blueprints/blocks

```

and add your own tabs to the blueprint.

License
-------

[](#license)

[MIT License](https://github.com/swiegmann/kirby-index-block/blob/main/LICENSE) Copyright © 2024-present swiegmann

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance59

Moderate activity, may be stable

Popularity10

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 87.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~134 days

Total

4

Last Release

258d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f883f2015da18a2867f0fad57b3bb932a06078a6b0951ed6662bed8b972ae5b3?d=identicon)[swiegmann](/maintainers/swiegmann)

---

Top Contributors

[![swiegmann](https://avatars.githubusercontent.com/u/39836887?v=4)](https://github.com/swiegmann "swiegmann (7 commits)")[![joachimesque](https://avatars.githubusercontent.com/u/1781070?v=4)](https://github.com/joachimesque "joachimesque (1 commits)")

---

Tags

kirby-cmskirby-pluginkirby4kirby5

### Embed Badge

![Health badge](/badges/swiegmann-kirby-index-block/health.svg)

```
[![Health](https://phpackages.com/badges/swiegmann-kirby-index-block/health.svg)](https://phpackages.com/packages/swiegmann-kirby-index-block)
```

###  Alternatives

[getkirby/cms

The Kirby core

1.5k584.8k472](/packages/getkirby-cms)[medienbaecker/kirby-modules

Easily add modules to your pages

895.5k1](/packages/medienbaecker-kirby-modules)[fabianmichael/kirby-template-attributes

Better HTML attribute handling for your snippets and templates.

238.4k1](/packages/fabianmichael-kirby-template-attributes)[wearejust/kirby-twig

Twig templating support for Kirby CMS

2135.4k](/packages/wearejust-kirby-twig)[leitsch/kirby-blade

Enable Laravel Blade Template Engine for Kirby 4 and Kirby 5

2110.6k](/packages/leitsch-kirby-blade)[johannschopplich/kirby-content-translator

DeepL &amp; AI-powered content translation for Kirby CMS

2010.8k](/packages/johannschopplich-kirby-content-translator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
