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.php
toresources/seeders/main.php
- Add
banner
type tocategory-seeder.php
Languages
If you don't want to copy language files, remove -t lang
from install command.
Then 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):