micmania1 / silverstripe-nivoslider
Silverstripe的Nivo Slider模块
Requires
- silverstripe/cms: 3.0.*
- silverstripe/framework: 3.0.*
This package is auto-updated.
Last update: 2024-08-24 12:28:19 UTC
README
此Silverstripe模块将Nivo Slider完全灵活地引入您的项目。
功能
- 通过Silverstripe CMS管理多个滑块及其内容。
- 在4种默认主题中选择,或添加您自己的主题。
- 完全可自定义,通过CMS编辑所有Nivo jQuery选项
安装
应将此模块放置在您网站的根目录中。
通过Composer
composer require micmania1/silverstripe-nivoslider:1.0.*
通过Git
git clone https://github.com/micmania1/silverstripe-nivoslider.git
cd silverstripe-nivoslider
git checkout 1.0.0
请记住在您的网站上运行 /dev/build?flush=1。
使用
要创建滑块,您可以登录到Silverstripe CMS,然后在左侧导航窗格中点击“Nivo Slides”。
点击“添加Nivo滑块”按钮,这将带您进入一个页面,您可以为此滑块选择标题并添加单个幻灯片。
在高级选项卡中,您可以选择主题并设置Nivo滑块提供的许多其他选项。有关这些选项的更多信息,请参阅Nivo滑块文档。
将幻灯片添加到页面
默认情况下,滑块是独立的。要将其添加到页面,提供了NivoSliderSiteTreeExtension和SiteTreeNivoSliderExtension。这两个扩展通过在两个DataObjects之间提供双向has_one链接来相互补充。
以下示例显示了如何将滑块添加到扩展Page的HomePage类中。
YAML示例
---
Only:
classexists: 'NivoSlider'
classexists: 'HomePage'
---
HomePage:
extensions:
- 'NivoSliderSiteTreeExtension'
NivoSlider:
extensions:
- 'SiteTreeNivoSliderExtension'
---
PHP示例
Object::add_extension("HomePage", "NivoSliderSiteTreeExtension");
Object::add_extension("NivoSlider", "SiteTreeNivoSliderExtension");
一旦建立了这种连接(并运行了dev/build?flush=1),您就可以进入您的首页,并从下拉菜单中选择滑块。
当然,您可以创建自己的扩展来替换这些,并且链接不仅限于页面。您可以使用任何DataObject,包括小工具。
模板使用
在模板中使用时,请调用您的has_one关系名称。例如,如果一个页面有一个“NivoSlider”=>“NivoSlider”的has_one关系,您可以使用
$NivoSlider
这将处理整个滑块的渲染。
添加您自己的主题
如果您有要应用的自己的Nivo滑块主题,您需要告诉NivoSlider在哪里查找它。
为此,您需要扩展NivoSliderTheme类。
示例
<?php
class MyNivoSliderTheme extends NivoSliderTheme {
protected $title = "My Custom Theme";
protected $cssClass = "MyCustomTheme";
public function beforeRender() {
// Require any js/css or do any other prep before rendering
Require::css("mysite/css/myNivoStyle.css");
}
}
?>
然后您可以使用 ?flush=1 并从每个滑块的“高级”选项卡中的主题下拉菜单中选择您的主题。