我想通过php检查页面是否在Magento中为cms_page。我需要针对cms页面的不同面包屑,所以我尝试有条件地做到这一点,但我不知道如何或在哪里看。
到目前为止,这里是我的Breadcrumbs.phtml。
<?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> > </span>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
问候里托
最佳答案
以下应该给你你想要的
//from a block or phtml script
$this->getRequest()->getModuleName()
当此命令返回字符串“cms”时,您位于CMS页面上。
当Magento的前端和管理路由器在您的URL上找不到匹配项时,CMS路由器将接管。如果CMS路由器找到匹配项(基于您已设置的CMS页面),它将请求转交给cms模块和Mage_Cms_IndexController Controller 。
关于php - Magento-检查cms页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3477893/