Php 自定义模块中的Magento seo友好url
我想创建porfolio模块,但我需要它对seo友好,所以url应该如下所示:Php 自定义模块中的Magento seo友好url,php,magento,zend-framework,Php,Magento,Zend Framework,我想创建porfolio模块,但我需要它对seo友好,所以url应该如下所示: example.com/portfolio/projectid 其中组合模块,所以它将是索引操作 基于字段别名的projectd 创建example.com/portfolio很容易,但是如何创建控制器,或者检测后面的内容呢? 产品中存在相同的URL层次结构,因此它是类别/产品 有人知道怎么做吗?下面的代码适用于item/id。您可以根据需要进行更改 $model = Mag
example.com/portfolio/projectid
其中组合模块,所以它将是索引操作
基于字段别名的projectd
创建example.com/portfolio
很容易,但是如何创建控制器,或者检测后面的内容呢?
产品中存在相同的URL层次结构,因此它是类别/产品
有人知道怎么做吗?下面的代码适用于item/id。您可以根据需要进行更改
$model = Mage::getModel('items/items');
/*Rewrite */
$isSystem = 0; // set 0 for custom url as we have created custom for profile extension
$_itemId = $model->getModuleItemId();//module_item_id field
$_itemName = $model->getTitle();//title field
$_itemName = strtolower(str_replace(" ", "", $_itemName));
// save profile view url rewrite
$viewIdPath = 'item/id'.'/'.$_itemId;
$viewRequestPath = 'items/'.$_itemName;
$viewTargetPath = 'items/index/item/id/'.$_itemId;//controller is itemsController.php, Action is itemAction()
$_coreUrlRewrite = Mage::getModel('core/url_rewrite');
$_coreUrlRewrite->load($viewIdPath, 'id_path'); // check if item path already saved? If yes, $_coreUrlRewrite will contain existing data.
$_coreUrlRewrite->setStoreId($_storeId)
->setIdPath($viewIdPath)
->setRequestPath($viewRequestPath)
->setTargetPath($viewTargetPath)
->setIsSystem($isSystem)
->save();
if(isset($viewRequestPath)){
$model->setUrl($viewRequestPath);
$model->save();
}
/*Rewrite End*/
您可以找到更多信息&是否可以添加setUrl函数?“url”是保存在$model->setUrl($viewRequestPath)中的字段;值为$viewRequestPath