erstellen Sie benutzerdefinierte Anmeldeformular mit conatct info und comapny info Magento
Hallo Freunde ich bin nicht Experte in magento aber ich habe auch gute Kenntnisse der themng aber i dont haben eine sehr gute Kenntnisse der Module , die ich brauche, um erstellen eine
benutzerdefinierte Registrierungsformular mit Kontaktinformationen und der Firma info
details ,
muss ich erstellen, diese auf meiner eigenen Seite , muss ich das magento
Standard-Registrierungsseite auch
ich check das
app\code\core\Mage\Customer\controllers/AccountController
in denen ich die
public function createPostAction()
{
$session = $this->_getSession();
if ($session->isLoggedIn()) {
$this->_redirect('*/*/');
return;
}
$session->setEscapeMessages(true); //prevent XSS injection in user input
if ($this->getRequest()->isPost()) {
$errors = array();
if (!$customer = Mage::registry('current_customer')) {
$customer = Mage::getModel('customer/customer')->setId(null);
}
/* @var $customerForm Mage_Customer_Model_Form */
$customerForm = Mage::getModel('customer/form');
$customerForm->setFormCode('customer_account_create')
->setEntity($customer);
$customerData = $customerForm->extractData($this->getRequest());
if ($this->getRequest()->getParam('is_subscribed', false)) {
$customer->setIsSubscribed(1);
}
/**
* Initialize customer group id
*/
$customer->getGroupId();
if ($this->getRequest()->getPost('create_address')) {
/* @var $address Mage_Customer_Model_Address */
$address = Mage::getModel('customer/address');
/* @var $addressForm Mage_Customer_Model_Form */
$addressForm = Mage::getModel('customer/form');
$addressForm->setFormCode('customer_register_address')
->setEntity($address);
$addressData = $addressForm->extractData($this->getRequest(), 'address', false);
$addressErrors = $addressForm->validateData($addressData);
if ($addressErrors === true) {
$address->setId(null)
->setIsDefaultBilling($this->getRequest()->getParam('default_billing', false))
->setIsDefaultShipping($this->getRequest()->getParam('default_shipping', false));
$addressForm->compactData($addressData);
$customer->addAddress($address);
$addressErrors = $address->validate();
if (is_array($addressErrors)) {
$errors = array_merge($errors, $addressErrors);
}
} else {
$errors = array_merge($errors, $addressErrors);
}
}
try {
$customerErrors = $customerForm->validateData($customerData);
if ($customerErrors !== true) {
$errors = array_merge($customerErrors, $errors);
} else {
$customerForm->compactData($customerData);
$customer->setPassword($this->getRequest()->getPost('password'));
$customer->setConfirmation($this->getRequest()->getPost('confirmation'));
$customerErrors = $customer->validate();
if (is_array($customerErrors)) {
$errors = array_merge($customerErrors, $errors);
}
}
$validationResult = count($errors) == 0;
if (true === $validationResult) {
$customer->save();
Mage::dispatchEvent('customer_register_success',
array('account_controller' => $this, 'customer' => $customer)
);
if ($customer->isConfirmationRequired()) {
$customer->sendNewAccountEmail(
'confirmation',
$session->getBeforeAuthUrl(),
Mage::app()->getStore()->getId()
);
$session->addSuccess($this->__('Account confirmation is required. Please, check your email for the confirmation link. To resend the confirmation email please <a href="%s">click here</a>.', Mage::helper('customer')->getEmailConfirmationUrl($customer->getEmail())));
$this->_redirectSuccess(Mage::getUrl('*/*/index', array('_secure'=>true)));
return;
} else {
$session->setCustomerAsLoggedIn($customer);
$url = $this->_welcomeCustomer($customer);
$this->_redirectSuccess($url);
return;
}
} else {
$session->setCustomerFormData($this->getRequest()->getPost());
if (is_array($errors)) {
foreach ($errors as $errorMessage) {
$session->addError($errorMessage);
}
} else {
$session->addError($this->__('Invalid customer data'));
}
}
} catch (Mage_Core_Exception $e) {
$session->setCustomerFormData($this->getRequest()->getPost());
if ($e->getCode() === Mage_Customer_Model_Customer::EXCEPTION_EMAIL_EXISTS) {
$url = Mage::getUrl('customer/account/forgotpassword');
$message = $this->__('There is already an account with this email address. If you are sure that it is your email address, <a href="%s">click here</a> to get your password and access your account.', $url);
$session->setEscapeMessages(false);
} else {
$message = $e->getMessage();
}
$session->addError($message);
} catch (Exception $e) {
$session->setCustomerFormData($this->getRequest()->getPost())
->addException($e, $this->__('Cannot save the customer.'));
}
}
$this->_redirectError(Mage::getUrl('*/*/create', array('_secure' => true)));
}
ist für neues Konto erstellen
aber ich will nicht, dies zu Bearbeiten-Funktion, da Brauch ich das magento
Standard-Registrierungs-Seite als
o , , so schlagen Sie bitte mir, wie kann ich erstellen Sie eine neue Funktion aus, wo kann ich dem Kunden bieten dort Informationen und können sich anmelden und ich kann speichern, in der Datenbank , im Prinzip brauche ich zum speichern der Kontaktinformationen und der Unternehmens-info die Adresse Tabellen, so dass die Informationen können angezeigt werden, im admin -
InformationsquelleAutor Rohit Goel | 2013-11-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre benutzerdefinierten Modul enthalten sollte, etwas ähnliches:
Package/Module/etc/config.xml
Package/Module/controllers/contactController.php
Package/Module/sql/modulename_setup/mysql4-install-1.0.0.php
app/design/frontend/default/default/layout/customercontact.xml
config.xml:
ContactController.php
mysql4-install-1.0.0.php
Folgenden Skript in paar meiner ähnliche Aufgaben:
customercontact.xml
Hoffe das gibt eine Idee von, was getan werden musste !
InformationsquelleAutor div
Der scheinbar einfachste Weg für Sie wäre, erstellen Sie ein benutzerdefiniertes Modul, mit einem frontend-controller, eine einzelne Tabelle Modell und ein admin-Netz, wenn Sie es wünschen werden die Daten gesammelt, indem Sie das Kontaktformular um den admin-Benutzer in der anderen Weise magento-Module Anzeige der Daten.
Erstellen von magento-Erweiterungen ist ganz einfach, wenn die richtigen Werkzeuge verwendet werden, können Sie verwenden diese Modul-creator erstellen Sie eine Erweiterung ganz sofort.
InformationsquelleAutor Munjal