使用客户数据填充表单(如果已知)

时间:2014-01-04 21:10:58

标签: html magento php

我正在使用Magento,我有一个要求客户数据的form.html。当客户登录时,我想用已知数据预填充相关字段。 我使用了以下结构,但都没有用。 列表开头是(注释掉的)行,只是要求填写,然后我的两个修改,第一个注释掉。两者都不起作用。怎么了?

<!--<td valign="top"><input maxlength="30" name="name" size="20" type="text"></td>-->
<!--<td valign="top"><echo Mage::getSingleton('customer/session')->getCustomer()->getName();></td>-->
<td valign="top">
<input type="text" name="name" value="<?php echo Mage::app()->getRequest()->getPost("name");?>" />
</td> 

2 个答案:

答案 0 :(得分:0)

您的第一次修改(第二行已注释掉)将无效,因为您尚未将PHP包装在其标记中。

尝试编写声明以检查客户是否已登录。

<?php
     if (Mage::getSingleton('customer/session')->isLoggedIn()) :
        //Write out the customer's full name
        echo Mage::getSingleton('customer/session')->getCustomer()->getName();
     else :
        echo 'Customer not logged in';
     endif;
?>

如果仍然没有返回任何值,可能是因为您没有获得客户的会话ID。

答案 1 :(得分:0)

<?php
     $customer = new Varien_Object();
     if (Mage::getSingleton('customer/session')->isLoggedIn()){
       $customer = Mage::getSingleton('customer/session')->getCustomer();
     }
?>


<td valign="top">
<input type="text" name="name" value="<?php echo $customer->getData('name') ?>" />
</td>