Menambahkan Item Phone Pada Registrasi OJS 3

Secara default form registrasi pada OJS 3 tidak menampilkan item phone. Untuk sekarang ini tutorial yang akan dibuat untuk menambahkan dan mewajibkan user yang daftar akan mewajibkan menginputkan field phone saat registrasi.

Sekarang login kedalam CPanel OJS anda. Saat ini saya menggunakan CuteFTP untuk membuka dan meng-edit Regrastion Form OJS 3.

Langkah Pertama Buka File Maneger pada CPanel Anda atau pada CuteFTP

  1. Buka folder public_html/lib/pkp/templates/frontend/components
  2. Pilih dan Edit file registrationForm.tpl
  3. Pada Baris 56 dibawah <div class=”affiliation”>, dengan script berikut:
    		<div class="phone">
    			<label>
    				<span class="label">
    					{translate key="user.phone"}
    					<span class="required">*</span>
    					<span class="pkp_screen_reader">
    						{translate key="common.required"}
    					</span>
    				</span>
    				<input type="text" name="phone[{$primaryLocale|escape}]" id="phone" value="{$phone.$primaryLocale|escape}" maxlength="40" required>
    			</label>
    		</div>
    		<div class="affiliation">
    			<label>
    				<span class="label">
    					{translate key="user.affiliation"}
    					<span class="required">*</span>
    					<span class="pkp_screen_reader">
    						{translate key="common.required"}
    					</span>
    
  4. Simpanlah file registrationForm.tpl

Langkah ke-dua, untuk supaya field phone tadi bisa disimpanm selanjutnya ikuti langkah berikut:

  1. Buka folder public_html/lib/pkp/classes/user/form
  2. Pilih dan Edit file RegistrationForm.inc.php
  3. Setelah terbuka, selanjutnya cari baris script seperti dibawah ini:
  4. 	/**
    	 * Assign form data to user-submitted data.
    	 */
    	function readInputData() {
    		parent::readInputData();
    
    		$this->readUserVars(array(
    			'username',
    			'password',
    			'password2',
    			'firstName',
    			'middleName',
    			'lastName',
    			'phone', /* field phone yang ditambahkan */
    			'affiliation',
    			'email',
    			'country',
    			'interests',
    			'emailConsent',
    			'privacyConsent',
    			'readerGroup',
    			'reviewerGroup',
    		));
    
    
    
  5. Selanjutnya cari script seperti dibawah ini:
  6. 	/**
    	 * Register a new user.
    	 * @param $request PKPRequest
    	 * @return int|null User ID, or false on failure
    	 */
    	function execute($request) {
    		$requireValidation = Config::getVar('email', 'require_validation');
    		$userDao = DAORegistry::getDAO('UserDAO');
    
    		// New user
    		$user = $userDao->newDataObject();
    
    		$user->setUsername($this->getData('username'));
    
    		// Set the base user fields (name, etc.)
    		$user->setFirstName($this->getData('firstName'));
    		$user->setMiddleName($this->getData('middleName'));
    		$user->setLastName($this->getData('lastName'));
    		$user->setInitials($this->getData('initials'));
            $user->setPhone($this->getData('phone')); /* Script yang ditambahkan */
    		$user->setEmail($this->getData('email'));
    		$user->setCountry($this->getData('country'));
    		$user->setAffiliation($this->getData('affiliation'), null); // Localized
    
    
  7. Simpalah file RegistrationForm.inc.php
  8. Selanjutnya buka form Registrasi dan di refresh