2010-08-13 21 views
9

Voglio controllare tramite php se una pagina è una pagina cms in Magento. Ho bisogno di pangrattato diverso per le pagine cms, quindi sto cercando di farlo con una condizione, ma non ho idea di come o dove guardare. Ecco il mio breadcrumbs.phtml finora.Magento - controlla se cms pagina

<?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; ?> 

saluta Rito

risposta

29

Il seguente dovrebbe darvi quello che volete

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

Quando questo restituisce la stringa 'CMS', sei in una pagina CMS.

Quando i router di frontend e admin di Magento non riescono a trovare una corrispondenza sul proprio URL, il router CMS riprende. Se il router CMS trova una corrispondenza (basata sulle pagine CMS impostate), invia la richiesta al modulo cms e al controller Mage_Cms_IndexController.

+0

grazie, ci provo lunedì. – Rito

+0

ha funzionato perfettamente! Molte grazie. – Rito

+4

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

Problemi correlati