magento时事通讯订阅中的DOB字段

时间:2014-09-11 11:59:33

标签: magento html5-canvas magento-1.7 date-of-birth

我需要在简报订阅表单中添加客户DOB字段。它应该是月份日期年份的下拉列表。

任何人都可以帮我这样做。

提前致谢。

1 个答案:

答案 0 :(得分:0)

在newsletter.phtml文件中

        <li class="control">

        <?php echo "Date Of Birth". $this->getDateBirth(); ?>    
        <p>Select date:</p>
        <select name="day" style="width: 50px;">
        <?php
        for($i=1;$i<=31;$i++)
        {
            echo '<option value='.$i.'>'.$i.'</option>';
        }?>
        </select>

        <select name="month" style="width: 50px;">
        <option value="01">January</option>
        <option value="02">February</option>
        <option value="03">Mars</option>
        <option value="04">April</option>
        <option value="05">May</option>
        <option value="06">June</option>
        <option value="07">July</option>
        <option value="08">August</option>
        <option value="09">September</option>
        <option value="10">October</option>
        <option value="11">November</option>
        <option value="12">December</option>
        </select>

        <select name="year" style="width: 50px;">
        <?php
        for($i=1950;$i<=2014;$i++)
        {
            echo '<option value='.$i.'>'.$i.'</option>';
        }

        ?>
        </select>
        </li>

在您的新闻稿模块中,控制器文件ManageController.php(默认文件)需要覆盖以下更改的函数saveAction() 在try部分中添加以下代码

        $day = $this->getRequest()->getParam('day', false);
        $month = $this->getRequest()->getParam('month', false);
        $year = $this->getRequest()->getParam('year', false);
        $buildDateofBirth = $year."-".$month."-".$day." 00:00:00";
        $customerData = Mage::getSingleton('customer/session')->getCustomer();
        if ($customerData->getId()) {
           $customerData->setDob($buildDateofBirth)->save(); 
        }

你完成了。希望这会有所帮助...