2014-03-13 4 views
0

나는 porfolio 모듈을 만들고 싶습니다,하지만 난 현서 친절하기 때문에 URL이 같아야 필요젠토 현서 사용자 정의 모듈 친화적 인 URL을

example.com/portfolio/projectid 

곳 포트폴리오 - 모듈,이 인덱스 수 있도록 액션 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 –

관련 문제