javascript - Magento 时事通讯弹出窗口(模式窗口)在每个页面上弹出。它应该只在主页上弹出

标签 javascript php jquery magento popup

我一直遇到这个问题,我的时事通讯模式窗口弹出窗口在网站的每个页面上都会触发。它非常具有侵入性,我希望它只在用户访问主页时弹出。我正在 EE Magento 版本上运行。 1.13.1.0

我尝试过的代码如下,它位于 footer.phtml 中:

<?php if(Mage::getSingleton('cms/page')->getPageId() == '2' && Mage::app()->getFrontController()->getRequest()->getRouteName() == 'cms') : ?>    

<div id="newsletter_sign_up" style="display:none;" >

<div style="padding:20px;" >
<form action="<?php echo($this->getUrl('newsletter/subscriber/new')) ?>" method="post" >
  <div class="fieldset">

    <h1 style="color: #28ced7; text-align: left; font-family: Arial, Helvetica, sans-serif; font-size: 28px;">verbiage goes here</h1>

    <h2 class="legend" style="text-align:left; font-family: Arial, Helvetica, sans-serif; font-size: 13px;">verbiage goes here</h2>
    <!--end-->
    <ul class="form-list">
      <li class="fields">
        <div class="customer-name">
          <div class="field name-firstname">
            <label class="required" for="firstname" style="text-align:left;"><em>*</em>First Name</label>
            <div class="input-box">
              <input type="text" class="input-text required-entry" maxlength="255" title="First Name" value="" name="firstname" id="firstname" autocomplete="off"/>
            </div>
          </div>
          <div class="field name-lastname">
            <label class="required" for="lastname" style="text-align:left;"><em>*</em>Last Name</label>
            <div class="input-box">
              <input type="text" class="input-text required-entry" maxlength="255" title="Last Name" value="" name="lastname" id="lastname" autocomplete="off"/>
            </div>
          </div>
        </div>
      </li>
      <li>
        <label class="required" for="email_address"  style="text-align:left;"><em>*</em>Email Address</label>
        <div class="input-box">

          <input type="text" class="input-text validate-email required-entry" title="Email Address" value="" id="email_address" name="email" autocomplete="off"/>

      <input class="pop_newsletter_source" name="source" type="hidden" value="3" />

        </div>
      </li>
    </ul>
  </div>
  <div class="buttons-set form-buttons">
    <button onclick="pop_newsletter.submit(); return false;" title="Submit" class="button" type="submit" autocomplete="off" style="position: relative; right: 140px;"><span><span>Submit</span></span></button>
  </div>
  <p class="required">* Required Fields</p>

  <h2 style="text-align: left; font-size: 10px;">Email Privacy Statement:</h2>
  <p style="font-family: Arial, Helvetica, sans-serif; font-size: 10px; text-align: left;">more verbiage</p>
  <!--//end-->
</form>
</div>

</div>

<?php endif; ?>

我已检查并验证页面 ID 是否为 2。

<?php echo "<pre>"; print_r(Mage::getSingleton('cms/page')->getPageId()); echo "</pre>"; ?>

此外,我在堆栈上找到了此代码片段,但无济于事,它也无法正常工作。

<?php if(Mage::getSingleton('cms/page')->getIdentifier() == 'home' && Mage::app()->getFrontController()->getRequest()->getRouteName() == 'cms') : ?>

如果我发布 JS 有帮助,那么我也会这样做。任何帮助将不胜感激。谢谢。

最佳答案

您的代码是否放置在页眉或页脚中并在每个页面上进行缓存?

关于javascript - Magento 时事通讯弹出窗口(模式窗口)在每个页面上弹出。它应该只在主页上弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28176897/

相关文章:

javascript - React,如何模拟用户输入进行单元测试?

javascript - Angular - 在粘贴事件中获取内容

php - PHP 中按小时计算出现次数

javascript - 按日期每天更改特定链接

jquery - 如何使用 data 属性将它们分配给 div 容器?

javascript - 如何从多个数组创建对象数组

javascript - D3 : How to assign size, 项目颜色(碰撞检测可视化)

javascript - 我如何使用 PHP 对包含引号的字符串进行编码以使其对于内联 'onclick' 是安全的?

php - 当 PHP 需要 shell 时使用不同于/bin/sh 的路径

jquery - 悬停时显示图像不起作用