toruwatanabe Posted May 18, 2010 Posted May 18, 2010 Hello, I´m having a problem changing header in my oscommerce. What I´m trying is to change it to look like my website (this one). I´m using an include function calling my own "cabecera.php" file but it doens´t shows (like this). This is my header.php code.. I´m lost in this situation so I hope someone can helps me. Thanks a lot! header.php <?php /* $Id: header.php 1739 2007-12-20 00:52:16Z hpdl $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2003 osCommerce Released under the GNU General Public License */ // check if the 'install' directory exists, and warn of its existence if (WARN_INSTALL_EXISTENCE == 'true') { if (file_exists(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/install')) { $messageStack->add('header', WARNING_INSTALL_DIRECTORY_EXISTS, 'warning'); } } // check if the configure.php file is writeable if (WARN_CONFIG_WRITEABLE == 'true') { if ( (file_exists(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php')) && (is_writeable(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php')) ) { $messageStack->add('header', WARNING_CONFIG_FILE_WRITEABLE, 'warning'); } } // check if the session folder is writeable if (WARN_SESSION_DIRECTORY_NOT_WRITEABLE == 'true') { if (STORE_SESSIONS == '') { if (!is_dir(tep_session_save_path())) { $messageStack->add('header', WARNING_SESSION_DIRECTORY_NON_EXISTENT, 'warning'); } elseif (!is_writeable(tep_session_save_path())) { $messageStack->add('header', WARNING_SESSION_DIRECTORY_NOT_WRITEABLE, 'warning'); } } } // check session.auto_start is disabled if ( (function_exists('ini_get')) && (WARN_SESSION_AUTO_START == 'true') ) { if (ini_get('session.auto_start') == '1') { $messageStack->add('header', WARNING_SESSION_AUTO_START, 'warning'); } } if ( (WARN_DOWNLOAD_DIRECTORY_NOT_READABLE == 'true') && (DOWNLOAD_ENABLED == 'true') ) { if (!is_dir(DIR_FS_DOWNLOAD)) { $messageStack->add('header', WARNING_DOWNLOAD_DIRECTORY_NON_EXISTENT, 'warning'); } } if ($messageStack->size('header') > 0) { echo $messageStack->output('header'); } ?> <table border="0" width="802" cellspacing="0" align="center" cellpadding="0"><?php include("cabecera.php"); ?> <tr> <td> <!-- <tr class="header"> <td valign="middle"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image(DIR_WS_IMAGES . 'store_logo.png', STORE_NAME) . '</a>'; ?></td> <td align="right" valign="bottom"><?php echo '<a href="' . tep_href_link(FILENAME_ACCOUNT, '', 'SSL') . '">' . tep_image(DIR_WS_IMAGES . 'header_account.gif', HEADER_TITLE_MY_ACCOUNT) . '</a> <a href="' . tep_href_link(FILENAME_SHOPPING_CART) . '">' . tep_image(DIR_WS_IMAGES . 'header_cart.gif', HEADER_TITLE_CART_CONTENTS) . '</a> <a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . tep_image(DIR_WS_IMAGES . 'header_checkout.gif', HEADER_TITLE_CHECKOUT) . '</a>'; ?> </td> </tr>--> <table border="0" width="100%" cellspacing="0" cellpadding="1"> <tr class="headerNavigation"> <td class="headerNavigation"> <?php echo $breadcrumb->trail(' » '); ?></td> <td align="right" class="headerNavigation"><?php if (tep_session_is_registered('customer_id')) { ?><a href="<?php echo tep_href_link(FILENAME_LOGOFF, '', 'SSL'); ?>" class="headerNavigation"><?php echo HEADER_TITLE_LOGOFF; ?></a> | <?php } ?><a href="<?php echo tep_href_link(FILENAME_ACCOUNT, '', 'SSL'); ?>" class="headerNavigation"><?php echo HEADER_TITLE_MY_ACCOUNT; ?></a> | <a href="<?php echo tep_href_link(FILENAME_SHOPPING_CART); ?>" class="headerNavigation"><?php echo HEADER_TITLE_CART_CONTENTS; ?></a> | <a href="<?php echo tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'); ?>" class="headerNavigation"><?php echo HEADER_TITLE_CHECKOUT; ?></a> </td> </tr> </table> <?php if (isset($HTTP_GET_VARS['error_message']) && tep_not_null($HTTP_GET_VARS['error_message'])) { ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr class="headerError"> <td class="headerError"><?php echo htmlspecialchars(stripslashes(urldecode($HTTP_GET_VARS['error_message']))); ?></td> </tr> </table> <?php } if (isset($HTTP_GET_VARS['info_message']) && tep_not_null($HTTP_GET_VARS['info_message'])) { ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr class="headerInfo"> <td class="headerInfo"><?php echo htmlspecialchars(stripslashes(urldecode($HTTP_GET_VARS['info_message']))); ?></td> </tr> </table> <?php } ?>
Collines Posted May 19, 2010 Posted May 19, 2010 Better to put the file cabecera.php in you includes folder and link like this: <?php require(DIR_WS_INCLUDES . 'cabecera.php'); ?>
toruwatanabe Posted May 19, 2010 Author Posted May 19, 2010 Better to put the file cabecera.php in you includes folder and link like this: <?php require(DIR_WS_INCLUDES . 'cabecera.php'); ?> Thanks for your answer Mark, I´ve tried what you said but I´m having the same problem. I´ve also tried to put the code inside the <td> tag but then my php file is shown but in a wrong position... over the content... thanks again.
Collines Posted May 19, 2010 Posted May 19, 2010 Looking at your site as it is at the moment, you have a large red logo block, which you have put in a div and positioned absolute, and a z-index of 1. This is forcing it to go in the top left corner. It is also out of the flow of the normal document, so it will just plonk itself on top of the rest of the document. <div id="mancha"> <div id="apDiv1"><img src="oscommerce-2.2rc2a/catalog/includes/cabecera/logo.gif" width="165" height="37" alt="logo Oitenta" /></div> </div> If you want that logo to be aligned in the center, then you need to move it a bit further down so that it is inside the table that forms the page. In your browser, go view then page source and you will see that the logo is above the flow of the document and then closes the body and the html tags. This is completely wrong. For starters, you need to edit the includes/cabecera file to make sure that it does not include tags other than <tr> Possibly post the contents of the file here and then I can be more clear about what is wrong with that file. Then, you need to include the logo under this line. <table border="0" width="802" cellspacing="0" align="center" cellpadding="0"> That way, it will be in the flow of the document.
toruwatanabe Posted May 19, 2010 Author Posted May 19, 2010 Looking at your site as it is at the moment, you have a large red logo block, which you have put in a div and positioned absolute, and a z-index of 1. This is forcing it to go in the top left corner. It is also out of the flow of the normal document, so it will just plonk itself on top of the rest of the document. <div id="mancha"> <div id="apDiv1"><img src="oscommerce-2.2rc2a/catalog/includes/cabecera/logo.gif" width="165" height="37" alt="logo Oitenta" /></div> </div> If you want that logo to be aligned in the center, then you need to move it a bit further down so that it is inside the table that forms the page. In your browser, go view then page source and you will see that the logo is above the flow of the document and then closes the body and the html tags. This is completely wrong. For starters, you need to edit the includes/cabecera file to make sure that it does not include tags other than <tr> Possibly post the contents of the file here and then I can be more clear about what is wrong with that file. Then, you need to include the logo under this line. <table border="0" width="802" cellspacing="0" align="center" cellpadding="0"> That way, it will be in the flow of the document. thanks a lot I think I´m solving it! thanks a lot for your help. I´m going step by step.. :)
MrPhil Posted May 19, 2010 Posted May 19, 2010 I see your row of tabs implemented as <div><a.../a> <div><a.../a> <div><a.../a> ...etc. I think you're missing a bunch of </div> tags. That would explain why your tabs are marching down the page.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.