phplist / web-frontend
A web frontend for phpList, the world's most popular open source newsletter manager
Installs: 419
Dependents: 1
Suggesters: 2
Security: 0
Stars: 5
Watchers: 5
Forks: 6
Open Issues: 2
Type:phplist-module
Requires
- php: ^8.1
- phplist/core: v5.0.0-alpha8
- symfony/twig-bundle: ^6.4
- symfony/webpack-encore-bundle: ^2.2
Requires (Dev)
- bshaffer/phpunit-retry-annotations: ^0.3.0
- dbrekelmans/bdi: *
- guzzlehttp/guzzle: ^7.2.0
- nette/caching: ^3.1.0
- nikic/php-parser: ^v4.10.4
- phpmd/phpmd: ^2.9.1
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.5.8
- symfony/panther: *
- symfony/process: ^6.4
This package is auto-updated.
Last update: 2025-07-02 13:41:07 UTC
README
About phpList
phpList is an open source newsletter manager.
About this package
This module will contain the web frontend for phpList 4. It will not have any SQL queries but use functionality from the phpList 4 core for DB access.
This module is optional, i.e., it will be possible to run phpList 4 without a web frontend.
Installation
Please install this package via Composer from within the phpList base distribution, which also has more detailed installation instructions in the README.
Contributing to this package
Please read the contribution guide on how to contribute and how to run the unit tests and style checks locally.
Code of Conduct
This project adheres to a Contributor Code of Conduct. By participating in this project and its community, you are expected to uphold this code.
Commands for running this project for local testing
# Start the Symfony local server
symfony local:server:start
# Compile and watch assets (including Vue.js components)
yarn encore dev --watch
Vue.js Integration
This project uses Vue.js for interactive UI components. Vue components are located in the assets/vue/
directory and are mounted to specific DOM elements:
App.vue
is mounted to the element with IDvue-app
To add new Vue components:
- Create the component in the
assets/vue/
directory - Import and mount it in
assets/app.js
- Add a mount point in the appropriate template