sunlab / wn-updown-plugin
WinterCMS 插件,允许用户对任何模型进行上下投票
dev-main
2021-07-02 22:18 UTC
Requires
- php: >=7.0
- composer/installers: ~1.0
- winter/wn-user-plugin: ^2.0
This package is auto-updated.
Last update: 2024-09-29 05:56:42 UTC
README
在任何模型上实现上下投票功能。简单易用。
一个小型示例,基于两个不同的模型: Winter\Forum\Models\Post 和自定义插件的评论模型。
UpDown.-.demo.mp4
Composer 安装
composer require sunlab/wn-updown-plugin
要求
此插件需要 Winter.User 插件。
使用指南 - 以 Winter.Blog Post 模型为例
1. 第一步,扩展模型
要在模型上使用上下投票功能,您需要将 Votable 行为添加到您想要的模型中
class Plugin extends PluginBase { public function boot() { \Winter\Blog\Models\Post::extend(static function ($post) { $post->implement[] = \SunLab\UpDown\Behaviors\Votable::class; }); } }
2. 第二步,将组件添加到页面
然后,您需要在博客文章页面或博客文章列表页面添加 upDown 组件
title = "Blog" url = "/blog/:page?" layout = "default" description = "The main blog page, with all posts." hidden = "0" [blogPosts] pageNumber = "{{ :page }}" postsPerPage = "10" noPostsMessage = "No posts found" sortOrder = "published_at desc" categoryPage = "blog/category" postPage = "blog/post" [upDown] == {% component 'blogPosts' %}
3. 第三步,多次添加相同组件
然后,在 blogPosts 部分的覆盖中,将 upDown 组件添加到 循环内部,并使用 组件的动态属性 以当前文章初始化组件
{# Loop over the blog posts #} {% for post in posts %} {# For each post, displays the upDown component #} {% component 'upDown' votable=post %} {% partial "blog/post" post=post %} {% endfor %}