gearsdigital / enhanced-toolbar-link-dialog

Extend Kirby's default link dialog with search functionality, allowing you to easily create links to existing or external pages at your fingertips.
MIT License
62 stars 8 forks source link
kirby kirby-cms kirby-panel kirby3-plugin php

Enhanced Toolbar Link Dialog

Kirby Version E2E Downloads PHP 8.0

This plugin extends the default link dialog with search functionality, making it possible to create links to existing or external pages.

Configuration

These are all available configuration options and their default values.

Option Description Type Default
title Format the page title of the result list using Kirby Query Language. string {{ page.title }}
filter Filter the result list. Learn how to use filterBy. array null
sort Sort the result list. Learn how to use sortBy. array null
qualified Prefix every link with your current Site-Url. boolean false
translations Override plugin translations. array []
target-field By setting hidden, the field will be hidden. Setting disabled will disable the field but keep it visible. string
anchor-field By setting hidden, the field will be hidden. Setting disabled will disable the field but keep it visible. string

Usage

// site/config/config.php
return [
  "gearsdigital.enhanced-toolbar-link-dialog" => [
    "title" => "{{ page.title }}",
    "filter" => null,
    "sort" => null,
    "qualified" => false,
    "translations" => [],
    "anchor-field" => 'hidden',
    "target-field" => disabled,
  ]
];

Installation

Composer (recommended)

composer require gearsdigital/enhanced-toolbar-link-dialog

Download

Download the latest version, copy all files to /site/plugins/enhanced-toolbar-link-dialog.

Git submodule

git submodule add https://github.com/gearsdigital/enhanced-toolbar-link-dialog.git site/plugins/enhanced-toolbar-link-dialog

FAQ

Can I use this plugin with Kirby Blocks?

Starting from version 3.0.0, Blocks are supported, and it also works seamlessly with default textareas.

Can I link to different sites?

Yes, absolutely. Just write (or paste) the URL into the Link field.

Can I create anchor-only links?

If you want to jump to a specific part of the page you're currently editing, you can create anchor-only links by leaving the Link field empty and filling in the Anchor field.

Can I customize the result list page title?

Yes, you can use the title option to customize the title according to your needs using the Kirby Query Language.

Within a query, you have access to page, site, and kirby objects. For example, setting 'title' => '{{ page.title }} [{{ page.parent.title }}]' will display the title as 'Mountains [Photography]'.

Can I show only pages that match some specific criteria?

Certainly! By setting "filter"=> ['status', 'listed'], only listed pages will be displayed. You can study the Filtering compendium to learn more about filtering collections in Kirby.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Localization

This is the list of all available translation keys:

Key Value
gearsdigital.enhanced-toolbar-link-dialog.anchor.title Anchor
gearsdigital.enhanced-toolbar-link-dialog.field.autosuggest.placeholder Enter a URL or search termโ€ฆ

You can override translations by adding this to your site config.

// site/config/config.php
return [
  "gearsdigital.enhanced-toolbar-link-dialog" => [
    "translations" => [
      "en" => [
        "gearsdigital.enhanced-toolbar-link-dialog.autosuggest.placeholder" => "I'm overridden!",
      ],
    ],
  ]
]

Available languages

License

MIT