我可以在包含部分变量时传递 php 变量吗?

Can i pass php variables when including a partial?

我是 OctoberCMS 的新手,所以我不知道很多东西。 我阅读了 October 文档,我知道如何在以静态方式使用局部变量时传递变量:

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

我的问题是我需要使用php或js变量。假设我有一个输入字段,用户可以在其中输入一个 ID,然后在按下按钮后我想将 ID 传递给一个部分。我正在尝试做这样的事情:

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

有人可以帮助我吗?谢谢。

您是否尝试过此处记录的这种方法? https://octobercms.com/docs/cms/partials#partial-variables

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

编辑

另外,您需要在 onStart 函数中定义页面变量。

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

编辑

您是否阅读了有关 AJAX 的部分? https://octobercms.com/docs/ajax/introduction

更具体地说 - https://octobercms.com/docs/ajax/update-partials#pushing-updates AND https://octobercms.com/docs/ajax/update-partials#update-definition

编辑

只需重新阅读您的原始问题,您问的是关于绑定到表单元素的问题,而不是 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
})

您可以通过这种方式在部分内部使用变量:

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