When the user saves in the designer, the edited template is sent to the server; the onSaveReport event decides where to store it.

Persist the template in PHP.
$designer = new StiDesigner();
$designer->javascript->relativePath = '../';

$designer->onSaveReport = function (StiReportEventArgs $args) {
    $name = strlen($args->fileName) > 0 ? $args->fileName : 'Report.mrt';
    $result = file_put_contents("../reports/$name", $args->getReportJson());

    return $result === false
        ? StiResult::getError('Save failed.')
        : StiResult::getSuccess("Saved to '$name'.");
};

$designer->process();
$designer->report = $report;

How it works. The designer round-trips the template through the PHP event, so user edits are stored wherever your application chooses.

By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.