Download the PHP package lyrasoft/banner without Composer
On this page you can find all versions of the php package lyrasoft/banner. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package banner
LYRASOFT Banner Package

Installation
Install from composer
Then copy files to project
Seeders
- Add
contact-seeder.phptoresources/seeders/main.seeder.php - Add
bannertype tocategory.seeder.php
Languages
Run this command to copy language files:
If you want to directly use package language files without copy, add this line to admin & front middleware:
Use Type or Category
You have 2 choice to structure banners, use type or category
Type:

Category:

The default will use category mode. If you want to use type mode,
you must create a BannerType enum, for example:
Then register enum class to config file:
The package will auto switch to type mode.
Register Admin Menu
Edit resources/menu/admin/sidemenu.menu.php
Ues Type mode:
Use Category mode:
Add Widget
Add this to packages/widget.php
Install Swiper and youtube-background
After packages installed, it will auto reauire swiper as node modules for root package.json.
If you needs use video & Youtbue, you must manually install youtube-background
- Swiper:
- Getting Started: https://swiperjs.com/get-started
- Demo: https://swiperjs.com/demos
- Youtbue Background
Frontend Usage
Use BannerRepository to get banners
Then use component in Edge:

You can add some params:
Parameters
| Param Name | Type | Default | Description | |
|---|---|---|---|---|
| banners | Banner[] |
null | The banner items, must be a iterable with Banner entity. |
|
| category-alias | ?string |
null | If not provides banner items, component will find banners by this condition. | |
| category-id | string or int |
null | If not provides banner items, component will find banners by this condition. | |
| type | string |
_default | If not provides banner items, use this type name to find banners & size & ratio settings. | |
| link-target | string |
null | The link target, can be _blank |
|
| height | string |
null | Force banner height, ignore ratio settings. | |
| ratio | float |
null | The widrh / height ratio. for example: 16:9 is 1.7778. Leave empty yto let component calc it. |
|
| show-text | bool |
false | Show banner title / description or not. | |
| options | array |
[] | The options for Swiper |
Examples
Load by type
Load by category alias
Load by category ID
Banner Item Slot
Use item slot with @scope(), you will get Banner entity and index $i.
Then just build you own HTML.
Use Banner Item Component
Use can use x-banner-item component, it;s includes default RWD and video switch functions.
Parameters:
| Param Name | Type | Default | Description |
|---|---|---|---|
| type | string |
_default | Use this type name to find size & ratio settings. |
| banner | Banner |
null | The banner item, must be a Banner entity. |
| link-target | string |
null | The link target, can be _blank |
| height | string |
null | Force banner height, ignore ratio settings. |
| ratio | float |
null | The widrh / height ratio. for example: 16:9 is 1.7778. Leave empty yto let component calc it. |
| show-text | bool |
false | Show banner title / description or not. |
The Size Settings.
Open etc/packages/banner.php, you will see:
The _default type has 2 sizes settings, desktop and mobile, this means admin upload images will use this size:

You can change all uploading settings here.
Custom Size for Type or Category Alias
If you have a category with alias (promote), you can add a promote size settings with different size.
Make sure your category alias is same:

Then the banners in this category will use the new size:

Create Default Categories/Type
If you use Category mode, you may want to create some default categories in migration:
If you use Type mode, just change the BannerType enum cases:
BannerScript
Directly use Swiper or Youtube Background
Widget
If you ever added BannerWidget::class to widget.php, you'll see this widget in admin:

After you added this widget and save. Use this code to render position, for example (demo position):