2010-08-13 6 views
9

Magento에서 페이지가 cms_page인지 PHP를 통해 확인하고 싶습니다. 나는 cms 페이지를위한 다른 빵 부스러기가 필요하다. 그래서 조건으로 이것을 시도하고있다. 그러나 나는 어떻게보아야하는지 전혀 모른다. Heres my breadcrumbs.phtml 지금까지.Magento - cms 페이지 확인

<?php if(this is a cms page): ?> 

<p>some content</p> 
<?php else: ?> 
<?php if($crumbs && is_array($crumbs)): ?> 
<div class="breadcrumbs"> 
    <ul> 
    <?php $charsges = 0; ?> 
    <?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?> 
     <?php 
     $charsges = strlen($_crumbInfo['label']) + $charsges; 
     if($charsges > 40){ 
      $chars = 18; 
      if(strlen($_crumbInfo['label']) > $chars){ 
       $_crumbInfo['label'] = substr($_crumbInfo['label'], 0, $chars); 
       $_crumbInfo['label'] = $_crumbInfo['label'].'..'; 
      } 
     } 
     ?> 
     <li class="<?php echo $_crumbName ?>"> 
     <?php if($_crumbInfo['link']): ?> 

     <a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->htmlEscape($_crumbInfo['title']) ?>"><?php echo $this->htmlEscape($_crumbInfo['label']) ?></a> 
     <?php elseif($_crumbInfo['last']): ?> 
     <strong><?php echo $this->htmlEscape($_crumbInfo['label']) ?></strong> 
     <?php else: ?> 

     <?php echo $this->htmlEscape($_crumbInfo['label']) ?> 
     <?php endif; ?> 
     <?php if(!$_crumbInfo['last']): ?> 
     <span>&nbsp;&gt;&nbsp;</span> 
     <?php endif; ?> 
     </li> 
    <?php endforeach; ?> 
    </ul> 
</div> 
<?php endif; ?> 

접견

답변

29

rito은이 문자열 'CMS', 당신은 CMS 페이지에있어를 반환 할 때이

//from a block or phtml script 
$this->getRequest()->getModuleName() 

을 원하는 무엇을 제공해야합니다 다음과 같습니다.

Magento의 프론트 엔드 및 관리 라우터가 URL에서 일치하는 항목을 찾을 수없는 경우 CMS 라우터가 인계합니다. CMS 라우터가 일치하는 항목을 찾으면 (설정 한 CMS 페이지를 기반으로) cms 모듈 및 Mage_Cms_IndexController 컨트롤러에 요청을 전달합니다.

+0

월요일에 아쉽습니다. – Rito

+0

완벽하게 작동했습니다! 고마워. – Rito

+4

Mage :: app() -> getRequest() -> getRouteName() === 'cms'''' – cmuench

관련 문제