codecraft/silverstripe-pathfinder

通过一系列问题和答案引导访客访问由分类术语标记的内容

安装次数: 1,023

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 3

开放问题: 17

类型:silverstripe-vendormodule


README

简介

此模块允许CMS用户创建一系列问题和答案,然后通过标签(分类)建议内容给访客,充当站点的路径引导器。

需求

查看composer.json中的"require"部分

依赖于silverstripe/silverstripe-taxonomy

功能

  • 创建问题和答案的路径,完成后建议用户内容
  • 自定义路径引导内容
    • 简介文字
    • 找到结果文字
    • 没有找到结果文字
    • 支持文字(显示在结果页面上)
  • 通过给页面标记分类术语来控制内容建议
  • 答案可以是单选或多项选择
  • 问题可以组织在流程中,使CMS使用更加简单,并多样化路径逻辑
  • 路径引导器可以作为页面创建或添加到现有模型的扩展中
  • 当用户从部分完成的路径引导器中导航离开时,用户进度会被保留
  • 提供多种和可定制的进度存储类型
  • 提供简码以帮助作者创建路径引导内容
  • 可以通过扩展进行自定义

安装

composer require codecraft/silverstripe-pathfinder

配置

进度存储

路径引导器使用ProgressStore来动态跟踪用户的进度。这是路径引导器知道用户在哪个路径上的方式,基于他们答案的顺序。

默认的ProgressStore是SessionProgressStore,并将进度存储在用户的PHP会话中。

要更改会话存储,更新ProgressStore注入器配置,分配所需的进度存储类的class

SilverStripe\Core\Injector\Injector:
  CodeCraft\Pathfinder\Model\Store\ProgressStore:
    class: CodeCraft\Pathfinder\Model\Store\SessionProgressStore

可用的进度存储

  • CodeCraft\Pathfinder\Model\Store\SessionProgressStore - (默认) 将进度存储在PHP会话中。 在用户会话过期时过期
  • CodeCraft\Pathfinder\Model\Store\RequestVarProgressStore - 将进度存储在编码的URL请求变量中。 在URL请求变量被丢弃时过期
  • CodeCraft\Pathfinder\Model\Store\LocalStorageProgressStore - 将进度存储在本地存储中。 在本地存储被清除时过期

创建自定义进度存储

可以通过继承CodeCraft\Pathfinder\Model\Store\ProgressStore并修改Injector配置来创建自定义进度存储。

示例子类

<?php

use CodeCraft\Pathfinder\Model\Store\ProgressStore;

/**
 * My custom progress store
 */
class MyProgressStore extends ProgressStore {}

示例Injector配置

SilverStripe\Core\Injector\Injector:
  CodeCraft\Pathfinder\Model\Store\ProgressStore:
    class: MyProgressStore

这与dnadesign/silverstripe-elemental-decisiontree一样吗?

主要区别

  • 路径引导器可以用作页面
  • CMS用户不需要为每个答案分配建议(路径引导器使用按分类术语标记的内容的建议模式)

版本控制

此库遵循Semver。根据Semver,您将能够升级到该库的任何次要或补丁版本,而不会对公共API造成破坏性更改。Semver还要求我们明确定义该库的公共API。

所有公开可见的方法都是公共API的一部分。其他所有方法都不是公共API的一部分。在可能的情况下,我们会尝试在小的/补丁版本中保持受保护的方法向后兼容,但如果您正在重写方法,请在升级之前测试您的作品。

问题报告

请为发现的任何错误或缺少的功能创建一个问题。

鸣谢