Download the PHP package konradmichalik/typo3-pagetree-facets without Composer

On this page you can find all versions of the php package konradmichalik/typo3-pagetree-facets. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package typo3-pagetree-facets

![Extension icon](Resources/Public/Icons/Extension.png) # TYPO3 extension `typo3_pagetree_facets` [![Latest Stable Version](https://typo3-badges.dev/badge/typo3_pagetree_facets/version/shields.svg)](https://extensions.typo3.org/extension/typo3_pagetree_facets) ![TYPO3](https://img.shields.io/badge/TYPO3-14.3-orange.svg) ![PHP](https://img.shields.io/badge/PHP-8.3%20%7C%208.4%20%7C%208.5-blue.svg) [![CGL](https://img.shields.io/github/actions/workflow/status/konradmichalik/typo3-pagetree-facets/cgl.yml?label=cgl&logo=github)](https://github.com/konradmichalik/typo3-pagetree-facets/actions/workflows/cgl.yml) [![Coverage](https://img.shields.io/coverallsCoverage/github/konradmichalik/typo3-pagetree-facets?logo=coveralls)](https://coveralls.io/github/konradmichalik/typo3-pagetree-facets) [![Tests](https://img.shields.io/github/actions/workflow/status/konradmichalik/typo3-pagetree-facets/tests.yml?label=tests&logo=github)](https://github.com/konradmichalik/typo3-pagetree-facets/actions/workflows/tests.yml) [![License](https://img.shields.io/github/license/konradmichalik/typo3-pagetree-facets)](LICENSE.md)

This extension turns the TYPO3 backend page tree into a faceted filter. Instead of scrolling through a large tree, you narrow it down to exactly the pages you care about: by content type, page state, records, activity, translations or SEO.

Filters are compact tokens that you can type into the tree's existing search field or assemble in a guided modal, and the whole feature is extensible through a public filter tab API.

![Filter modal](.github/assets/filter-modal.png)

✨ Features

🔥 Installation

Requirements

Composer

Packagist Packagist Downloads

TER

TER version TER downloads

Download the zip file from TYPO3 extension repository (TER).

📖 How it works

Press Ctrl/Cmd+Shift+L (or use the toolbar button next to the tree's search field) to open the filter modal. Pick criteria by clicking through the tabs on the left; each selection appears as a removable chip above the tree, with a per-tab count of matching pages, and narrows the tree live as you go.

Prefer typing? The Token view toggle (top bar) swaps the freetext field for the full filter phrase, kept in two-way sync with the form — edit either side and the other follows. Note that editing the form re-serialises the phrase, so tokens the form cannot represent survive only while you stay in the field.

Under the hood, every filter is a compact token that lands in the tree's existing search field, so you can also skip the modal and type directly:

Whitespace means AND, a comma means OR within one criterion (doktype:1,4). Freetext without a key: prefix behaves like the core title/UID search, and unknown tokens are ignored.

Tab Token keys
Content elements ce:
Records table: record: text:
Activity updated: created: by: createdby:
Page type doktype:
Layouts layout: pagelayout:
Page state is:
Translations untranslated: translated:
SEO (requires EXT:seo) seo:
Scopes site:<identifier> under:<uid>

[!IMPORTANT] Every criterion resolves to pages, whatever it matches on. ce:uploads or table:tx_news_domain_model_news do not list content elements or news records — they narrow the tree to the pages those records live on. The result of a filter is always a set of pages.

Matching pages are marked in the tree with a narrow colour stripe — the same one the core's own title search uses. A filtered tree shows the matches plus the branches leading down to them, so the stripe is what tells an actual hit from a parent that is only there to hold it. Hover a node to read the reason in its tooltip.

[!NOTE] This is not the global backend search (the toolbar magnifier / Cmd/Ctrl+K). That one finds individual records, pages and modules and jumps you to them; this extension narrows the page tree to the pages matching structured criteria. Two different jobs — use the toolbar search to locate one thing, this to reshape the tree.

⚙️ Configuration

Extension settings

You can find the extension settings in the TYPO3 backend under Admin Tools > Settings > Extension Configuration > typo3_pagetree_facets.

Setting Default Description
adminOnly 0 Only administrators can use the filter modal and tokens.
disabledFacets (empty) Comma-separated list of built-in facet identifiers to disable installation-wide.
persistFilter 0 Remember each backend user's current page tree filter for their session, so it survives a reload or module switch (cleared on logout).
emptyResultNotice 1 Show a hint below the page tree when a filter matches nothing, offering to adjust or reset it.
enableRawQueryTab 0 Enable the raw: power-user token (see below). Off by default.

Built-in facet identifiers: records, ce, activity, doktype, layout, state, translations, seo, raw (only registered at all when enableRawQueryTab is on).

[!NOTE] Disabling a facet also makes its token keys unknown to the filter engine, so the restriction cannot be bypassed by typing the token into the search field manually.

[!NOTE] The Activity tab's "Edited by" / "Created by" picker searches backend user names. For non-admins this requires be_users among the group's allowed tables (Tables (listing) / tables_select) — without that grant the picker offers no suggestions (filtering by a known uid, e.g. by:3, still works).

The raw: power-user token

Syntax: raw:<table>|<field>=<value>|<field2>=<value2>..., e.g. raw:tt_content|CType=image|hidden=0 (* for LIKE matching). Off by default — it matches arbitrary fields on any table the current backend user can already select records from, so review your backend groups' table permissions before enabling it.

Field names are whitelisted against the table's TCA columns, plus uid, which has no columns entry but is the most obvious thing to look a record up by: raw:tt_content|uid=201 narrows the tree to the page holding that element. Unknown field names are dropped rather than matched.

User TSconfig

Both restrictions can also be applied per backend user or group:

⚠️ Known limitations & assumptions

🔌 Extending

There are two extension points, and the smaller one is usually the one you want:

The built-ins use the exact same two paths; there is no private shortcut.

example_tab is a minimal extension in this repository that exercises both, commented method by method. Its README walks through the interfaces, the priority semantics and what counts as public API.

🔒 Public API & stability

This is a 0.x release: the public API surface below may still break between minor versions. Pin an exact version (konradmichalik/typo3-pagetree-facets:0.1.0, not ^0.1) if that matters to you; a 1.0.0 tag, once cut, is what switches this to semver-strict breaking-changes-only-on-major.

Public (implement/consume freely, changes get a note in the release):

Explicitly not public — change without notice, do not depend on internals:

🙏 Acknowledgments

This project is inspired by the great pagetreefilter extension.

🧑‍💻 Contributing

Please have a look at CONTRIBUTING.md.

⭐ License

This project is licensed under GNU General Public License 2.0 (or later).


All versions of typo3-pagetree-facets with dependencies

PHP Build Version
Package Version
Requires php Version ~8.3.0 || ~8.4.0 || ~8.5.0
ext-ctype Version *
ext-mbstring Version *
doctrine/dbal Version ^4.4
psr/event-dispatcher Version ^1.0
psr/http-message Version ^1.0 || ^2.0
typo3/cms-backend Version ^14.0
typo3/cms-core Version ^14.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package konradmichalik/typo3-pagetree-facets contains the following files

Loading the files please wait ...