Заполните форму с данными клиента, если известны

0

Я использую 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> 
Теги:
magento

2 ответа

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> 
0

Ваша первая модификация (вторая строка прокомментирована) не будет работать, потому что вы не завернули PHP в свои теги.

Попробуйте написать выражение, чтобы проверить, зарегистрирован ли клиент.

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

Если по-прежнему нет возвращаемого значения, это может быть связано с тем, что у вас нет идентификатора сеанса клиента.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню