https://github.com/itk-dev/itk_pretix
Drupal module for pretix
https://github.com/itk-dev/itk_pretix
drupal php pretix
Last synced: 12 months ago
JSON representation
Drupal module for pretix
- Host: GitHub
- URL: https://github.com/itk-dev/itk_pretix
- Owner: itk-dev
- Created: 2020-02-18T19:34:46.000Z (about 6 years ago)
- Default Branch: develop
- Last Pushed: 2025-03-06T13:41:15.000Z (about 1 year ago)
- Last Synced: 2025-04-06T21:03:05.401Z (12 months ago)
- Topics: drupal, php, pretix
- Language: PHP
- Homepage:
- Size: 1.45 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# ITK Pretix
This Drupal 8 module creates a new field type that enables a link to
https://pretix.eu/ to be made.
Through the Pretix API it is possible to add, change or remove Pretix
event date entries from the Drupal interface.
1. Add a new field of type `pretix date field type` to an entity.
2. Add a new field of type `pretix event settings` to the entity.
3. Add a pretix connection through the settings (local.settings.php).
4. Watch the magic happen.
## Configuration
Go to `/admin/config/itk_pretix/pretixconfig` and enter your pretix details.
A hidden configuration option, `pretix_event_slug_template`, controls how pretix
event slugs (short forms) are generated. The default value is `!nid` and `!nid`
will be replaced with the actual node id when creating a pretix event.
To change the value of `pretix_event_slug_template`, set it in your site's
settings, e.g. (in `settings.local.php`):
```php
$config['itk_pretix.pretixconfig']['pretix_event_slug_template'] = 'dev-local';
```
If the value of `pretix_event_slug_template` is not empty, but `!nid` does not
occur in the value, `-!nid` will be appended and the final template will be
`dev-local-!nid`.
## Exporters
This module exposes a number of event Data exporters that are run via the pretix
REST api
(cf. [https://docs.pretix.eu/en/latest/api/resources/exporters.html](https://docs.pretix.eu/en/latest/api/resources/exporters.html))
All exporters implement `Drupal\itk_pretix\Exporter\ExporterInterface` (by
extending `Drupal\itk_pretix\Exporter\AbstractExporter`) and are managed by
`Drupal\itk_pretix\Exporter\Manager` which takes care of displaying exporter
parameters forms and running exporters.
The available exporters for a node can be run from
`/itk_pretix/pretix/event/exporters/{node}` where `{node}` is the node id.
## Building assets
First, install tools and requirements:
```sh
docker compose run --rm node yarn install
```
Build for development:
```sh
docker compose run --rm node yarn encore dev --watch
```
Build for production:
```sh
docker compose run --rm node yarn encore production
```
## Coding standards
The code must follw the [Drupal Coding Standards](https://www.drupal.org/docs/develop/standards)
Apply and check the coding standards by running
```sh
docker compose run --rm phpfpm composer install
docker compose run --rm phpfpm composer normalize
docker compose run --rm phpfpm composer coding-standards-apply
docker compose run --rm phpfpm composer coding-standards-check
```
### Assets
Apply and check the coding standards in assets by running
```sh
docker compose run --rm node yarn install
docker compose run --rm node yarn coding-standards-apply
docker compose run --rm node yarn coding-standards-check
```