Step 1 :
Open file:
root/app/design/frontend/your-package-name/your-theme/template/newsletter/subscribe.phtml
Add input field for ‘Name’ before ‘Email’ Field :
Add input field for ‘Name’ before ‘Email’ Field :
<input
type="text" name="subscriber_name" id="subscriber_name"
title="<?php echo $this->__('Name') ?>" />
Step 2 :
Open file:
root/app/code/core/Mage/Newsletter/controllers/SubscriberController.php
A.
Search:
$status =
Mage::getModel('newsletter/subscriber')->subscribe($email);
Replace
with:
if ($this->getRequest()->getPost('subscriber_name'))
{
$subscriber
= Mage::getModel('newsletter/subscriber')->loadByEmail($email);
$subscriber_name
= (string) $this->getRequest()->getPost('subscriber_name');
$subscriber->setsubscriber_name($subscriber_name);
}
$status =
Mage::getModel('newsletter/subscriber')->subscribe($email,$subscriber_name);
Step 3 :
Open file : root/app/code/core/Mage/Newsletter/Model/Subscriber.php
A.
Search:
public function
subscribe($email)
Replace
with:
public function
subscribe($email,$subscriber_name=null)
B.
Search:
$this->setSubscriberEmail($email);
Add after
it:
$this->setsubscriber_name($subscriber_name);
C.
Search:
public function
setEmail($value)
{
return $this->setSubscriberEmail($value);
}
Add after
it:
public function
setsubscriber_name($value)
{
return $this->setSubscriberName($value);
}
Step 4 :
Open file :
root/app/code/core/Mage/Adminhtml/Block/Newsletter/Subscriber/Grid.php
A.
Search:
$this->addColumn('email',
array(
'header' =>
Mage::helper('newsletter')->__('Email'),
'index'
=> 'subscriber_email'
));
Add
before it:
$this->addColumn('subscriber_name',
array(
'header' =>
Mage::helper('newsletter')->__('Subscriber Name'),
'index'
=> 'subscriber_name',
'default'
=> '----'
));
Step 5 :
Open your database.
Create a field ‘subscriber_name’ in table “Newsletter Subscriber”.
Create a field ‘subscriber_name’ in table “Newsletter Subscriber”.
Step 6 : Clear the caches
No comments:
Post a Comment