arturmamedov/slider-module

用于AsgardCMS的滑块模块,由bociancz/slider-module分支而来,具有单独的租户ID,用于每个用户的滑块,以及一些小的改进,需要修改Asgard CMS的核心!

安装: 5

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 2

分支: 19

开放问题: 0

类型:asgard-module


README

特别感谢

Nicolas Widart为AsgardCMS及其菜单模块所做的贡献,该模块被用作滑块模块的基础。

安装

您可以使用composer安装滑块模块: composer require bociancz/slider-module

模块安装后,您需要在AsgardCMS中(使用角色/权限)为自己授权。新的滑块项将出现在侧边栏中

用法

先决条件

默认情况下,滑块模块使用Bootstrap Carousel https://bootstrap.ac.cn/javascript/#carousel 创建,因此请确保已加载所有标准Bootstrap carousel的先决条件(Bootstrap Carousel CSS和JS)

基本用法

您可以使用AsgardCMS管理界面创建基本的滑块 - 您可以创建并命名您的滑块(请注意这里的 系统名称 字段,它将被用于之后的渲染),并创建单个幻灯片。幻灯片可以链接到媒体模块中的图片,或指向外部图片的URL。它们还可以包含指向站点上任何页面的超链接、固定URI或URL。

当滑块创建后,您可以在模板中使用 {!! Slider::render('slider_system_name') !}} 来渲染它

高级用法

使用自己的滑块模板

如果您想更改滑块的渲染方式,使用自定义HTML、CSS类等,可以将Blade模板名称作为第二个参数传递给 render() 方法,例如 {!! Slider::render('slider_system_name', 'slider/my-own-slider') !!}

模板可能看起来像这样

{-- Themes/MyTheme/views/slider/my-own-slider.blade.php --}
<div id="{{ $slider->system_name }}" class="my-own-slider-class">

    @foreach($slider->slides as $index => $slide)
        <div class="slide">
            <a href="{{ $slide->getLinkUrl() }}">
                <img src="{{ $slide->getImageUrl() }}" />
            </a>
        </div>
    @endforeach
    
</div>

您将在 $slider 变量中获得 Modules\Slider\Entities\Slider 实例

提供自己的滑块实例

您也可以将 Modules\Slider\Entities\Slider 实例作为第一个参数传递,而不是滑块的 system_name,以动态创建滑块。

首先,在控制器中创建您的滑块实例并添加幻灯片,并将其传递给视图

<?php
...
// import classes needed to create your own instance
use Modules\Slider\Entities\Slider;
use Modules\Slider\Entities\Slide;

class HomepageController {
    ...
    /**
     * controller method
     */
    public function displayHomepage()
    {
        // make a new Slider instance
        $mySlider = new Slider;
        $mySlider ->system_name = 'custom_slider';
        
        // create slide 1
        $slide1 = new Slide;
        $slide1->title = 'First Slide';
        $slide1->caption = 'First slide text';
        $slide1->external_image_url = 'https://placeholdit.imgix.net/~text?txtsize=33&txt=Slide1&w=800&h=300';
        
        // create slide 2
        $slide2 = new Slide;
        $slide2->title = 'Second Slide';
        $slide2->caption = 'Second slide text';
        $slide2->external_image_url = 'https://placeholdit.imgix.net/~text?txtsize=33&txt=Slide2&w=800&h=300';
        
        // add slides to slider
        $mySlider->slides->add($slide1);
        $mySlider->slides->add($slide2);
        
        // render view
        return View::make('homepage')
            ->with('mySlider', $mySlider);
    }
    

然后,在 homepage.blade.php 模板内部,您可以使用 {!! Slider::render($mySlider) !!} 来渲染滑块

资源