2017-09-27 12 views
1

私はOctoberCMSを初めて使っているので、私は多くのことを知らない。 私は10月のマニュアルを読んで、私は、静的な方法でパーシャルを使用するときに変数を渡す方法を知っている:部分的にPHP変数を渡すことはできますか?

{% partial "location" city="Vancouver" country="Canada" %} 

私の問題は、私はPHPやJS変数を使用する必要があるということです。ユーザーがIDを書き込む入力フィールドがあるとしたら、ボタンを押した後、IDを部分的に渡したいとします。私はこのような何かをしようとしています:

{% partial "location" city=$city country=$country %} 

誰かが私を助けることができますか?ありがとうございました。

答えて

0

ここに記載されているようにこの方法を試しましたか? https://octobercms.com/docs/cms/partials#partial-variables

{% partial "location" city=city country=country %} 

EDIT

さておき、あなたはONSTART機能でページ変数を定義する必要があります。

url = "/blah" 
layout = "default" 
== 
<? 
function onStart() 
{ 
    $this['country'] = ...; 
    $this['city'] = ...; 
} 
?> 
== 
{% partial "location" city=city country=country %} 

EDIT

あなたはAJAXのセクションを読んでいますか? https://octobercms.com/docs/ajax/introduction

具体的には - https://octobercms.com/docs/ajax/update-partials#pushing-updateshttps://octobercms.com/docs/ajax/update-partials#update-definition

EDIT

ちょうどあなたの元の質問を再読み込み、あなたが要素ではなく、AJAXを形成するために結合について求めています。

はJSのAPIを見てみましょう - https://octobercms.com/docs/ajax/javascript-api#javascript-api

を私はあなたのような何かができると思う:

<form onsubmit="$(this).request('onMyProcessingMethod'); return false;">

$('form').request('onMyProcessingMethod', { 
    update: {myPartialName: '.whereIWantTheOutputToGo'}, 
    data: {country: 'Canada'} // Not 100% sure how to access form input; maybe ID selector 
}) 
+0

はい、この場合、国はtwig変数にする必要がありますどのようにそれらを使用するかわからない、私は試みたが結果なし。 –

+0

このページの下部にあるblub(「アクセスロジック」 - https://octobercms.com/docs/markup/templating)によると、TwigはPHP変数にアクセスできるはずです。もちろんドル記号なしで。 – waterloomatt

+0

あなたの部分を呼び出す直前に、変数を出力し、それが表示されているかどうかを確認してください - {{country}} – waterloomatt

0

あなたは、このように部分的に内部変数を使用することができます。

<p>Country: {{ country }}, city: {{ city }}.</p> 
+0

はい、OPに変数を渡す必要があります。 – waterloomatt

+0

スクリプトがスクリプトにアクセスする前に変数を定義するのに役立つ、専用の関数onStart()があります。 –

関連する問題