我正在使用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>
答案 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>