2014-03-13 76 views
0

我想創建porfolio模塊,但我需要它是搜索引擎友好,所以網址應該會像:Magento的搜索引擎優化自定義模塊友好的URL

example.com/portfolio/projectid 

其中組合 - 模塊,所以這將是指數動作 投影 - 基於字段別名

其易於創建example.com/portfolio但如何創建控制器,或檢測後發生了什麼? 相同的URL層次結構是在產品中,所以它的類別/產品

任何人都知道如何做到這一點?

回答

1

下面的代碼適用於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*/ 

你可以找到更多信息here & here

+0

你可以添加setUrl功能? – user2746186

+0

setUrl函數? –

+0

「url」是獲取保存在$ model-> setUrl($ viewRequestPath)中的字段;值$ viewRequestPath –

相關問題