【问题标题】:Need a way to present a prerequisites for an object需要一种方法来呈现对象的先决条件
【发布时间】:2010-10-26 02:34:56
【问题描述】:

我真的不知道如何以一种可以理解的方式来解释这一点,但这里是。

我正在做的项目是一个围绕课程的网络应用程序,每门课程都有一组先决条件,问题是我不知道向用户展示这些的好方法。

示例: 要参加课程 4,此人必须至少售出 600 种产品并工作至少 90 天。她还必须完成(Course1 OR Course2)AND Course 3。

关于我应该如何以简单的方式向用户展示此内容以供他们理解的任何想法。然后我将如何着手并保存它。

项目后面用php搭建,前面用html/jquery搭建,存储用mysql。

/S

【问题讨论】:

    标签: php jquery mysql user-interface


    【解决方案1】:

    听起来您只需要 UI 帮助,对吧?

    我的大学总是做类似列表的事情:

    • 其中之一:课程 A、课程 B、课程 C
    • 课程D
    • 课程E

    然后,您可以在列表项中添加一些不错的类来满足缺失/已完成的需求:

    <ul class="prerequisites">
      <li class="complete">One of:
        <a href="courseA">Course A</a>,
        <a href="courseB" class="complete">Course B</a>,
        <a href="courseC">Course C</a></li>
      <li class="complete"><a href="courseD" class="complete">Course D</a></li>
      <li><a href="courseE">Course E</a></li>
    </ul>
    

    通过一些 CSS 做一些事情,比如......

    ul.prerequisites {
      list-style-type: none;
    }
    
    ul.prerequisites li {
      background-image: url(images/incomplete.gif); /* a red X maybe? */
      padding-left: 14px;
    }
    
    ul.prerequisites li.complete {
      background-image: url(images/complete.gif); /* maybe a green check */
    }
    
    ul.prerequisites li a.complete {
      text-decoration: line-through;
    }
    

    【讨论】:

    • 有了这个列表,你将如何进行课程 1 和(课程 2 或课程 3)的先决条件链
    • 每个列表项都是一个要求,它们是 AND。
    • 课程 1
    • 其中之一:课程 2、课程 3
    【解决方案2】:

    程序化方法

    • 用某种结构表示代码中的先决条件
    • 为这个结构做一个解析器,可以把它变成语法正确的句子
    • 您必须在需要 i18n 时立即扩展解析器

    简单的方法

    • 存储用清晰的英文句子编写的先决条件并将其显示给访问者

    如果我是你,我会说服自己拿走我的骄傲,选择第二个。

    【讨论】:

      【解决方案3】:

      我认为您的问题是 UI 布局而不是底层技术。

      我想这取决于逻辑的复杂程度,但我会尝试显示一个“和”项目列表,其中每个项目都是一组一个或多个“或”选项(如单选按钮组列表)。该列表将是表格中的行,带有缩进的“或”选项。

      如果您需要显示“A 和(B 或 C)和(D 或 E 或 F)”,它会起作用。如果您需要“(A 和 B)或(C 和 D)”,则“或”选项必须能够包含“和”字符串。我怀疑它会变得比这更复杂,但如果是这样,您可以递归处理它并继续缩进子句。

      【讨论】:

        【解决方案4】:

        另一个选项是让用户选择/输入他们所做的事情,例如。输入他们已售出的产品数量和工作天数,并选择他们已完成课程的复选框。一旦你有了这些,你就可以显示他们可以使用哪些课程,并可能显示他们需要做什么才能获得其他课程的资格

        【讨论】:

        • 问题是,用户将无法输入此信息。
        猜你喜欢
        相关资源
        最近更新 更多
        热门标签