[11/06/2024] Les premières modifs + installation de quelques modules indispensables

This commit is contained in:
2024-06-11 14:57:59 +02:00
parent 5ac5653ae5
commit 77cf2c7cc6
1626 changed files with 171457 additions and 131 deletions

View File

@@ -0,0 +1,45 @@
# ShortCode
Implementation of Wordpress' Shortcode syntax in Thelia (with https://github.com/maiorano84/shortcodes).
This module scan the Thelia response at the research of registred short code (in DB),
if a short code is find the module dispatch the associated event.
## Installation
### Manually
* Copy the module into ```<thelia_root>/local/modules/``` directory and be sure that the name of the module is ShortCode.
* Activate it in your thelia administration panel
### Composer
Add it in your main thelia composer.json file
```
composer require thelia/shortcode-module:~1.0
```
## Usage
This module https://github.com/thelia-modules/ShortCodeMeta is a good example of how to use ShortCode.
### 1. Register your short codes
You can do this at the post activation of your module. The best way to do this is to use the module method : `ShortCode::createNewShortCodeIfNotExist`
the first parameter is the name you will use to call the short code in your templates (like this `[my_shortcode_name], second parameter is the event dispatched when the short code is detected.
### 2. Add short codes to your templates
The short codes syntax is as follows:
```
[shortcode] - No content, no attributes
[shortcode]My Content[/shortcode] - Short code with content
[shortcode attribute=value foo=bar] - Short code with attributes
[shortcode attribute=value foo=bar]My Content[/shortcode] - Short code with content and attributes
```
### 3. Listen events associated to your short codes
When a short code is detected in response a `ShortCodeEvent` is dispatched with the event name given at the creation.
So if you want replace your short code by something you have to listen this event.
In this event you have 3 properties :
- `content` (string) The content between your tags it will be `My Content` for the example above.
- `attributes` (array) The array of all attributes passed to your short code `['attribute'=>'value', 'foo'=>'bar']` for the example above.
- `result` (string) Your short code will be replaced by this value in response (equal to content by default)