好吧,我们无法让产品显示在产品站点地图中,默认情况下它在 magento 中可用(http://sitename.com/catalog/seo_sitemap/product/)。
我们在 app/design/frontendbase/default/template/catalog/seo/sitemap.phtml 中有以下代码
<?php
/**
* @see Mage_Catalog_Block_Seo_Sitemap_
*/
?>
<?php $_items = $this->getCollection(); ?>
<? //var_dump($_items);?>
<?php if($_items->getSize()): ?>
<ul class="sitemap">
<?php foreach ($_items as $_item): ?>
<li><a href="<?php echo $this->getItemUrl($_item) ?>"><?php echo $this->escapeHtml($_item->name) ?></a></li>
<?php endforeach; ?>
</ul>
<?php else: ?>
<p class="note-msg">
<?php echo $this->__('There are no %s available.', $this->getItemsTitle()); ?>
</p>
<script type="text/javascript">
//<![CDATA[
if ($('sitemap_top_links') != undefined) {
$('sitemap_top_links').hide();
}
//]]>
</script>
<?php endif ?>
我们尝试 var_dump($_items) 产品站点地图页面,我们能够获得产品的数据转储,但是 $_items->getSize() 返回 0 并且 foreach 无法解析 $_items 数组。
是否有控制站点地图行为的 magento 后端设置或产品属性。此外,类别站点地图似乎工作正常,因此问题特定于产品。