Skip to content

パーサの処理の流れを改善 #180

@yama

Description

@yama

現在は

  1. リソース変数(テンプレート変数)
  2. コンフィグ変数
  3. チャンク
  4. スニペット
  5. プレースホルダ(グローバルスコープ)

の順にページ内の変数文字列を処理しているが、それだと想定とは違う順番で処理が進むことが多い。
変数の種類ごとではなく、出てきた順に処理したい。ループを一周回すだけで完了するため既存の問題が解決できる可能性がある。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>[*pagetitle*] - [(site_name)]</title>
</head>
<body>
[[Navi]]
{{header}}
<p>[*content*]</p>
{{footer}}
</body>
</html>

上記のような構成のテンプレートであれば、

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title><?php $modx->parseDocVar('[*pagetitle*]');?>
   - <?php $modx->parseSiteVar('[(site_name)]');?></title>
</head>
<body>
<?php $modx->parseSnippet('[[Navi]]');?>
<?php $modx->parseChunk('{{header}}');?>
<p><?php $modx->parseDocVar('[*content*]');?></p>
<?php $modx->parseChunk('{{footer}}');?>
</body>
</html>

このように展開し、PHPで処理する。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions