Download the PHP package tourze/diy-page-bundle without Composer
On this page you can find all versions of the php package tourze/diy-page-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package diy-page-bundle
DIY Page Bundle - Dynamic Page & Advertisement Management
中文
A comprehensive Symfony bundle for managing dynamic page content, advertisement blocks, and page decoration systems. Built on a Block-Element architecture with support for expression rule engine, time-based control, and visitor tracking.
Table of Contents
- Quick Start
- Installation
- Core Concepts
- Basic Usage
- Configuration
- Advanced Usage
- API Endpoints
- Admin Interface
- Testing
- Architecture Overview
- Dependencies
- Contributing
- License
Quick Start
Get started with DIY Page Bundle in 3 minutes:
Installation
Core Concepts
Block (Advertisement Position)
Content containers within pages supporting:
- Unique identifier (code)
- Display rule expressions
- Time control (start/end time)
- Sorting and priority
Element (Content Item)
Specific content items within blocks supporting:
- Images and titles
- Jump paths/URLs
- Custom attributes
- Display control
- Subtitle and description
BlockAttribute (Block Attributes)
Key-value pairs for block configuration:
- Custom block properties
- Configuration parameters
- Display settings
- Extensible metadata
VisitLog (Access Tracking)
User behavior tracking for:
- Statistical analysis
- User behavior insights
- Data-driven decisions
Features
- 🎨 Dynamic Page Decoration: Visual page decoration system based on Block-Element architecture
- 📱 Advertisement Management: Create and manage various types of advertisement blocks
- 🔧 Rule Engine: Expression-based rules to control content display logic
- ⏰ Time Control: Schedule content display with start and end time support
- 📊 Visitor Analytics: Automatic visitor behavior tracking with analytics support
- 🔄 Event System: Extension points for custom data formatting
- 💾 Cache Support: Built-in caching mechanism for performance optimization
- 🗑️ Auto Cleanup: Automatic cleanup of visit logs with configurable retention period
Basic Usage
Creating Advertisement Blocks
Retrieving Block Data
Expression Rule Examples
Configuration
Visit Log Retention
Advanced Usage
Event Listeners
Expression Language Functions
The bundle provides custom expression functions:
visitLog(userId, blockCode): Get visit log for specific user and block- Custom functions can be added via
VisitLogFunctionProvider
API Endpoints
GetDiyPageElementByCode
Batch retrieve element data by block codes:
GetOneDiyPageElement
Retrieve single element details:
Admin Interface
The bundle integrates with EasyAdmin providing a complete administrative interface:
- Block Management: Create, edit, and delete advertisement blocks
- Element Management: Manage specific content within blocks
- Visit Analytics: View access logs and statistical data
Access the admin interface at /admin.
Testing
Run the test suite:
Architecture Overview
Dependencies
- PHP 8.1+
- Symfony 6.4+
- Doctrine ORM 3.0+
- Expression Language component
- JSON-RPC Core bundle
- Various Tourze bundles for enhanced functionality
Design References
Roadmap
- Location-based advertisement targeting
- User level-based content differentiation
- Time-based advertisement rotation
- A/B testing support
- Enhanced analytics features
Contributing
Issues and Pull Requests are welcome.
License
MIT License
All versions of diy-page-bundle with dependencies
doctrine/collections Version ^2.3
doctrine/dbal Version ^4.0
doctrine/doctrine-bundle Version ^2.13
doctrine/doctrine-fixtures-bundle Version ^4.0
doctrine/orm Version ^3.0
doctrine/persistence Version ^3.1 || ^4
knplabs/knp-menu Version ^3.7
monolog/monolog Version ^3.1
nesbot/carbon Version ^2.72 || ^3
psr/log Version ^3|^2|^1
symfony/config Version ^6.4
symfony/dependency-injection Version ^6.4
symfony/doctrine-bridge Version ^6.4
symfony/event-dispatcher-contracts Version ^2.5 | ^3
symfony/expression-language Version ^6.4
symfony/http-kernel Version ^6.4
symfony/security-bundle Version ^6.4
symfony/security-core Version ^6.4
symfony/serializer Version ^6.4
tourze/arrayable Version 0.0.*
tourze/bundle-dependency Version 0.0.*
tourze/doctrine-async-bundle Version 0.1.*
tourze/doctrine-indexed-bundle Version 0.0.*
tourze/doctrine-ip-bundle Version 0.0.*
tourze/doctrine-snowflake-bundle Version 0.1.*
tourze/doctrine-timestamp-bundle Version 0.0.*
tourze/doctrine-track-bundle Version 0.1.*
tourze/doctrine-user-bundle Version 0.0.*
tourze/easy-admin-attribute Version 0.1.*
tourze/easy-admin-menu-bundle Version 0.1.*
tourze/json-rpc-cache-bundle Version 0.1.*
tourze/json-rpc-core Version 0.0.*
tourze/symfony-ecol-bundle Version 0.1.*
tourze/symfony-schedule-entity-clean-bundle Version 0.1.*
yiisoft/arrays Version ^3