我的代码是
class WorkshopsController extends Controller
{
public $layout = false;
public function actionIndex($address)
{
echo $address;
return $this->render('workshops.twig');
}
}
我想将任何地址传递给上面给出的动作。我怎么能在Yii2做到这一点。地址可以像“Mazyad Road,Mazyad - Al Ain - أبوظبي - 阿拉伯联合酋长国”
答案 0 :(得分:1)
您需要使用地址查询参数example.com/workshops/index?address=some address
向 workshop / index 页面请求。 Yii会自动调用你的动作并将查询参数传递给它。
修改强>
如果您想使用漂亮的网址,则必须为其指定urlManager rules。 E.g。
rules => [
'workshops/<address>' => 'workshops/index',
],
此外,如果您希望在未指定 addess 参数时打开您的页面,您可以定义如下规则:
[
'pattern' => 'workshops/<address>',
'route' => 'workshops/index',
'defaults' => ['address' => ''],
]