为 Simba 提供的多种滑动器专属服务

安装: 53

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:服务

dev-master / 0.0.1.x-dev 2020-01-06 15:00 UTC

This package is auto-updated.

Last update: 2024-09-07 01:13:01 UTC


README

非常原始,所有内容都在开发中,原理很简单 - 通过助手视图生成 HTML,列表元素以滑动器接受的格式

使用 composer require masterflash-ru/slider 安装后,从 data 文件夹中加载数据库备份到应用程序数据库中,或使用迁移添加到应用程序配置中(键 - 滑动器名称)类似配置

    "slider"=>[
        "layout_up"=>[
            "name"=>"Слайдер в шапке",
            "options"=>[
                /*сценарий вывода*/
                "tpl"=>"mf/slider/bootstrap4",  //Обязательный параметр
                
                "indicators"=>true,             //индикаторы да/нет
                "control" => true,              //кнопки листания по бокам да/нет
                "show_routes" =>[               //массив имен маршрутов для которых выводим, пусто - для всех
                ],
                "hide_routes" =>[               //массив маршрутов для которых скрываем, пусто - нет запретов
                ],
            ],
        ],
    ],
    

添加到 storage 部分

"storage"=>[
...
    "items"=>[

            "layout_up"=>[
                "description"=>"Элементы слайдера",
                'file_storage'=>'default',
                'file_rules'=>[
                            'admin_img'=>[
                                'filters'=>[
                                        CopyToStorage::class => [
                                                    'folder_level'=>0,
                                                    'folder_name_size'=>3,
                                                    'strategy_new_name'=>'md5'
                                        ],

                                ],
                            ],
                            'img'=>[
                                'filters'=>[
                                        CopyToStorage::class => [
                                                    'folder_level'=>0,
                                                    'folder_name_size'=>3,
                                                    'strategy_new_name'=>'md5'
                                        ],
                                        ImgResize::class=>[
                                                    "method"=>1,
                                                    "width"=>160,
                                                    "height"=>76,
                                                    'adapter'=>'gd',
                                        ],
                                ],
                            ],
                ],
            ],
    ] 
]

提供滑动器助手视图输出,从应用程序输出脚本来调用

//echo $this->slider("имя_слайдера",[массив опций]);
//пример для bootstrap4:

echo $this->slider("layout_up",["container-carousel-css"=>"carousel slide carousel-fade"]);

参数数组包括配置中指定的内容,并覆盖它们,或者添加特定的滑动器参数,例如 "container-carousel-css" - 这是轮播容器中的样式字符串。选项直接传递给输出脚本。

修改设置后,请务必清除缓存!缓存中存储了已渲染的轮播 HTML。

可以在幻灯片上添加链接以进行跳转,可以指定跳转地址,或内部页面,内部页面与静态页面类似。链接处理算法

  • 如果有跳转地址,设置它并退出处理
  • 如果跳转地址为空,查看内部地址,如果存在,设置它
  • 如果没有设置上述任一项,则只是图片幻灯片。

包提供内部页面,地址为 /adslider/:link,link 是在后台中指定的内部地址。

要使用数据库,应用程序配置中必须声明 DefaultSystemDb

......
    "databases"=>[
        //соединение с базой + имя драйвера
        'DefaultSystemDb' => [
            'driver'=>'MysqlPdo',
            //"unix_socket"=>"/tmp/mysql.sock",
            "host"=>"localhost",
            'login'=>"root",
            "password"=>"**********",
            "database"=>"simba4",
            "locale"=>"ru_RU",
            "character"=>"utf8"
        ],
    ],
.....

与缓存类似

.....
    'caches' => [
        'DefaultSystemCache' => [
            'adapter' => [
                'name'    => Filesystem::class,
                'options' => [
                    // Store cached data in this directory.
                    'cache_dir' => './data/cache',
                    // Store cached data for 3 hour.
                    'ttl' => 60*60*2 
                ],
            ],
            'plugins' => [
                [
                    'name' => Serializer::class,
                    'options' => [
                    ],
                ],
            ],
        ],
    ],
.....