Creating a Custom Page in OpenCart
I noticed a lot of users are searching for help on this topic, so here's a short tutorial for all of you.What you need:
- Basic PHP knowledge
- Basic HTML knowledge
- Text Editor
Required files to create a custom page:
- Controller file
- Template file
Optional files:
- Model file
- Language file (I will be using it in this example here)
Controller file
Create a file name 'static.php' in /catalog/controller/information/
code inside the file (php)
<?php
class ControllerInformationStatic extends Controller {
private $error = array();
public function index() {
$this->language->load('information/static'); //Optional. This calls for your language file
$this->document->setTitle($this->language->get('heading_title')); //Optional. Set the title of your web page.
$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/static'),
'separator' => $this->language->get('text_separator')
);
$this->data['heading_title'] = $this->language->get('heading_title'); //Get "heading title" from language file.
if (file_exists(DIR_TEMPLATE .
$this->config->get('config_template') .
'/template/information/static.tpl')) { //if file exists in your current
template folder
$this->template = $this->config->get('config_template') . '/template/information/static.tpl'; //get it
} else {
$this->template = 'default/template/information/static.tpl'; //or get the file from the default folder
}
$this->children = array( //Required. The children files for the page.
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
);
$this->response->setOutput($this->render());
}
}
?>
Template file
Create a file name 'static.tpl' in /catalog/view/theme/default/template/information/
code inside that (php and html)
<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>
<div id="content"><?php echo $content_top; ?>
<div class="breadcrumb">
<?php foreach ($breadcrumbs as $breadcrumb) { ?>
<?php echo $breadcrumb['separator']; ?><a href="<?php
echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text'];
?></a>
<?php } ?>
</div>
<h1><?php echo $heading_title; ?></h1>
YOUR OWN CONTENTS
<?php echo $content_bottom; ?></div>
<?php echo $footer; ?>
Language file
Create a file name 'static.php' in /catalog/language/english/information/
code inside that file
<?php
// Heading
$_['heading_title'] = 'Static Page';
//Add as many as you want, but remember to call for it in the controller
file before you can use it in the template
?>
Then Go to Url of ur site just like that now in this local
http://localhost/opencartshop/index.php?route=information/static
http:url of ur site?route=information/static
Comments
Post a Comment