3

あなたの助けが必要な小さな問題に遭遇しました。私は Joomla モジュールでコーディングしていますが、Joomla に慣れていないすべての人にとって、これは実際には問題ではありません。

Joomla のモジュールには、小さな file を含むtmpl(template略して私が思う)という名前のフォルダーdefault.phpがあり、そこにビューがブラウザーに表示されます。これは私が扱っているファイルの大まかな部分です

!DOCTYPE HTML
<?php 
// perform some initialization
?>

<script language="javascript">
$(document).ready(function()
{
    var obj=["o1","o2","o3","o4",...,"o_n"];
    //do something with range obj
});

</script>

<div>
    <div class="content">
        <?php
            if(is_set($array))
            {
                foreach($array as $key=>$val):
            ?>
                //GET $val->id
            <?php
                //display $val->$content
            }
        ?>
    </div>
</div>

ループ内で、上記の JavaScript の変数に文字列としてフィードバックされるforeachすべての整数 ID を取得したいと考えています。これを自動的に行う必要があります。ページが読み込まれると、JavaScript が初期化され、新しいアイテムをデータベースに追加すると、これも自動的に行われる必要があります (を編集するためにこの既定のページを開く必要はありません)。$valobjobj$valobj

私が今抱えている問題を理解していますか?質問して返信してください。ありがとうございました

4

2 に答える 2

0

1 つの解決策は、PHP で JS に渡したい配列を作成し、それをそのまま JS にjson_encode渡すことです。JS でビルドしてから、生成された JS コードを介して拡張するよりも簡単です。たとえば、これを参照してください。

!DOCTYPE HTML
<?php 
// perform some initialization
?>

<?php
$obj = array("o1","o2","o3","o4",...,"o_n");
if(is_set($array)) {
    foreach($array as $key=>$val) {
        $obj[] = $val->id;
    }
}
?>

<script language="javascript">
$(document).ready(function()
{
    var obj=<?php echo json_encode($obj); ?>;
    //do something with range obj
});

</script>

別の方法として、AJAX 呼び出しを使用してこの配列を埋めることもできますが、それが常に最善の方法であるとは限らないため、決定はあなたに任せます。

于 2012-09-04T07:58:52.090 に答える
0

ページ構成をレンダリングするときに、javascript を文字列として出力します。したがって、ページが読み込まれると (配列オブジェクトを既に作成した後)、JS として実行されます。

お役に立てれば

于 2012-09-04T07:59:58.690 に答える