Jump to content

Pulling Telephone Number From Opencart


ukscotth

Recommended Posts

Hi,

 

I'm trying to create a custom theme for Opencart but Im having troubles extracting the telephone number from the database to include it in my header. Opencart confuses me in the way that it uses controller files and I think each controller file links to individual tpl files so the telephone number variable can only be used on the contact page etc. It wont let me use it in the header file.

 

Is there an easy way I can use the telephone variable in my header file ? I will paste the contact controller code below if anyone can help it would be most appreciated.

 

Thanks,

 

Scott.

 

<?php 
class ControllerInformationContact extends Controller {
private $error = array(); 
    
  	public function index() {
	$this->language->load('information/contact');

    	$this->document->setTitle($this->language->get('heading_title'));  

    	if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
		$mail = new Mail();
		$mail->protocol = $this->config->get('config_mail_protocol');
		$mail->parameter = $this->config->get('config_mail_parameter');
		$mail->hostname = $this->config->get('config_smtp_host');
		$mail->username = $this->config->get('config_smtp_username');
		$mail->password = $this->config->get('config_smtp_password');
		$mail->port = $this->config->get('config_smtp_port');
		$mail->timeout = $this->config->get('config_smtp_timeout');				
		$mail->setTo($this->config->get('config_email'));
  		$mail->setFrom($this->request->post['email']);
  		$mail->setSender($this->request->post['name']);
  		$mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
  		$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));
      		$mail->send();

  		$this->redirect($this->url->link('information/contact/success'));
    	}

      	$this->data['breadcrumbs'] = array();

      	$this->data['breadcrumbs'][] = array(
        	'text'      => $this->language->get('text_home'),
		'href'      => $this->url->link('common/home'),        	
        	'separator' => false
      	);

      	$this->data['breadcrumbs'][] = array(
        	'text'      => $this->language->get('heading_title'),
		'href'      => $this->url->link('information/contact'),
        	'separator' => $this->language->get('text_separator')
      	);	

    	$this->data['heading_title'] = $this->language->get('heading_title');

    	$this->data['text_location'] = $this->language->get('text_location');
	$this->data['text_contact'] = $this->language->get('text_contact');
	$this->data['text_address'] = $this->language->get('text_address');
    	$this->data['text_telephone'] = $this->language->get('text_telephone');
    	$this->data['text_fax'] = $this->language->get('text_fax');

    	$this->data['entry_name'] = $this->language->get('entry_name');
    	$this->data['entry_email'] = $this->language->get('entry_email');
    	$this->data['entry_enquiry'] = $this->language->get('entry_enquiry');
	$this->data['entry_captcha'] = $this->language->get('entry_captcha');

	if (isset($this->error['name'])) {
    		$this->data['error_name'] = $this->error['name'];
	} else {
		$this->data['error_name'] = '';
	}

	if (isset($this->error['email'])) {
		$this->data['error_email'] = $this->error['email'];
	} else {
		$this->data['error_email'] = '';
	}		

	if (isset($this->error['enquiry'])) {
		$this->data['error_enquiry'] = $this->error['enquiry'];
	} else {
		$this->data['error_enquiry'] = '';
	}		

		if (isset($this->error['captcha'])) {
		$this->data['error_captcha'] = $this->error['captcha'];
	} else {
		$this->data['error_captcha'] = '';
	}	

    	$this->data['button_continue'] = $this->language->get('button_continue');
    
	$this->data['action'] = $this->url->link('information/contact');
	$this->data['store'] = $this->config->get('config_name');
    	$this->data['address'] = nl2br($this->config->get('config_address'));
    	$this->data['telephone'] = $this->config->get('config_telephone');
    	$this->data['fax'] = $this->config->get('config_fax');
    	
	if (isset($this->request->post['name'])) {
		$this->data['name'] = $this->request->post['name'];
	} else {
		$this->data['name'] = $this->customer->getFirstName();
	}

	if (isset($this->request->post['email'])) {
		$this->data['email'] = $this->request->post['email'];
	} else {
		$this->data['email'] = $this->customer->getEmail();
	}

	if (isset($this->request->post['enquiry'])) {
		$this->data['enquiry'] = $this->request->post['enquiry'];
	} else {
		$this->data['enquiry'] = '';
	}

	if (isset($this->request->post['captcha'])) {
		$this->data['captcha'] = $this->request->post['captcha'];
	} else {
		$this->data['captcha'] = '';
	}		

	if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/information/contact.tpl')) {
		$this->template = $this->config->get('config_template') . '/template/information/contact.tpl';
	} else {
		$this->template = 'default/template/information/contact.tpl';
	}

	$this->children = array(
		'common/column_left',
		'common/column_right',
		'common/content_top',
		'common/content_bottom',
		'common/footer',
		'common/header'
	);

		$this->response->setOutput($this->render());		
  	}

  	public function success() {
	$this->language->load('information/contact');

	$this->document->setTitle($this->language->get('heading_title')); 

      	$this->data['breadcrumbs'] = array();

      	$this->data['breadcrumbs'][] = array(
        	'text'      => $this->language->get('text_home'),
		'href'      => $this->url->link('common/home'),
        	'separator' => false
      	);

      	$this->data['breadcrumbs'][] = array(
        	'text'      => $this->language->get('heading_title'),
		'href'      => $this->url->link('information/contact'),
        	'separator' => $this->language->get('text_separator')
      	);	

    	$this->data['heading_title'] = $this->language->get('heading_title');

    	$this->data['text_message'] = $this->language->get('text_message');

    	$this->data['button_continue'] = $this->language->get('button_continue');

    	$this->data['continue'] = $this->url->link('common/home');

	if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/success.tpl')) {
		$this->template = $this->config->get('config_template') . '/template/common/success.tpl';
	} else {
		$this->template = 'default/template/common/success.tpl';
	}

	$this->children = array(
		'common/column_left',
		'common/column_right',
		'common/content_top',
		'common/content_bottom',
		'common/footer',
		'common/header'
	);

		$this->response->setOutput($this->render()); 
}

  	private function validate() {
    	if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 32)) {
      		$this->error['name'] = $this->language->get('error_name');
    	}

    	if (!preg_match('/^[^\@]+@.*\.[a-z]{2,6}$/i', $this->request->post['email'])) {
      		$this->error['email'] = $this->language->get('error_email');
    	}

    	if ((utf8_strlen($this->request->post['enquiry']) < 10) || (utf8_strlen($this->request->post['enquiry']) > 3000)) {
      		$this->error['enquiry'] = $this->language->get('error_enquiry');
    	}

    	if (empty($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) {
      		$this->error['captcha'] = $this->language->get('error_captcha');
    	}

	if (!$this->error) {
  		return true;
	} else {
  		return false;
	}  	  
  	}

public function captcha() {
	$this->load->library('captcha');

	$captcha = new Captcha();

	$this->session->data['captcha'] = $captcha->getCode();

	$captcha->showImage();
}	
}
?>


Link to comment
https://forums.phpfreaks.com/topic/264936-pulling-telephone-number-from-opencart/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.