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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.