1

I want to include the header and footer of magento outside of it.I have CORE_PHP with some jquery functionality and php function,In that Files,I need to add default Header/Footer of magento into that core_php files.How is it possible? I used this code for called magento functionality.

 <?php
/**
 * @author      MagePsycho <[email protected]>
 * @website     http://www.magepsycho.com
 * @category    using Header / Footer outside of Magento
 */
$mageFilename = 'app/Mage.php';
echo $mageFilename;
require_once $mageFilename;
#Mage::setIsDeveloperMode(true);
#ini_set('display_errors', 1);
umask(0);
Mage::app();
Mage::getSingleton('core/session', array('name'=>'frontend'));

$block              = Mage::getSingleton('core/layout');

# HEAD BLOCK
$headBlock          = $block->createBlock('page/html_head');// this wont give you the css/js inclusion
// add js
$headBlock->addJs('prototype/prototype.js');
$headBlock->addJs('lib/ccard.js');
$headBlock->addJs('prototype/validation.js');
$headBlock->addJs('scriptaculous/builder.js');
$headBlock->addJs('scriptaculous/effects.js');
$headBlock->addJs('scriptaculous/dragdrop.js');
$headBlock->addJs('scriptaculous/controls.js');
$headBlock->addJs('scriptaculous/slider.js');
$headBlock->addJs('varien/js.js');
$headBlock->addJs('varien/form.js');
$headBlock->addJs('varien/menu.js');
$headBlock->addJs('mage/translate.js');
$headBlock->addJs('mage/cookies.js');
# add css
$headBlock->addCss('css/styles.css');
$headBlock->getCssJsHtml();
$headBlock->getIncludes();

# HEADER BLOCK
$headerBlock        = $block->createBlock('page/html_header')->setTemplate('page/html/header.phtml')->toHtml();

# FOOTER BLOCK
$footerBlock        = $block->createBlock('page/html_footer')->setTemplate('page/html/footer.phtml')->toHtml();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<?php echo $headBlock->toHtml(); ?>
</head>
<body>
<div class="wrapper">
    <div class="page">
        <?php echo $headerBlock; ?>
        <div class="main-container col1-layout">
            <div class="main">
                <div class="col-main">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sit amet est lectus. Proin rhoncus faucibus mauris sit amet dictum. Donec auctor risus sed quam facilisis feugiat auctor augue mattis. Donec vitae ligula ac ligula scelerisque venenatis. Vestibulum vehicula sem nec justo aliquam lobortis. Vivamus malesuada lorem et diam consequat suscipit. Curabitur dui ante, semper eget imperdiet eu, elementum et leo. Duis id vestibulum lorem. Phasellus pulvinar condimentum urna et egestas. Sed eu orci turpis, sed facilisis lorem. Maecenas vel bibendum tortor. In congue, neque in placerat laoreet, sem lectus sagittis lorem, in pulvinar felis nibh a lorem. Proin viverra libero eu felis feugiat et porttitor enim aliquam. Cras a varius purus.</p>
<p>
Integer accumsan ligula sed lorem vehicula vitae rhoncus dolor ullamcorper. Curabitur vestibulum diam ac diam tincidunt quis adipiscing nisi placerat. Ut convallis consequat quam id imperdiet. Morbi ac risus sem. Curabitur egestas neque hendrerit felis sollicitudin ut vehicula enim mollis. Suspendisse sed leo nec risus scelerisque porttitor sed eget urna. Fusce id erat leo.</p>
                </div>
            </div>
        </div>
        <?php echo $footerBlock; ?>
    </div>
</div>
</body>
</html>

Here Above code will not working fine.my custom page located in [MAGENTO SITE]/tool/index.php.When i executed that file it results 404 redirect errors.How to render header/footer exactly into my custom page.Is it proper way for render header/footer into external file. Can please guide me..

1 Answer 1

1

vivek,you need set current store and current area and genaret Layout:

$mageFilename = 'app/Mage.php';
echo $mageFilename;
require_once $mageFilename;
#Mage::setIsDeveloperMode(true);
#ini_set('display_errors', 1);
umask(0);
Mage::app()->loadArea('frontend');

$layout = Mage::getSingleton('core/layout');

//load default xml layout handle and generate blocks
$layout->getUpdate()->load('default');
$layout->generateXml()->generateBlocks();

//get the loaded head and header blocks and output
$headBlock = $layout->getBlock('head');
$headerBlock = $layout->getBlock('header');
echo $headBlock->toHtml() . $headerBlock->toHtml();..


reset of your code
4
  • ..I put your code for individual custom page.it result blank page.I dont have no idea to implement how to set header and footer section in my custom page.any other idea for this..
    – VIVEK-MDU
    Commented Feb 11, 2015 at 9:50
  • Here i create external page in default package, But i need to get current store and current layout ? Kindly advise me..How to get current layout
    – VIVEK-MDU
    Commented Feb 11, 2015 at 10:31
  • wait vivek,i will see shorty
    – Amit Bera
    Commented Feb 11, 2015 at 10:36
  • 1
    Here found that Mage::app("default"); this return only default css and js but i have theme package so how to call that theme css and js?
    – VIVEK-MDU
    Commented Feb 11, 2015 at 10:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.