如何在 yii2 中输出 url 而不是我的网站/产品/ID =>我的网站/产品/标题?



我有这样一个问题,我想在我的网站上显示产品的所有id,它的标题在视图中

下面是一个示例-http://localhost/yii-application/product/1

以id=1 进入产品视图

我希望是这样-http://localhost/yii application/product/TestTitle

从产品的角度来看

您需要在配置文件中更改操作参数和urlmanager。通常,在视图操作中,我们将传递id作为参数,并使用id获取产品信息。现在,我们正在更改Id,而不是通过产品的标题来获取产品信息

frontend/controllers/ProductController.php:

class ProductController extends Controller
{
public function actionView($title)
{
//Based on title getting product information
$productData = ProductModel::find ()->where(['title'=>$title])->asArray()->one();
return $this->render('view',
[
'productData'=>$productData,
]);
}
}

frontend/views/product/view.php:

your html code for display product view

frontend/config/main.php

在这里,我们将标题作为视图acton 的参数进行传递

'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'product/view/<title:w+>'=>'product/view',
-------------------------------------------
-------------------------------------------
'<controller:w+>/<action:w+>/<id:d+>' => '<controller>/<action>',
'<controller:w+>/<action:w+>/' => '<controller>/<action>',
]
]

希望它能帮助

最新更新