Magento 静态页面菜单

2022-11-06php开发问题
4

本文介绍了Magento 静态页面菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想制作一个菜单,可以动态显示来自 CMS 的活动静态页面;例如,如果在我的 CMS 中我有这些页面:

  • 关于我们(已启用)
  • 航运和退款(禁用)
  • 条款和条件(已启用)
  • 联系人(已启用)

然后菜单看起来像:

关于我们 |条款和条件 |联系人

我需要一些关于如何开始的提示;也许之前有人已经这样做了?

解决方案

Dougle非常感谢,真的很有帮助!

联邦在 Magento CMS 中,您可以制作只能使用其 IDENTIFIER 访问的静态页面;我想要的是以某种方式制作一个菜单,该菜单将自动显示 ACTIVE(启用)静态页面;如果您将状态设置为禁用,则不应出现在菜单中;

这是我使用的代码,注意有 IF $PageData['identifier']!='no-route'; no-rute 是 404 页面,所以我不需要它在菜单中,但必须启用,以便 Magento 将 404 错误重定向到此页面;

<?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><?php } ?><?php endforeach;?>

I want to make a menu that will dynamically show the active static pages from CMS; for example if in my CMS I have these pages:

  • About Us (enabled)
  • Shipping & Refund (disabled)
  • Terms and Conditions (enabled)
  • Contacts (enabled)

then the menu would look like:

About US | Terms and Conditions | Contacts

I need just a few tips on how to get started; maybe somebody has already done this before?

解决方案

Dougle thanks a lot, that was really helpful!

Fede in Magento CMS you can make static pages that you can only access using its IDENTIFIER; what I wanted is somehow make a menu that will automatically display the ACTIVE (enabled) static pages; and if you set status to Disable it should not be in the menu;

here is the code i used, note there is IF $PageData['identifier']!='no-route'; no-rute is the 404 page, so i don't need it in the menu, but it must be enabled so Magento redirects 404 errors to this page;

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

这篇关于Magento 静态页面菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

PHP实现DeepL翻译API调用
DeepL的翻译效果还是很强大的,如果我们要用php实现DeepL翻译调用,该怎么办呢?以下是代码示例,希望能够帮到需要的朋友。 在这里需要注意,这个DeepL的账户和api申请比较难,不支持中国大陆申请,需要拥有香港或者海外信用卡才行,没账号的话,目前某宝可以...
2025-08-20 php开发问题
168

PHP通过phpspreadsheet导入Excel日期数据处理方法
PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的...
2024-10-23 php开发问题
287

mediatemple - 无法使用 codeigniter 发送电子邮件
mediatemple - can#39;t send email using codeigniter(mediatemple - 无法使用 codeigniter 发送电子邮件)...
2024-08-23 php开发问题
11

Laravel Gmail 配置错误
Laravel Gmail Configuration Error(Laravel Gmail 配置错误)...
2024-08-23 php开发问题
16

将 PHPMailer 用于 SMTP 的问题
Problem with using PHPMailer for SMTP(将 PHPMailer 用于 SMTP 的问题)...
2024-08-23 php开发问题
4

关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题
Issue on how to setup SMTP using PHPMailer in GoDaddy server(关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题)...
2024-08-23 php开发问题
17