First copy app\code\core\Mage\Sales\Model\Order.php
to app\code\local\Mage\Sales\Model\Order.php
Now you have to create function for your requirement.
If your order data return value for vehicle model as $order['vehicle_model']
then you have to declare function in Order.php
file of local.
public function getVehicleModel(){
return $this->getVehicleModel();
}
You have to set value in System -> Transactional email -> New order template.
You have to set below statement in your email template.
{{var order.getVehicleModel()}}
Now email template will display vehicle model value.
Same as above you have to generate function for Vehicle year, Vehicle make and call in email template file in admin.
This is possible with CMS configuration only and no code:
create a static block (CMS > Static Blocks) that contains your content
Create a new widget instance (CMS > Widgets) and select your theme
Add Layout Update for page "All Pages" and reference "Page Footer" (this is a container within the page footer) - or "Content" if you want it to be part of the content (i.e. not span over all columns)
4. Select static block from (1) in "Widget Options":
Save.
Clean cache.
Without manual configuration
If this is for an extension, you can use a custom template and the following layout XML instead:
<default>
<reference name="bottom.container">
<block type="core/template" before="-" name="example" template="your_module/your_template.phtml" />
</reference>
</default>
The template will be part of the footer, if you want it to be part of the content, see below:
Add a block programmatically to all pages at the end of the content
Unfortunately, this does not work as desired:
<default>
<reference name="content">
<block type="core/template" after="-" name="example" template="your_module/your_template.phtml" />
</reference>
</default>
This is because the default
layout handle is applied before any page specific layout handles, so although we add the custom block "after all blocks that are already added", the actual content will be added later, after our custom block.
So you have to add your block after all layout XML updates are processed and this is possible with an observer for the controller_action_layout_load_before
event. The observer will look like this:
public function addBlockAfterContent(Varien_Event_Observer $observer)
{
$layout = Mage::getSingleton('core/layout');
$content = $layout->getBlock('content');
$newBlock = $layout->createBlock('core/template', 'example_block_name');
$newBlock->setTemplate('your_module/your_template.phtml');
$content->append($newBlock);
}
Best Answer
Very limited in scope is the blog functionality given for FREE :
Magento 1.x : https://marketplace.magento.com/aheadworks-aw-blog.html
Magento 2.x : https://marketplace.magento.com/magefan-module-blog.html
so you can create blog posts and also provides a page that lists all blog posts with pager. Unfortunately some basic functionalities of other CMS's are available only as paid in Magento.
If you want to go with a PAID solution this extension :
Magento 1.x: https://www.magentocommerce.com/magento-connect/advanced-content-manager-improve-your-cms-1.html
Magento 2.x : https://marketplace.magento.com/blackbird-contentmanager.html
This extension promises to do exactly what you need: create custom content types.
Perhaps you can create your own functionality after studying the free solution given above and create your own extension with you own custom type.