私は拡張機能に取り組んでおり、設定で利用可能なオプションの 1 つで、レンダリング時にドキュメント ヘッドにカスタム JavaScript を追加する必要があります。私が抱えている問題は、解析順序にあります。(インクルードを行うより良い方法もあるかもしれません)
channel_entries_tagdata
フックを使用しています。
この中で、設定が処理されたら、次のことを行っています。
// Add the required javascript
$jscript = "
<script type="text/javascript">
/*! etc......
</script></head>
";
// Add js
$tagdata = str_replace("</head>", $jscript, $tagdata);
JavaScriptを別のファイルに保存して、何らかの方法で参照できるようにしたいのですが、この段階ではその方法がわかりません。
私が直面しているもう 1 つの問題は、EE 変数の解析順序です。JavaScript 内では、$tagdata の変数を使用しています。このようなもの:
$.post("URL", { channel: "{channel}", entryId: "{entry_id}", urlTitle: "{url_title}", lastSegment: "{last_segment}", editDate: eo.editDate, field: eo.eleName }, function(data){...
この場合、EE 変数をどのように呼び出し/使用しますか?
Elaborated... この拡張機能は次の場合に使用します: コントロール パネルの [アドオン] -> [拡張機能] で、拡張機能を有効にします。その拡張機能の [設定] で、そのチャンネルのエントリを「編集」できるメンバーまたはグループをチャンネルごとに承認できます。
拡張機能は、パーミッションを確認した後、各カスタム フィールド タイプをレンダリング前に編集し、クラス要素にラップします。JavaScript ファイルは、次にこの機能用です。その要素がクリックされると、カスタム フィールド タイプとチャネル/エントリ情報を含むモーダルが開かれるため、編集後にフィールドを保存できます。