I am completely new at magento 2. I want to add custom validation on phone number in customer address book form which can be seen after login by customer. Below is UI.
Form UI:
customer address book form after login
This UI form code is located under app/design/frontend/vendor/template/address/edit.phtml
Code looks like below:
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/** #var \Magento\Customer\Block\Address\Edit $block */
?>
<?php $_company = $block->getLayout()->createBlock(\Magento\Customer\Block\Widget\Company::class) ?>
<?php $_telephone = $block->getLayout()->createBlock(\Magento\Customer\Block\Widget\Telephone::class) ?>
<?php $_fax = $block->getLayout()->createBlock(\Magento\Customer\Block\Widget\Fax::class) ?>
<form class="form-address-edit"
action="<?= $block->escapeUrl($block->getSaveUrl()) ?>"
method="post"
id="form-validate"
enctype="multipart/form-data"
data-hasrequired="<?= $block->escapeHtmlAttr(__('* Required Fields')) ?>"
data-mage-init='{"validation":{
"rules": {
"telephone": {
"required":false,
"digits": digits
}
}
}}'>
<fieldset class="fieldset">
<legend class="legend"><span><?= $block->escapeHtml(__('Contact Information')) ?></span></legend><br>
<?= $block->getBlockHtml('formkey') ?>
<input type="hidden" name="success_url" value="<?= $block->escapeUrl($block->getSuccessUrl()) ?>">
<input type="hidden" name="error_url" value="<?= $block->escapeUrl($block->getErrorUrl()) ?>">
<?= $block->getNameBlockHtml() ?>
<?php if ($_company->isEnabled()) : ?>
<?= $_company->setCompany($block->getAddress()->getCompany())->toHtml() ?>
<?php endif ?>
<?php if ($_telephone->isEnabled()) : ?>
<?= $_telephone->setTelephone($block->getAddress()->getTelephone())->toHtml() ?>
<?php endif ?>
<?php if ($_fax->isEnabled()) : ?>
<?= $_fax->setFax($block->getAddress()->getFax())->toHtml() ?>
<?php endif ?>
</fieldset>
<fieldset class="fieldset">
<legend class="legend"><span><?= $block->escapeHtml(__('Address')) ?></span></legend><br>
<?php $_streetValidationClass = $this->helper(\Magento\Customer\Helper\Address::class)->getAttributeValidationClass('street'); ?>
<div class="field street required">
<label for="street_1" class="label">
<span><?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('street') ?></span>
</label>
<div class="control">
<input type="text"
name="street[]"
value="<?= $block->escapeHtmlAttr($block->getStreetLine(1)) ?>"
title="<?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('street') ?>"
id="street_1"
class="input-text <?= $block->escapeHtmlAttr($_streetValidationClass) ?>"/>
<div class="nested">
<?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
<?php for ($_i = 1, $_n = $this->helper(\Magento\Customer\Helper\Address::class)->getStreetLines(); $_i < $_n; $_i++) : ?>
<div class="field additional">
<label class="label" for="street_<?= /* #noEscape */ $_i + 1 ?>">
<span><?= $block->escapeHtml(__('Street Address %1', $_i + 1)) ?></span>
</label>
<div class="control">
<input type="text" name="street[]"
value="<?= $block->escapeHtmlAttr($block->getStreetLine($_i + 1)) ?>"
title="<?= $block->escapeHtmlAttr(__('Street Address %1', $_i + 1)) ?>"
id="street_<?= /* #noEscape */ $_i + 1 ?>"
class="input-text <?= $block->escapeHtmlAttr($_streetValidationClass) ?>">
</div>
</div>
<?php endfor; ?>
</div>
</div>
</div>
<?php if ($this->helper(\Magento\Customer\Helper\Address::class)->isVatAttributeVisible()) : ?>
<div class="field taxvat">
<label class="label" for="vat_id">
<span><?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('vat_id') ?></span>
</label>
<div class="control">
<input type="text"
name="vat_id"
value="<?= $block->escapeHtmlAttr($block->getAddress()->getVatId()) ?>"
title="<?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('vat_id') ?>"
class="input-text <?= $block->escapeHtmlAttr($this->helper(\Magento\Customer\Helper\Address::class)->getAttributeValidationClass('vat_id')) ?>"
id="vat_id">
</div>
</div>
<?php endif; ?>
<div class="field city required">
<label class="label" for="city"><span><?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('city') ?></span></label>
<div class="control">
<select name="city" id="city" class="<?= $block->escapeHtmlAttr($this->helper(\Magento\Customer\Helper\Address::class)->getAttributeValidationClass('city')) ?>" title="<?= $block->escapeHtmlAttr(__('City')) ?>" data-validate="{'validate-select':true}">
<?php
$cityArr = $block->getCityFromAPI();
if( is_array($cityArr) && !empty($cityArr) ){
foreach( $cityArr as $city ){
$selected = ( $block->escapeHtmlAttr($block->getAddress()->getCity()) == $city['value'] ) ? 'selected="selected"' : '' ;
echo '<option value="'.$city['value'].'" '.$selected.'>'.$city['label'].'</option>';
}
}
?>
</select>
</div>
</div>
<div class="field region required">
<label class="label" for="region_id">
<span><?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('region') ?></span>
</label>
<div class="control">
<select id="region_id" name="region_id"
title="<?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('region') ?>"
class="validate-select region_id" <?= /* #noEscape */ !$block->getConfig('general/region/display_all') ? ' disabled="disabled"' : '' ?>>
<option value=""><?= $block->escapeHtml(__('Please select a region, state or province.')) ?></option>
</select>
<input type="text"
id="region"
name="region"
value="<?= $block->escapeHtmlAttr($block->getRegion()) ?>"
title="<?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('region') ?>"
class="input-text validate-not-number-first <?= $block->escapeHtmlAttr($this->helper(\Magento\Customer\Helper\Address::class)->getAttributeValidationClass('region')) ?>"<?= !$block->getConfig('general/region/display_all') ? ' disabled="disabled"' : '' ?>/>
</div>
</div>
<div class="field zip required">
<label class="label" for="zip">
<span><?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('postcode') ?></span>
</label>
<div class="control">
<input type="text"
name="postcode"
value="<?= $block->escapeHtmlAttr($block->getAddress()->getPostcode()) ?>"
title="<?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('postcode') ?>"
id="zip"
class="input-text validate-zip-international <?= $block->escapeHtmlAttr($this->helper(\Magento\Customer\Helper\Address::class)->getAttributeValidationClass('postcode')) ?>">
<div role="alert" class="message warning" style="display:none">
<span></span>
</div>
</div>
</div>
<div class="field country required">
<label class="label" for="country"><span><?= /* #noEscape */ $block->getAttributeData()->getFrontendLabel('country_id') ?></span></label>
<div class="control">
<?= $block->getCountryHtmlSelect() ?>
</div>
</div>
<?php if ($block->isDefaultBilling()) : ?>
<div class="message info">
<span><?= $block->escapeHtml(__("It's a default billing address.")) ?></span>
</div>
<?php elseif ($block->canSetAsDefaultBilling()) : ?>
<div class="field choice set billing">
<input type="checkbox" id="primary_billing" name="default_billing" value="1" class="checkbox">
<label class="label" for="primary_billing">
<span><?= $block->escapeHtml(__('Use as my default billing address')) ?></span>
</label>
</div>
<?php else : ?>
<input type="hidden" name="default_billing" value="1" />
<?php endif; ?>
<?php if ($block->isDefaultShipping()) : ?>
<div class="message info">
<span><?= $block->escapeHtml(__("It's a default shipping address.")) ?></span>
</div>
<?php elseif ($block->canSetAsDefaultShipping()) : ?>
<div class="field choice set shipping">
<input type="checkbox" id="primary_shipping" name="default_shipping" value="1" class="checkbox">
<label class="label" for="primary_shipping">
<span><?= $block->escapeHtml(__('Use as my default shipping address')) ?></span>
</label>
</div>
<?php else : ?>
<input type="hidden" name="default_shipping" value="1">
<?php endif; ?>
</fieldset>
<div class="actions-toolbar">
<div class="primary">
<button type="submit"
class="action save primary"
data-action="save-address"
title="<?= $block->escapeHtmlAttr(__('Save Address')) ?>">
<span><?= $block->escapeHtml(__('Save Address')) ?></span>
</button>
</div>
<div class="secondary">
<a class="action back btn btn-light" href="<?= $block->escapeUrl($block->getBackUrl()) ?>">
<span><?= $block->escapeHtml(__('Go back')) ?></span>
</a>
</div>
</div>
</form>
<script type="text/x-magento-init">
{
"#form-validate": {
"addressValidation": {
"postCodes": <?= /* #noEscape */ $block->getPostCodeConfig()->getSerializedPostCodes(); ?>
}
},
"#country": {
"regionUpdater": {
"optionalRegionAllowed": <?= /* #noEscape */ $block->getConfig('general/region/display_all') ? 'true' : 'false' ?>,
"regionListId": "#region_id",
"regionInputId": "#region",
"postcodeId": "#zip",
"form": "#form-validate",
"regionJson": <?= /* #noEscape */ $this->helper(\Magento\Directory\Helper\Data::class)->getRegionJson() ?>,
"defaultRegion": "<?= (int) $block->getRegionId() ?>",
"countriesWithOptionalZip": <?= /* #noEscape */ $this->helper(\Magento\Directory\Helper\Data::class)->getCountriesWithOptionalZip(true) ?>
}
}
}
</script>
So How can I add validation on phone number field in below code?
<?php if ($_telephone->isEnabled()) : ?>
<?= $_telephone->setTelephone($block->getAddress()->getTelephone())->toHtml() ?>
<?php endif ?>
I am trying to add a review to a product in magento. However, submitting the review form of a product in the frontend gives me an "Unable to post review message".
I haven't found a solution to the problem, that's why im calling in your help :)
This is the code from my review form:
<div class="form-add">
<h2><?php echo $this->__('Write Your Own Review') ?></h2>
<?php if ($this->getAllowWriteReviewFlag()): ?>
<form action="<?php echo $this->getAction() ?>" method="post" id="review-form">
<?php echo $this->getBlockHtml('formkey'); ?>
<?php echo $this->getChildHtml('form_fields_before') ?>
<h3><?php echo $this->__("You're reviewing:"); ?>
<span><?php echo $this->escapeHtml($this->getProductInfo()->getName()) ?></span>
</h3>
<div class="fieldset">
<?php if ($this->getRatings() && $this->getRatings()->getSize()): ?>
<h4><?php echo $this->__('How do you rate this product?') ?> <em class="required">*</em></h4>
<span id="input-message-box"></span>
<table class="data-table review-summary-table ratings" id="product-review-table">
<col width="1"/>
<col/>
<col/>
<col/>
<col/>
<col/>
<thead>
<tr>
<th> </th>
<th>
<div class="rating-box">
<span class="rating-number">1</span>
<span class="rating nobr"
style="width:20%;"><?php echo $this->__('1 star') ?></span>
</div>
</th>
<th>
<div class="rating-box">
<span class="rating-number">2</span>
<span class="rating nobr"
style="width:40%;"><?php echo $this->__('2 star') ?></span>
</div>
</th>
<th>
<div class="rating-box">
<span class="rating-number">3</span>
<span class="rating nobr"
style="width:60%;"><?php echo $this->__('3 star') ?></span>
</div>
</th>
<th>
<div class="rating-box">
<span class="rating-number">4</span>
<span class="rating nobr"
style="width:80%;"><?php echo $this->__('4 star') ?></span>
</div>
</th>
<th>
<div class="rating-box">
<span class="rating-number">5</span>
<span class="rating nobr"
style="width:100%;"><?php echo $this->__('5 star') ?></span>
</div>
</th>
</tr>
</thead>
<tbody>
<?php foreach ($this->getRatings() as $_rating): ?>
<tr>
<th><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></th>
<?php foreach ($_rating->getOptions() as $_option): ?>
<td class="value"><label
for="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>"><input
type="radio" name="ratings[<?php echo $_rating->getId() ?>]"
id="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>"
value="<?php echo $_option->getId() ?>" class="radio"/></label></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<input type="hidden" name="validate_rating" class="validate-rating" value=""/>
<script type="text/javascript">decorateTable('product-review-table')</script>
<?php endif; ?>
<ul class="form-list">
<li>
<label for="review_field"
class="required"><em>*</em><?php echo $this->__('Let us know your thoughts') ?></label>
<div class="input-box">
<textarea name="detail" id="review_field" cols="5" rows="3"
class="required-entry"><?php echo $this->escapeHtml($data->getDetail()) ?></textarea>
</div>
</li>
<li class="inline-label">
<label for="summary_field"
class="required"><em>*</em><?php echo $this->__('Summary of Your Review') ?></label>
<div class="input-box">
<input type="text" name="title" id="summary_field" class="input-text required-entry"
value="<?php echo $this->escapeHtml($data->getTitle()) ?>"/>
</div>
</li>
<li class="inline-label">
<label for="nickname_field"
class="required"><em>*</em><?php echo $this->__("What's your nickname?") ?></label>
<div class="input-box">
<input type="text" name="nickname" id="nickname_field" class="input-text required-entry"
value="<?php echo $this->escapeHtml($data->getNickname()) ?>"/>
</div>
</li>
</ul>
</div>
<div class="buttons-set">
<button type="submit" title="<?php echo $this->__('Submit Review') ?>" class="button">
<span><span><?php echo $this->__('Submit Review') ?></span></span></button>
</div>
</form>
<script type="text/javascript">
//<![CDATA[
var dataForm = new VarienForm('review-form');
Validation.addAllThese(
[
['validate-rating', '<?php echo $this->__('Please select one of each of the ratings above') ?>', function (v) {
var trs = $('product-review-table').select('tr');
var inputs;
var error = 1;
for (var j = 0; j < trs.length; j++) {
var tr = trs[j];
if (j > 0) {
inputs = tr.select('input');
for (i in inputs) {
if (inputs[i].checked == true) {
error = 0;
}
}
if (error == 1) {
return false;
} else {
error = 1;
}
}
}
return true;
}]
]
);
//]]>
</script>
<?php else: ?>
<p class="review-nologged" id="review-form">
<?php echo $this->__('Only registered users can write reviews. Please, log in or register', $this->getLoginLink(), Mage::helper('customer')->getRegisterUrl()) ?>
</p>
<?php endif ?>
Looks like the standard rwd theme layout. If i delete my custom one so the rwd default pops up it still doesn't work.
The url that i'm posting from is as following:
https://www.example.com/review/product/post/id/73/
Hope someone can help me in the right direction. It's driving me crazy!!!
I solved the problem myself.
It had nothing to do with the reviews themselves. My first thought was a module that blocked access to the reviews, and after searching in de controller for reviews we found out that the problem was a module that couldn't have a certain length of characters stored in the database. This somehow conflicted with the reviews post.
After contacting the developers of that module we were able to solve the problem. The module was MailPlus and we solved it by going to the module its configuration and edited the following for Main website:
After changing this the reviews form started working again.
Thanks everybody for helping me!
Im using a script, hosted on my server to create sheduled posts for a few facebook fanpages. Im the admin of the app but not the creator. The guys who created the script does not support the script anymore...
EDIT: By stopped working i mean - the process of the upload in the backend of the script runs as always, but the sheduled posts are not generated in facebook. Nothing there... Normally all the images should listed in my planned posts section of the fanpage. I cant find the error. The app is also not blocked.
The current app (facebook 2.0 API) uses submission for manage_pages and publish_pages. When i access the app and try to upload images, the fb entry dialog to the app shows up following Message:
Submit for Login Review
Some of the permissions below have not been approved for use by Facebook.
I submited a review for the app and get following answers for each submission:
for "publish_pages" & "manage_pages":
Your app needs permission for their current functionality. You may have to request another authorization or you can public_profile use the property for their use you need a separate authorization.
Notes From Your Reviewer:
You don’t need any extended permissions for an app that you admin. App admins, and any account listed as a ‘role’ in the App Settings page, can access all permissions without submitting for review. You only need to submit for review if the users/customers of your app are using the permissions to enhance their experience in-app
I already tried a dozen of tutorials, the publish_action submission and so on - no luck or not enough knowledge. Maybe the second one :)
Here is the index.php of the script: (Any help will be greatly appreciated!)
<?php
define('PATH', dirname(__file__));
session_start();
if(!isset($_SESSION['logged']) || $_SESSION['logged']!=true){
header("Location: login.php");
exit(0);
}
require_once(PATH . '/lang.php');
require_once(PATH . '/config.php');
require_once(PATH . '/createDatabase.php');
if(isset($_GET['id']) && is_numeric($_GET['id'])){
$db->delete("pages", "ID", $_GET['id']);
echo '<script type="text/javascript">
<!--
window.location = "index.php"
//-->
</script>';
exit(0);
}
require_once(PATH . '/header.php');
if (isset($_POST['rss'])) {
if(strlen($_POST['rss'])>5){
$db->insert("rss",array('url' => strip_tags($_POST['rss'])));
}
}
if(!function_exists('curl_init')){
echo '<div class="alert alert-error">
<button type="button" class="close" data-dismiss="alert">×</button>
' . $l['errorcurl'] . '
</div>';
exit(0);
}
if(!isset($idApp) || $idApp == ""){
echo '<div class="alert alert-error">
<button type="button" class="close" data-dismiss="alert">×</button>
' . $l['errorappid'] . '
</div>';
exit(0);
}
if(!isset($appSecret) || $appSecret == ""){
echo '<div class="alert alert-error">
<button type="button" class="close" data-dismiss="alert">×</button>
' . $l['errorappsecret'] . '
</div>';
exit(0);
}
if(!isset($canvasUrl) || $canvasUrl == ""){
echo '<div class="alert alert-error">
<button type="button" class="close" data-dismiss="alert">×</button>
' . $l['errorcanvas'] . '
</div>';
exit(0);
}
if(!isset($folder) || $folder == ""){
echo '<div class="alert alert-error">
<button type="button" class="close" data-dismiss="alert">×</button>
' . $l['errorfolder'] . '
</div>';
exit(0);
}
if(isset($_FILES["zip_file"]["name"])) {
$filename = $_FILES["zip_file"]["name"];
$source = $_FILES["zip_file"]["tmp_name"];
$type = $_FILES["zip_file"]["type"];
$name = explode(".", $filename);
$accepted_types = array('application/zip', 'application/x-zip-compressed', 'multipart/x-zip', 'application/x-compressed');
foreach($accepted_types as $mime_type) {
if($mime_type == $type) {
$okay = true;
break;
}
}
$continue = strtolower($name[1]) == 'zip' ? true : false;
if(!$continue) {
$message = '<div class="alert alert-error">
<button type="button" class="close" data-dismiss="alert">×</button>
' . $l['errorzip'] . '
</div>';
}
$target_path = PATH . "/" . $folder . "/" .$filename; // change this to the correct site path
if(move_uploaded_file($source, $target_path)) {
$zip = new ZipArchive();
$x = $zip->open($target_path);
if ($x === true) {
$zip->extractTo(PATH . "/" . $folder . "/"); // change this to the correct site path
$zip->close();
unlink($target_path);
}
$message = '<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">×</button>
' . $l['successzip'] . '
</div>';
} else {
$message = '<div class="alert alert-error">
<button type="button" class="close" data-dismiss="alert">×</button>
' . $l['errorupload'] . '
</div>';
}
}
if(isset($_POST['deleteFolder'])){
function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (filetype($dir."/".$object) == "dir") rmdir($dir."/".$object); else unlink($dir."/".$object);
}
}
reset($objects);
rmdir($dir);
}
}
if(is_dir(PATH . '/' . $_POST['deleteFolder'])){
rrmdir(PATH . '/' . $_POST['deleteFolder']);
}
}
?>
<div class="container-fluid">
<div class="row-fluid">
<hr>
<div id="tab" class="nav nav-pills pull-right" data-toggle="buttons-radio">
<?php echo $l['config'];?>
<?php echo $l['pages'];?>
<?php echo $l['posts'];?>
<?php echo $l['folders'];?>
<?php echo $l['liveposts'];?>
<?php echo $l['logout'];?>
</div>
<br clear="all" />
<div class="tab-content">
<div class="tab-pane active" id="prices2">
<br>
<div class="alert alert-info"><?php echo $l['configinfo'];?></div>
<p class="lead"><?php echo $l['config'];?></p>
<!--Body content-->
<legend><?php echo $l['configproblems'];?></legend>
<?php
if (count($db->selectAll("config"))>0) {
echo '<button class="btn btn-success">' . $l['youhavetoken'] . '</button>';
echo '<button class="btn btn-info">' . $l['renewtoken'] . '</button>';
} else {
echo '<button class="btn btn-info">' . $l['gettoken'] . '</button>';
}
?>
</div>
<div class="tab-pane" id="features2">
<br>
<div class="alert alert-info">
<?php echo $l['pagesinfo'];?>
</div>
<p class="lead"><?php echo $l['pages'];?></p>
<form class="form-horizontal" method="POST">
<fieldset>
<!-- Form Name -->
<legend><?php echo $l['addpages'];?></legend>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="page"><?php echo $l['pageurl'];?></label>
<div class="controls">
<input id="page" name="page" type="text" placeholder="https://www.facebook.com/your-page-url" class="input-xlarge" required="">
<p class="help-block"><?php echo $l['pageurl'];?></p>
</div>
</div>
<!-- Button -->
<div class="control-group">
<label class="control-label" for="add"></label>
<div class="controls">
<button id="add" name="add" class="btn btn-success"><?php echo $l['add'];?></button>
</div>
</div>
</fieldset>
</form>
<?php
if (isset($_POST['page'])) {
$resultToken = $db->selectAll("config");
if(isset($resultToken[0]['token']))
$token = $resultToken[0]['token'];
function getSslPage($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$info = json_decode(getSslPage('https://graph.facebook.com/' . $_POST['page'] . '?access_token=' . $token));
if(isset( $info->name)){
$album = json_decode(getSslPage('https://graph.facebook.com/' . $info->id . '/albums?fields=id&access_token=' . $token));
$fotoAlbum = "";
foreach ($album->data as $key => $value) {
if($fotoAlbum=="" || #$album->data[$key]->name == "Timeline Photos"){
$fotoAlbum = #$album->data[$key]->id;
}
}
$db->insert("pages",array('ID' => $info->id , 'url' => $info->name, 'idalbum' => $fotoAlbum));
unset($_POST);
}
}
$result = $db->selectAll("pages");
if(!empty($result)){
echo '<table class="table table-striped" id="example">
<thead>
<tr>
<td>' . $l['name'] . '</td>
<td>' . $l['id'] . '</td>
<td>' . $l['open'] . '</td>
<td>' . $l['delete'] . '</td>
</tr>
</thead>
<tbody>';
foreach ($result as $value){
echo '<tr><td>' , $value['url'] , '</td><td>' , $value['ID'] , '</td><td><a target="_blank" href="https://www.facebook.com/' , $value['ID'] , '">' . $l['open'] . '</a></td><td>' . $l['delete'] . '</td></tr>';
}
echo '</tbody></table>';
}
?>
</div>
<div class="tab-pane" id="folders">
<br>
<div class="alert alert-info"><?php echo $l['foldersinfo'];?></div>
<p class="lead"><?php echo $l['folders'];?></p>
<legend><?php echo $l['uploadzipfolders'];?></legend>
<?php if(isset($message)) echo "<p>$message</p>"; ?>
<form enctype="multipart/form-data" method="post" action="">
<label><?php echo $l['choosezip'];?>: <input type="file" name="zip_file" /></label>
<br />
<input type="submit" name="submit" value="<?php echo $l['upload'];?>" />
</form>
<legend><?php echo $l['deletefolder'];?></legend>
<form method="post" action="">
<select id="deleteFolder" name="deleteFolder" class="input-xlarge" required>
<?php
$folders = glob(PATH . '/' . $folder . "/*", GLOB_ONLYDIR );
foreach ($folders as $subfolder){
$subfolder = explode('/', $subfolder);
echo '<option value="' , $folder , '/', $subfolder[count($subfolder)-1] , '">' , $folder , '/', $subfolder[count($subfolder)-1] , '/' , '</option>';
}
?>
</select><br />
<input type="submit" name="submit" value="<?php echo $l['deletefolder'];?>" />
</form>
<legend><?php echo $l['uploadimagestofolder'];?></legend>
<select id="puthere" name="puthere" class="input-xlarge" required>
<?php
echo '<option value="' , $folder , '">' , $folder , ' (root) </option>';
$folders = glob(PATH . '/' . $folder . "/*", GLOB_ONLYDIR );
foreach ($folders as $subfolder){
$subfolder = explode('/', $subfolder);
echo '<option value="' , $folder , '/', $subfolder[count($subfolder)-1] , '">' , $folder , '/', $subfolder[count($subfolder)-1] , '/' , '</option>';
}
?>
</select>
<div id="file-uploader-demo1">
<noscript>
<p><?php echo $l['enablejavascript'];?></p>
<!-- or put a simple form for upload here -->
</noscript>
</div>
<div class="qq-upload-extra-drop-area"><?php echo $l['dropfiles'];?></div>
</div>
<div class="tab-pane" id="live">
<div class="alert alert-info"><?php echo $l['rssinfo'];?></div>
<form class="form-horizontal" method="POST">
<fieldset>
<!-- Form Name -->
<legend><?php echo $l['addyourrss'];?></legend>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="page"><?php echo $l['rssurl'];?></label>
<div class="controls">
<input id="rss" name="rss" type="text" placeholder="https://www.something.com/rss" class="input-xlarge" required="">
<p class="help-block"><?php echo $l['rssurl'];?></p>
</div>
</div>
<!-- Button -->
<div class="control-group">
<label class="control-label" for="add"></label>
<div class="controls">
<button id="add" name="add" class="btn btn-success"><?php echo $l['add'];?></button>
</div>
</div>
</fieldset>
</form>
<legend><?php echo $l['startpostlive'];?></legend>
<?php echo $l['startpostlive'];?>
<!-- Select Basic -->
<div class="control-group">
<label class="control-label"><?php echo $l['pickyourrss'];?></label>
<div class="controls">
<select id="urlRss" name="urlRss" class="input-xlarge" multiple required>
<?php
$result = $db->selectAll("rss");
if(!empty($result)){
foreach ($result as $value){
echo '<option value="' , $value['url'] , '">' , $value['url'] , '</option>';
}
}
?>
</select>
</div>
</div>
<!-- Select Basic -->
<div class="control-group">
<label class="control-label"><?php echo $l['pages'];?></label>
<div class="controls">
<select id="pageRss" name="pageRss" class="input-xlarge" multiple required>
<?php
$result = $db->selectAll("pages");
if(!empty($result)){
foreach ($result as $value){
echo '<option value="' , $value['ID'] , '">' , $value['url'] , '</option>';
}
}
?>
</select>
</div>
</div>
<!-- Select Basic -->
<div class="control-group">
<label class="control-label"><?php echo $l['timetocheck'];?></label>
<div class="controls">
<select id="timeRss" name="timeRss" class="input-xlarge" required>
<option value="5">5 <?php echo $l['minutes'];?></option>
<option value="10">10 <?php echo $l['minutes'];?></option>
<option value="15">15 <?php echo $l['minutes'];?></option>
<option value="20">20 <?php echo $l['minutes'];?></option>
<option value="30">30 <?php echo $l['minutes'];?></option>
<option value="45">45 <?php echo $l['minutes'];?></option>
<option value="60">60 <?php echo $l['minutes'];?></option>
</select>
</div>
</div>
<button id="startRss" name="startRss" class="btn btn-success"><?php echo $l['startposting'];?></button>
<button id="stopRss" name="stopRss" class="btn btn-info" style="display:none" onClick="window.location.reload()"><?php echo $l['stopposting'];?></button>
<div id="postsDone"></div>
</div>
<div class="tab-pane" id="requests2">
<br>
<p class="lead"><?php echo $l['posts'];?></p>
<form class="form-horizontal" onsubmit="return false;" id="formPosts">
<fieldset>
<div class="alert alert-info"><?php echo $l['postsinfo'];?></div>
<!-- Form Name -->
<legend><?php echo $l['generateposts'];?></legend>
<!-- Select Basic -->
<div class="control-group">
<label class="control-label"><?php echo $l['folder'];?></label>
<div class="controls">
<select id="subfolder" name="subfolder" class="input-xlarge" required>
<?php
echo '<option value="' , $folder , '">' , $folder , ' (root) </option>';
$folders = glob(PATH . '/' . $folder . "/*", GLOB_ONLYDIR );
foreach ($folders as $subfolder){
$subfolder = explode('/', $subfolder);
echo '<option value="' , $folder , '/', $subfolder[count($subfolder)-1] , '">' , $folder , '/', $subfolder[count($subfolder)-1] , '/' , '</option>';
}
?>
</select>
</div>
</div>
<!-- Select Basic -->
<div class="control-group">
<label class="control-label"><?php echo $l['pages'];?></label>
<div class="controls">
<select id="page" name="page[]" class="input-xlarge" multiple required>
<?php
$result = $db->selectAll("pages");
if(!empty($result)){
foreach ($result as $value){
echo '<option value="' , $value['ID'] , '">' , $value['url'] , '</option>';
}
}
?>
</select>
</div>
</div>
<!-- Select Basic -->
<div class="control-group">
<label class="control-label"><?php echo $l['usefilename'];?></label>
<div class="controls">
<select id="useimagename" name="useimagename" class="input-xlarge" required>
<?php
echo '<option value="0">' , $l['no'] , '</option>';
echo '<option value="1">' , $l['yes'] , '</option>';
?>
</select>
</div>
</div>
<!-- Select Basic -->
<div class="control-group">
<label class="control-label"><?php echo $l['deletefiles'];?></label>
<div class="controls">
<select id="deletefiles" name="deletefiles" class="input-xlarge" required>
<?php
echo '<option value="0">' , $l['no'] , '</option>';
echo '<option value="1">' , $l['yes'] , '</option>';
?>
</select>
</div>
</div>
<!-- Multiple Radios (inline) -->
<div class="control-group">
<label class="control-label"><?php echo $l['numberofposts'];?></label>
<div class="controls">
<label class="radio inline">
<input type="radio" name="numposts" value="10" checked="checked">
10
</label>
<label class="radio inline">
<input type="radio" name="numposts" value="25">
25
</label>
<label class="radio inline">
<input type="radio" name="numposts" value="50">
50
</label>
<label class="radio inline">
<input type="radio" name="numposts" value="100">
100
</label>
<label class="radio inline">
<input type="radio" name="numposts" value="250">
250
</label>
<label class="radio inline">
<input type="radio" name="numposts" value="500">
500
</label>
</div>
</div>
<div class="control-group">
<label class="control-label"><?php echo $l['timefirstpost'];?></label>
<div class="controls">
<div id="datetimepicker1" class="input-append date">
<input data-format="dd/MM/yyyy hh:mm:ss" type="text" id="dataehora" name="dataehora" required></input>
<span class="add-on">
<i data-time-icon="icon-time" data-date-icon="icon-calendar">
</i>
</span>
</div>
</div>
</div>
<!-- Multiple Radios (inline) -->
<div class="control-group">
<label class="control-label"><?php echo $l['timebettweenpost'];?></label>
<div class="controls">
<label class="radio inline">
<input type="radio" name="time" value="2m">
2 <?php echo $l['minutes'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="3m">
3 <?php echo $l['minutes'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="5m" checked="checked">
5 <?php echo $l['minutes'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="10m">
10 <?php echo $l['minutes'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="15m">
15 <?php echo $l['minutes'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="20m">
20 <?php echo $l['minutes'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="30m">
30 <?php echo $l['minutes'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="1h">
1 <?php echo $l['hours'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="2h">
2 <?php echo $l['hours'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="3h">
3 <?php echo $l['hours'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="4h">
4 <?php echo $l['hours'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="5h">
5 <?php echo $l['hours'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="6h">
6 <?php echo $l['hours'];?>
</label>
<label class="radio inline">
<input type="radio" name="time" value="12h">
12 <?php echo $l['hours'];?>
</label>
</div>
</div>
<div class="control-group">
<label class="control-label"><?php echo $l['maxpostsperday'];?></label>
<div class="controls">
<div>
<input type="text" id="postsperday" name="postsperday"></input>
</div>
</div>
</div>
<!-- Multiple Radios (inline) -->
<div class="control-group">
<label class="control-label"><?php echo $l['from'];?></label>
<div class="controls">
<label class="radio inline">
<input type="radio" name="from" value="folder" checked="checked">
<?php echo $l['randomimages'];?>
</label>
<label class="radio inline">
<input type="radio" name="from" value="file">
<?php echo $l['file'];?>
</label>
</div>
</div>
<!-- Button -->
<div class="control-group">
<label class="control-label"></label>
<div class="controls">
<button id="generatePosts" name="singlebutton" class="btn btn-success"><?php echo $l['generate'];?></button>
</div>
</div>
</fieldset>
</form>
<div class="progress progress-striped active" style="display:none">
<div class="bar" style="width: 0%;"></div>
</div>
<div id="defaultText" style="display:none">
<input type="text" val="" class="text" />
<select class="input-xlarge" required>
<?php
echo '<option value="0">' , $l['begginingempty'] , '</option>';
echo '<option value="1">' , $l['endempty'] , '</option>';
echo '<option value="2">' , $l['begginingall'] , '</option>';
echo '<option value="3">' , $l['endall'] , '</option>';
?>
</select>
<button name="singlebutton" class="btn btn-success addDescription"><?php echo $l['add']; ?></button>
</div>
<ul class="thumbnails" id="listaposts">
</ul>
<br clear="all" />
<div class="alert alert-success sucessoPost" style="display:none">
<button type="button" class="close" data-dismiss="alert">×</button>
<?php echo $l['successposts'];?>
</div>
<div class="options" style="display:none">
<div class="alert alert-error">
<button type="button" class="close" data-dismiss="alert">×</button>
<?php echo $l['dontclose'];?>
</div>
<hr>
<button id="postall" name="singlebutton" class="btn btn-success"><?php echo $l['postall'];?></button>
<a onClick="window.location.reload()" name="singlebutton" class="btn btn-error"><?php echo $l['deleteall'];?></a>
</div>
</div>
</div>
</div>
</div>
<?php
require_once(PATH . '/footer.php');
?>
Cant figure the PROTOTYPE script for adding or removing a the css class name "selected" to img element based in click function (already done for Jquery...) but it must be in Prototype. And its driving me crazy. Cant make it work for prototype....
My original code is (Magento store)
<div class="block block-poll">
<div class="block-title">
<strong><span><?php echo $this->__('Community Poll') ?></span></strong>
</div>
<form id="pollForm" action="<?php echo $action ?>" method="post" onsubmit="return validatePollAnswerIsSelected();">
<div class="block-content">
<p class="block-subtitle"><?php echo $this->htmlEscape($poll->getPollTitle()); ?></p>
<?php if( $poll_answers ): ?>
<ul id="poll-answers">
<?php foreach( $poll_answers as $answer ): ?>
<li>
<input type="radio" name="vote" style ="display:none;" class="radio poll_vote" id="vote_<?php echo $answer->getId() ?>" value="<?php echo $answer->getAnswerId() ?>" />
<?php
$stripped = $answer->getAnswerTitle();
$stripped_final = str_replace(" ", "_", strtolower($stripped)); //Value (simplified)
?>
<span class="label"><label for="vote_<?php echo $answer->getId() ?>"><img src="http://www.passione.pt/media/poll/<?php echo $stripped_final; ?>.png" id="chooser" class="chooser" alt="<?php echo $this->htmlEscape($answer->getAnswerTitle()) ?>" onClick="document.getElementById('vote_<?php echo $answer->getId() ?>').checked =true;"/></label></span>
</li>
<?php endforeach; ?>
</ul>
<script type="text/javascript">decorateList('poll-answers');</script>
<?php endif; ?>
<div class="actions">
<button type="submit" title="<?php echo $this->__('Vote') ?>" class="button"><span><span><?php echo $this->__('Vote') ?></span></span></button>
</div>
</div>
</form>
</div>
<?php endif; ?>
For Jquery.
Could you transform for Prototype 1.7...?
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript">
var Chooser = $('#poll-answers img');
Chooser.click(function() {
$('.chooser').removeClass('selected');
if(!Chooser.hasClass('selected')) {
$(this).addClass('selected');
} else {
$(this).removeClass('selected');
}
});
</script>
Prototype version of that click handler (untested):
$('poll-answers').on('click', 'img', function(event, element) {
$$('.chooser').invoke('removeClassName', 'selected');
element.toggleClassName('selected');
});
Edit: Changed to toggleClassName as per #Victor's suggestion. +7 points for him, and from each to invoke thanks to #Geek Num. +7 points for him and 1 left over for me.
EDIT 051012:
Turns out that the issue was less to do with the forms being on one page but more to conflicts between prototype and jQuery; there was a inclusion of jQuery right at the bottom of the footer which was not set to no conflict. I simply added this after the inclusion of that particular jQuery:
<script type="text/javascript">
//<![CDATA[
$.noConflict();
//]]>
</script>
I'm accepting Pavel Novitsky's answer below because he mentioned, "If assuming that you have no form embedding or JavaScript errors your code should work.." and that made me realize that it might have something to do with Javascript.
I'm currently building an e-commerce site with Magento which requires for both the registration and login forms to sit on one page.
I have successfully integrated both forms on a single page but was not able to login or register.
Here's a very brief overview of how the forms are structured
<!--registration-->
<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="form-validate">
<!--// form input fields go here-->
</form>
<script type="text/javascript">
//<![CDATA[
var dataForm = new VarienForm('form-validate', true);
//]]>
</script>
<!--login-->
<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="login-form">
<!--// form input fields go here-->
</form>
<script type="text/javascript">
//<![CDATA[
var dataForm = new VarienForm('form-validate', true);
//]]>
</script>
I noticed that the variable dataForm was being defined twice over so I switched one of them to dataForm02 to see if the submissions would go through - neither did. So after almost 6 hours of prodding, I decided to remove the javascript validation and to my surprise, the submission on both forms worked.
Does anyone have an idea why this is happening? It is good that I got the submissions on both forms through but this is definitely not ideal because there'd be no form of validations employed on the 2 forms. I'm close to throwing my computer out my 20th storey apartment.
you have one and the same form action for both login and register forms:
<?php echo $this->getPostActionUrl() ?>
This method is defined in different blocks for templates.
If assume that you have no form embedding or JavaScript errors your code should work.Hard to say something without real code.
Just one guess: do you have
//<![CDATA[
var dataForm = new VarienForm('login-form', true);
//]]>
or
<script type="text/javascript">
//<![CDATA[
var dataForm = new VarienForm('login-form', true);
//]]>
</script>
?
Make sure you are using different id for forms in both registration and login forms and also make sure you are using same id in scripts. Seems like you have problem with login form ids. Use this for your login script.
<!--login-->
<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="login-form">
<!--// form input fields go here-->
</form>
<script type="text/javascript">
//<![CDATA[
var dataForm = new VarienForm('login-form', true);
//]]>
</script>
You can alternatively using xml you can achieve this functionality. Just you will need to edit customer.xml file. Replace with this one.
<customer_account_login translate="label">
<label>Customer Account Login Form</label>
<!-- Mage_Customer -->
<remove name="right"/>
<remove name="left"/>
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
<reference name="content">
<block type="customer/form_login" name="customer_form_login" template="customer/form/login.phtml" />
<block type="customer/form_register" name="customer_form_register" template="customer/form/register.phtml">
<block type="page/html_wrapper" name="customer.form.register.fields.before" as="form_fields_before" translate="label">
<label>Form Fields Before</label>
</block>
</block>
</reference>
</customer_account_login>
Replace your theme/template/presistent/customer/form/register.phtml with this code and let me know the result.
<?php $login = new Mage_Customer_Block_Form_Login(); ?>
<div class="account-login">
<div class="page-title">
<h1><?php echo $login->__('Login or Create an Account') ?></h1>
</div>
<?php //echo $login->getMessagesBlock()->getGroupedHtml() ?>
<form action="<?php echo $login->getPostActionUrl() ?>" method="post" id="login-form">
<div class="col2-set">
<div class="col-1 new-users">
<div class="content">
<h2><?php echo $login->__('New Customers') ?></h2>
<p><?php echo $login->__('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
</div>
</div>
<div class="col-2 registered-users">
<div class="content">
<h2><?php echo $login->__('Registered Customers') ?></h2>
<p><?php echo $login->__('If you have an account with us, please log in.') ?></p>
<ul class="form-list">
<li>
<label for="email" class="required"><em>*</em><?php echo $login->__('Email Address') ?></label>
<div class="input-box">
<input type="text" name="login[username]" value="<?php echo $login->htmlEscape($login->getUsername()) ?>" id="email" class="input-text required-entry validate-email" title="<?php echo $login->__('Email Address') ?>" />
</div>
</li>
<li>
<label for="pass" class="required"><em>*</em><?php echo $login->__('Password') ?></label>
<div class="input-box">
<input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="<?php echo $login->__('Password') ?>" />
</div>
</li>
<?php echo $login->getChildHtml('form.additional.info'); ?>
<?php echo $login->getChildHtml('persistent.remember.me'); ?>
</ul>
<?php echo $login->getChildHtml('persistent.remember.me.tooltip'); ?>
<p class="required"><?php echo $login->__('* Required Fields') ?></p>
</div>
</div>
</div>
<div class="col2-set">
<div class="col-1 new-users">
<div class="buttons-set">
<button type="button" title="<?php echo $login->__('Create an Account') ?>" class="button" onclick="window.location='<?php echo Mage::helper('persistent')->getCreateAccountUrl($login->getCreateAccountUrl()) ?>';"><span><span><?php echo $login->__('Create an Account') ?></span></span></button>
</div>
</div>
<div class="col-2 registered-users">
<div class="buttons-set">
<?php echo $login->__('Forgot Your Password?') ?>
<button type="submit" class="button" title="<?php echo $login->__('Login') ?>" name="send" id="send2"><span><span><?php echo $login->__('Login') ?></span></span></button>
</div>
</div>
</div>
<?php if (Mage::helper('checkout')->isContextCheckout()): ?>
<input name="context" type="hidden" value="checkout" />
<?php endif; ?>
</form>
<script type="text/javascript">
//<![CDATA[
var dataForm = new VarienForm('login-form', true);
//]]>
</script>
</div>
<div class="account-create">
<div class="page-title">
<h1><?php echo $this->__('Create an Account') ?></h1>
</div>
<?php echo $this->getChildHtml('form_fields_before')?>
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="form-validate">
<div class="fieldset">
<input type="hidden" name="success_url" value="<?php echo $this->getSuccessUrl() ?>" />
<input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
<h2 class="legend"><?php echo $this->__('Personal Information') ?></h2>
<ul class="form-list">
<li class="fields">
<?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getFormData())->setForceUseCustomerAttributes(true)->toHtml() ?>
</li>
<li>
<label for="email_address" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
<div class="input-box">
<input type="text" name="email" id="email_address" value="<?php echo $this->escapeHtml($this->getFormData()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" />
</div>
</li>
<?php if ($this->isNewsletterEnabled()): ?>
<li class="control">
<div class="input-box">
<input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
</div>
<label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
</li>
<?php endif ?>
<?php $_dob = $this->getLayout()->createBlock('customer/widget_dob') ?>
<?php if ($_dob->isEnabled()): ?>
<li><?php echo $_dob->setDate($this->getFormData()->getDob())->toHtml() ?></li>
<?php endif ?>
<?php $_taxvat = $this->getLayout()->createBlock('customer/widget_taxvat') ?>
<?php if ($_taxvat->isEnabled()): ?>
<li><?php echo $_taxvat->setTaxvat($this->getFormData()->getTaxvat())->toHtml() ?></li>
<?php endif ?>
<?php $_gender = $this->getLayout()->createBlock('customer/widget_gender') ?>
<?php if ($_gender->isEnabled()): ?>
<li><?php echo $_gender->setGender($this->getFormData()->getGender())->toHtml() ?></li>
<?php endif ?>
</ul>
</div>
<?php if($this->getShowAddressFields()): ?>
<div class="fieldset">
<input type="hidden" name="create_address" value="1" />
<h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
<ul class="form-list">
<li class="fields">
<div class="field">
<label for="company"><?php echo $this->__('Company') ?></label>
<div class="input-box">
<input type="text" name="company" id="company" value="<?php echo $this->escapeHtml($this->getFormData()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('company') ?>" />
</div>
</div>
<div class="field">
<label for="telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
<div class="input-box">
<input type="text" name="telephone" id="telephone" value="<?php echo $this->escapeHtml($this->getFormData()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>" />
</div>
</div>
</li>
<?php $_streetValidationClass = $this->helper('customer/address')->getAttributeValidationClass('street'); ?>
<li class="wide">
<label for="street_1" class="required"><em>*</em><?php echo $this->__('Street Address') ?></label>
<div class="input-box">
<input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getFormData()->getStreet(1)) ?>" title="<?php echo $this->__('Street Address') ?>" id="street_1" class="input-text <?php echo $_streetValidationClass ?>" />
</div>
</li>
<?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
<?php for ($_i = 2, $_n = $this->helper('customer/address')->getStreetLines(); $_i <= $_n; $_i++): ?>
<li class="wide">
<div class="input-box">
<input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getFormData()->getStreet($_i)) ?>" title="<?php echo $this->__('Street Address %s', $_i) ?>" id="street_<?php echo $_i ?>" class="input-text <?php echo $_streetValidationClass ?>" />
</div>
</li>
<?php endfor; ?>
<li class="fields">
<div class="field">
<label for="city" class="required"><em>*</em><?php echo $this->__('City') ?></label>
<div class="input-box">
<input type="text" name="city" value="<?php echo $this->escapeHtml($this->getFormData()->getCity()) ?>" title="<?php echo $this->__('City') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('city') ?>" id="city" />
</div>
</div>
<div class="field">
<label for="region_id" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
<div class="input-box">
<select id="region_id" name="region_id" title="<?php echo $this->__('State/Province') ?>" class="validate-select" style="display:none;">
<option value=""><?php echo $this->__('Please select region, state or province') ?></option>
</select>
<script type="text/javascript">
//<![CDATA[
$('region_id').setAttribute('defaultValue', "<?php echo $this->getFormData()->getRegionId() ?>");
//]]>
</script>
<input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getRegion()) ?>" title="<?php echo $this->__('State/Province') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('region') ?>" style="display:none;" />
</div>
</div>
</li>
<li class="fields">
<div class="field">
<label for="zip" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
<div class="input-box">
<input type="text" name="postcode" value="<?php echo $this->escapeHtml($this->getFormData()->getPostcode()) ?>" title="<?php echo $this->__('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international <?php echo $this->helper('customer/address')->getAttributeValidationClass('postcode') ?>" />
</div>
</div>
<div class="field">
<label for="country" class="required"><em>*</em><?php echo $this->__('Country') ?></label>
<div class="input-box">
<?php echo $this->getCountryHtmlSelect() ?>
</div>
</div>
</li>
</ul>
<input type="hidden" name="default_billing" value="1" />
<input type="hidden" name="default_shipping" value="1" />
</div>
<?php endif; ?>
<div class="fieldset">
<h2 class="legend"><?php echo $this->__('Login Information') ?></h2>
<ul class="form-list">
<li class="fields">
<div class="field">
<label for="password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
<div class="input-box">
<input type="password" name="password" id="password" title="<?php echo $this->__('Password') ?>" class="input-text required-entry validate-password" />
</div>
</div>
<div class="field">
<label for="confirmation" class="required"><em>*</em><?php echo $this->__('Confirm Password') ?></label>
<div class="input-box">
<input type="password" name="confirmation" title="<?php echo $this->__('Confirm Password') ?>" id="confirmation" class="input-text required-entry validate-cpassword" />
</div>
</div>
</li>
<?php echo $this->getChildHtml('form.additional.info'); ?>
<?php echo $this->getChildHtml('persistent.remember.me'); ?>
</ul>
<?php echo $this->getChildHtml('persistent.remember.me.tooltip'); ?>
</div>
<div class="buttons-set">
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
<p class="back-link"><small>« </small><?php echo $this->__('Back') ?></p>
<button type="submit" title="<?php echo $this->__('Submit') ?>" class="button"><span><span><?php echo $this->__('Submit') ?></span></span></button>
</div>
<?php if (Mage::helper('checkout')->isContextCheckout()): ?>
<input name="context" type="hidden" value="checkout" />
<?php endif; ?>
</form>
<script type="text/javascript">
//<![CDATA[
var dataForm = new VarienForm('form-validate', true);
<?php if($this->getShowAddressFields()): ?>
new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
<?php endif; ?>
//]]>
</script>
</div>