Php Magento:从下拉菜单中排除特定类别
我试图从随机菜单中排除一个特定类别。我一直在寻找答案,并在这里找到了一些潜在的解决方案,但没有一个奏效 这就是我目前拥有的:Php Magento:从下拉菜单中排除特定类别,php,magento,Php,Magento,我试图从随机菜单中排除一个特定类别。我一直在寻找答案,并在这里找到了一些潜在的解决方案,但没有一个奏效 这就是我目前拥有的: <?php $catID = $this->category_id; $catName = $this->category_name; $catType = $this->category_type; $category = Mage::getModel('catalog/category')->load($c
<?php
$catID = $this->category_id;
$catName = $this->category_name;
$catType = $this->category_type;
$category = Mage::getModel('catalog/category')->load($catID);
$categories = $category->getCollection()
->addAttributeToSelect(array('name', 'thumbnail', 'description'))
->addAttributeToFilter('is_active', 1)
->addIdFilter( $category->getChildren() );
$catIdEx = 38;
$categories->getSelect()->join(array('cats' => 'catalog_category_product'), 'cats.product_id = e.entity_id');
$categories->getSelect()->where('cats.category_id', array('neq' => $catIdEx));
$categories->getSelect()->group(array('e.entity_id'));
$categories->getSelect()->order('RAND()');
$categories->getSelect()->limit(1);
?>
<?php foreach ($categories as $category): ?>
<div>
<a href="<?php echo $category->getUrl(); ?>">
<img src="<?php echo Mage::getBaseUrl('media') . 'catalog' . DS . 'category' . DS . $category->getThumbnail() ?>" alt="<?php echo $this->htmlEscape($category->getName()) ?>" class="boxedimage" />
</a>
<br />
<h3>Spotlight <?php echo $catName ?></h3>
<?php
$sdesc = $category->getDescription();
$sdesc = trim($sdesc);
$limit = 230;
if (strlen($sdesc) > $limit) {
$sdesc = substr($sdesc, 0, strrpos(substr($sdesc, 0, $limit), ' '));
}
?>
<?php echo $sdesc."..."; ?>
<div><a href="<?php echo $category->getUrl(); ?>" class="go">View <?php echo $category->getName(); ?> <?php echo $catType ?>...</a></div>
</div>
<?php endforeach; ?>
聚光灯
你的催收电话看起来太过分了,因为我相信这对你来说是有意义的,所以我会这么说-如果你只是想排除该类别,请将其添加到foreach中
<?php foreach ($categories as $category): ?>
<?php if($category->getId() !== $catIdEx) { ?>
<div>
<!-- your other code here -->
</div>
<?php } ?>
<?php endforeach; ?>
$excluded_category=数组('20','4','6');
这似乎也不起作用。我留下了我的编码。我还去掉了上面应该过滤掉的代码。在下拉列表中,我目前只有两个类别的珠宝被激活。您将在右侧看到聚光灯设计师。劳力士根本不应该出现,它仍然会找到自己的路。劳力士也是猫的ID:38。我多次检查以确保我的ID正确。听起来您的$catIdEx值不正确。在foreach循环中,add以确保您试图排除的代码具有您认为它所具有的ID。当我将代码放入其中时,SID是:38。出于某种原因,它不想隐藏38.Manoj。这确实有效,但不完全是我所需要的。代码在随机脚本上运行,该脚本选择了一个要突出显示的类别。每次刷新或转到新页面时,它都会更改。删除这个元素会删除整个元素。我只是想把它忘在脚本中,这样另一个脚本可以代替它。如果这有道理的话。
$excluded_category = array('20','4','6');
<?php foreach ($categories as $category): ?>
<?php if(!in_array($category->getId(),$excluded_category)) { ?>
<div>
<!-- your other code here -->
</div>
<?php } ?>
<?php endforeach; ?>