Опциональная регистация, редактирование cherkout_register_form.php

6 года 4 мес. назад #1249 от Crus777
На сайте сделана опциональная регистрация. Есть задача передвинуть чекбокс "Создать учетную запись?" на верх, выше поля Email. Т.к. при нынешнем раскладе средний пользователь начинает заполнение формы начиная с поля "Повторите Email" (который, на самом деле, является полем login)

php не знаю :( И файлы cherkout_register_form.php, shopper.php и userfields.php оказались слишком сложными для меня - я совершенно не понимаю, что там править, чтобы передвинуть эту кнопку :(

Помогите, пожалуйста.

Вложения:

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 4 мес. назад #1271 от Crus777
никого нет на форуме, или никто не знает ответ?:dry:

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 4 мес. назад #1272 от bionetinfo
Crus777, в исходном варианте размешение позиций вывода элементов выглядит именно так, как вы планируете сделать. У вас, на мой взгляд, два пути решения задачи:
1. Перезаписать исходный файл;
2. Посмотреть через Firebug как выглядит необходимый фрагмент кода и перенести его в нужное место.
Спасибо сказали: Crus777

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 4 мес. назад - 6 года 4 мес. назад #1273 от Crus777
Попробовал заменить файлы:
checkout_register_form.php
login_form.tpl.php
ps_shopper.php
ps_userfield.php

На такие же, только из неправленного шаблона, скаченного из инета - результата ноль. Значит, так было изначально, да и не мог я передвинуть эту кнопку, т.к. понятия не имею как это делается :(

Попробовал поискать кусок кода при помощи FireBug. Вот такой код находит:
if( $field->name == 'username' && VM_REGISTRATION_TYPE == 'OPTIONAL_REGISTRATION' ) {
				echo '<div class="formLabel">
						<input type="checkbox" id="register_account" name="register_account" value="1" class="inputbox" onchange="showFields( this.checked, new Array(\'username\', \'password\', \'password2\') );if( this.checked ) { document.adminForm.remember.value=\'yes\'; } else { document.adminForm.remember.value=\'yes\'; }" checked="checked" />
					</div>
					<div class="formField">
						<label for="register_account">'.$VM_LANG->_('VM_REGISTER_ACCOUNT').'</label>
					</div>
					';
			} elseif( $field->name == 'username' ) {
				echo '<input type="hidden" id="register_account" name="register_account" value="1" />';
			}

Этот код нашёлся у меня в файле ps_userfield.php на 325 строке. Однако при попытке перетащить этот кусок кода выше выдавало синтаксическую ошибку. Путём тупого перебора строк выяснил, что есть следующий кусок кода, если вставить код ВЫШЕ него, то кнопка вообще исчезает. Если ниже - появляется на прежнем месте. Вот этот код с 299 строки:
foreach( $rowFields as $field) {
	   		if( !isset( $default[$field->name] )) {
	   			$default[$field->name] = $field->default;
	   		}
	   		$readonly = $field->readonly ? ' readonly="readonly"' : '';
 
	   		if( in_array( $field->name, $skipFields )) {
	   			continue;
	   		}

Т.к. я отчаянно не понимаю что тут написано, то и не понимаю что делать дальше :( Может кто подсказать?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 4 мес. назад #1310 от Crus777
Ну подскажите хоть какой живой форум, где можно ответ получить? :unsure:

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.


Вверх