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.5(2w ago)581MITPHPPHP &gt;=8.3.8

Since Sep 11Pushed 2w 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 2w ago

READMEChangelog (6)Dependencies (4)Versions (6)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

46

—

FairBetter than 92% of packages

Maintenance96

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 88.9% 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 ~172 days

Total

5

Last Release

17d 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 (8 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.5k606.6k541](/packages/getkirby-cms)[medienbaecker/kirby-modules

Easily add modules to your pages

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

Better HTML attribute handling for your snippets and templates.

238.8k1](/packages/fabianmichael-kirby-template-attributes)[johannschopplich/kirby-content-translator

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

2011.4k](/packages/johannschopplich-kirby-content-translator)[wearejust/kirby-twig

Twig templating support for Kirby CMS

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

Enable Laravel Blade Template Engine for Kirby 4 and Kirby 5

2111.1k](/packages/leitsch-kirby-blade)

PHPackages © 2026

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