surda / back-button
Back button control for Nette Framework
v2.0.0
2021-03-25 14:35 UTC
Requires
- php: >=8.0
- nette/di: ^3.0
- surda/themeable-controls: ^1.0
Requires (Dev)
- nette/tester: ^2.0
- ninjify/nunjuck: ^0.3
- phpstan/phpstan: ^0.12
- phpstan/phpstan-deprecation-rules: ^0.12
- phpstan/phpstan-nette: ^0.12
- phpstan/phpstan-strict-rules: ^0.12
This package is auto-updated.
Last update: 2024-10-25 22:14:04 UTC
README
Installation
The recommended way to is via Composer:
composer require surda/back-button
After that you have to register extension in config.neon:
extensions: backButton: Surda\BackButton\BackButtonExtension
Configuration
Default
backButton: defaultPresenterLink: 'default' templates: default: bootstrap4.default.latte secondary: bootstrap4.secondary.latte
List of all configuration options:
backButton: defaultPresenterLink: 'default' useAjax: false template: path/to/your/latte/file.latte # or templates: default: path/to/your/latte/file.latte foo: path/to/your/latte/foo.latte ...
Usage
Presenter
use Nette\Application\UI\Presenter; use Surda\BackButton\InjectBackButton; abstract class ProductPresenter extends Presenter { use InjectBackButton; }
Template
Source page (e.g. Product:default) add link to default.latte
<a n:href="detail $id, destination => $currentLink">Detail</a>
Destination page (Product:detail) add component to detail.latte
{control backButton}
Destination
Presenter
$this->template->destination = $this->link('detail', $id);
Latte
{control backButton destination:$destination}
Select control template file
Default template
{control backButton} or {control backButton default}
Set control template by type of template (see config.neon)
{control backButton templateType}
Reset
Reset persistent parameter $destination
in URL ...?destination=%2Fproduct
<a n:href="default, destination => NULL">Products</a>
or all (defined) persistent parameters
<a n:href="default, (expand) $resetPersistentParameters">Products</a>