如何在资源中使用Chunk和Snippet,但在使用MODx Revolution加载页面时只返回Chunk


How to use a Chunk and a Snippet in a Resource, but returning only the Chunk when page is loaded using MODx Revolution?

我有一个资源(63),它应该从表单(块)中获得一个值,该值稍后将由将其除以4的代码段处理。然后它给了我相同页面上的结果,如下所示:

在资源:

[[$divisionForm]]
[[!divisionFormHandling]]

divisionForm Chunk:

<form action="[[~63]]" method="post">
  <input type="text" name="value"/>
  <input type="submit" name="division" value="Submit" />
</form>
divisionFormHandling代码片段:
<?php
    $var = $_POST["value"];
    $division = $var / 4;
    if ($division != 2) {
        $error_message = 'It is not the number 8!';
        $output = $error_message;
        return $output;
    }
    else {
        $playing_around = $var + 1;
    }
    working_around = $var * 2;
    $output = 'Playing: '.$playing_around.'<br />';
    $output .= 'Working: '.$working_around.'<br />';
    return $output;
?>

因此,当我在表单中插入8并提交它时,我在屏幕上有以下结果:

玩:9工作:16

当我插入任何其他数字时,我得到如下结果,正如预期的那样:

不是数字8!

但是当我第一次访问页面或刷新它时,我仍然收到error_message。我的问题是:我怎么能重写代码,所以在第一次或刷新后,我只看到的形式(即块),而不是错误信息(来自片段)?

我很确定有一个更干净的方法来做这件事,但是我需要帮助。

多谢!

if (isset($_POST["value"])) { // here first time checking
    $var = (int) $_POST["value"]; // (int) is for security purpose
    // all other your code here ...
}