0

そのため、すべての資金調達オプションを一覧表示するカスタムのブレッドクラム ナビゲーションを構築しています。ページは、使用しているテンプレートに関係なくすべてのページ"fundraising_page."を取得している場合にのみ、ページを取得する方法があります."fundraising_page" layout?

"fundraising_page"したがって、必要なのは、テンプレートを使用しているページをリストすることだけです。

<?php $collection = Mage::getModel('cms/page')->getCollection()->addStoreFilter(Mage::app()->getStore()->getId());?>
<?php $collection->getSelect()->where('is_active = 1'); ?>
<ul>
<?php foreach ($collection as $page): ?>
<?php $PageData = $page->getData(); ?>
<?php if($PageData['identifier']!='no-route'){ ?>
<li>
<a href="/<?php echo $PageData['identifier']?>"><?php echo $PageData['title'] ?></a>
</li>
<?php } ?>
<?php endforeach; ?>
4

2 に答える 2

0

これは適切にフォーマットされたコードで、適切なメソッドを使用しています。

<?php
$collection = Mage::getModel('cms/page')->getCollection()
    ->addStoreFilter(Mage::app()->getStore()->getId())
    ->addFieldToFilter('is_active', 1)
    ->addFieldToFilter('root_template', 'fundraising_page');
?>
<?php foreach ($collection as $page): ?>
    <?php if ($page->getIdentifier() != 'no-route'): ?>
        <li>
          <a href="<?php echo Mage::getUrl($page->getIdentifier())?>"><?php echo $page->getTitle() ?></a>
        </li>
    <?php endif; ?>
<?php endforeach; ?>
于 2014-08-21T09:38:33.697 に答える