0

我正在尝试在网站上制作一个常见问题解答页面,所有问题都放在一起类似于目录(例如在维基百科上)。当您单击问题时,它会将您从页面跳转到问题(从上面重复)及其答案。

由于问题在页面上出现了两次,这样做很明显会导致问题在代码中出现两次,如果需要修改问题并且更新它的人只在一个地方更改代码,这可能会导致问题.

此外,在每个问题/答案对之前放置一个名称无意义的锚标签似乎是不合逻辑的;如果使用了数字,那么在添加或删除问题时这又会出现问题。

我想我基本上希望有一种方法可以将问题和答案存储在一个数组(可能使用 PHP 或 javascript?)或数组对中,然后为数组中的每个元素放置一个带有生成锚标记的列表项,问题及其答案。这是可行的,还是我只是在这里采取了错误的 Web 开发方法?

相关的问题:无论如何设计一个无序列表来用“Q:”替换项目符号?

4

2 回答 2

0

创建目录最简单的方法肯定是使用锚点;易于更新、创建和使用。如果您查看诸如 Wikipedia 之类的网站,它们也会使用锚定目录方法。客户端是否有可能正在编辑网页?否则,它不应该是一个巨大的麻烦。

至于您的附带问题,我知道可以通过 CSS 编辑列表中的项目符号并用图像替换它们。它看起来像:

ul {
 list-style-position: outside;
 list-style-image: url("image.gif")
 list-style-type: square;
}

更多信息可以在这里找到:http ://www.mediacollege.com/internet/css/ul-list.html

于 2011-09-09T23:49:32.330 回答
0
<?php
    $questions = array(
        "Question 1",
        "Question 2",
        "Question 3",
        "Question 4"
    );

    echo '<p>';     // FAQ Menu

    foreach ($questions as $key => $question) {
        echo '<a href="#', $key, '">', $question, '</a><br />';
    }

    echo '</p>';

    // Begin FAQ

    foreach ($questions as $key => $question) {
        echo '<h2><a name="', $key, '">', $question, '</a></h2>';
    }

?>

您可以修改 HTML 以获得所需的格式。数组键成为锚名称,所以如果你想改变你的问题,你所要做的就是在数组中修改一次。

如果你想分开你的问题和答案,你可以使用这个:

<?php
    $questions = array(
        array("Question 1", "Answer 1"),
        array("Question 2", "Answer 2"),
        array("Question 3", "Answer 3"),
        array("Question 4", "Answer 4")
    );

    echo '<p>';

    foreach ($questions as $key => $question) {
        echo '<a href="#', $key, '">', $question[0], '</a><br />';
    }

    echo '</p>';

    foreach ($questions as $key => $question) {
        echo '<h2><a name="', $key, '">', $question[0], '</a></h2>';
        echo '<p>', $question[1], '</p>';
    }

?>
于 2011-09-09T23:58:00.643 回答