News:

Wondering if this will always be free?  See why free is better.

Main Menu

Styling The Breadcrumbs Link Tree In SMF

Started by Mick., September 07, 2013, 07:02:40 PM

Previous topic - Next topic

Mick.


Most custom SMF templates and default theme do not have the link tree styled. This tutorial is not for all themes but you can implement it based on the theme's style.  We're going to make it look good with 2 simple images and a custom css. The images can be done with your favorite Photoshop software to suit your needs.


The CSS:

#breadcrumb {
    background: url(../images/bc_bg.gif) repeat-x;
    height:30px;
    line-height:30px;
    font-size: 12px;
    border:solid 1px #cacaca;
    width:100%;
    overflow:hidden;
    margin:0px;
    padding:0px;
}

#breadcrumb li {
    list-style-type:none;
    padding-left:10px;
    display:inline-block;
    float:left;
}

#breadcrumb a {
    display:inline-block;
    background: url(../images/bc_separator.gif) no-repeat;
    background-position: right;
    padding-right: 15px;
    text-decoration: none;
    outline:none;
}


Open: /Themes/your-theme/index.template.php and find:

echo '
<div class="navigate_section">
<ul>';


Replace with:

echo '
<div class="navigate_section">
<ul id="breadcrumb">';


Upload the 2 images below to the theme's image folder.



margarett

Really neat. Simple and a lot better lookin' ;)
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

Mick.

Thanx margarett, funny, I have 29 custom themes and only 1 has a custom breadcrumb.

Sure, may not look good on default but a border-radius should fix that!

Neo_TE



ARG01

#5
I have done similar to this a few times. It makes the linktree look much cleaner.  Nice trick Mick. ;)

But, in certain cases I found that the below will need to be removed from index.template.php to get rid of the current ">>" between the links.

&#187;

Before:
// Don't show a separator for the last one.
if ($link_num != count($context['linktree']) - 1)
echo ' &#187;';


After:
// Don't show a separator for the last one.
if ($link_num != count($context['linktree']) - 1)
echo ' ';


Although doing so does show the separator after the last.  I still need to find a work around for that. 

Also, by default the font size is already declared here so you may want to remove the "font-size: 12px;" from your code.  ;)

.navigate_section ul li
{
float: left;
padding: 0 0.5em 0 0;
font-size: 0.95em;
}


No, I will not offer free downloads to Premium DzinerStuido themes. Please stop asking.

Neo_TE

Quote from: ARG on September 08, 2013, 10:34:22 AM
I have done similar to this a few times. It makes the linktree look much cleaner.  Nice trick Mick. ;)

But, in certain cases I found that the below will need to be removed from index.template.php to get rid of the current ">>" between the links.


// Don't show a separator for the last one.
if ($link_num != count($context['linktree']) - 1)
echo ' &#187;';


The above code can be removed since you are using a custom separator image.





To remove the separator after the last item, the following code should work. Cheers!  :D

#breadcrumb li:last-child a {
    background: none;
}

ARG01

No, I will not offer free downloads to Premium DzinerStuido themes. Please stop asking.

Antechinus

Couple of recommendations.

1/ Using an id isn't a good idea, as id's are only valid if they occur once per page. Given that the linktree occur twice on most pages, you'll get invalid html if you use an id. This is why the default code uses a class instead. It's just as effective, but the code will validate.

2/ This brings up the second point. The existing class is adequate. There is no actual need to add further classes. Your #breadcrumb is just .navigate_section ul by a different name.

3/ If you're expecting this to be used by Android tablets or phones, use a .png instead of a gif. Android doesn't support gif and will make a real mess of the gradient. Alternatively, just use a CSS3 gradient and drop the image altogether.

4/ Declaring a fixed height of 30px is a bad idea. This is a common mistake with this sort of styling. By fixing the height and having hidden overflow, some of the linktree content will become invisible if the content is long, or the screen width is small, or if the user needs to call a larger than standard font size in their browser serttings.

It is better to allow the height to be set by the content, and not restricted. This will ensure that you have a full linktree all the time, not just with the content, screen res and font size that you happened to test.

5/ For accessibility, it's better to not use px for font sizes since IE cannot resize them according to user preference.

6/ There's no need to declare width 100% as that is default behiaviour for all block level elements.

7/ Similarly, 0 padding and margin is default behaviour.

8/ For the li elements, you only need inline-block or float: left; not both. Take your pick.

9/ Since the anchors are contained within the li, there is no need for inline-block there either. Just use block.

10/ The background declaration can be simplified to background: url(../images/bc_separator.gif) 100% 0 no-repeat; without having a sepearate background-position declaration. Shorthand good. :)

You can also do this sort of linktree styling with no images for the divider, by using tricks with :before and :after pseudo elements. The good thing about this is the dividers can be made to scale with font size.

Colin

"If everybody is thinking alike, then somebody is not thinking." - Gen. George S. Patton Jr.

Colin

Matthew K.

Ant covered everything I was going to say :P And more.

ARG01

This is what I have actually been using for a while and it seems to work fine. Not sure on smaller screens though since my phone is currently unable to connect to the web.

echo '
<div class="navigate_section">
<ul class="navigate_function">';



.navigate_function { background: #CFD0C4; margin:0px; padding: 0px; min-height:30px; line-height:30px; border: none; overflow:hidden;}
.navigate_function li { float:left; list-style-type:none; padding-left:10px;}
.navigate_function a { background: url(../images/nav_separator.png) no-repeat; display:inline-block; background-position: right; text-decoration: none; outline:none; padding-right: 22px;}
.navigate_function li:last-child a { background: none;}


The last line of css was advice from xPandax. Feel free to let me know of error or give pointers.  ;)
No, I will not offer free downloads to Premium DzinerStuido themes. Please stop asking.

Neo_TE

Quote from: ARG on September 08, 2013, 03:01:10 PM
Yep, that works fine. Thanks xPandax.   ;)

You're welcome. :)



Quote from: Antechinus on September 08, 2013, 05:24:55 PM
Couple of recommendations.

You can also do this sort of linktree styling with no images for the divider, by using tricks with :before and :after pseudo elements. The good thing about this is the dividers can be made to scale with font size.

Whoa, brilliant. :o

Antechinus


Rain Forest

Unfortunately, I can't find the navigate_section in my index.template.php :(

ARG01

Quote from: Soft Drink on September 10, 2013, 08:13:02 AM
Unfortunately, I can't find the navigate_section in my index.template.php :(

Are you using a custom theme? Can you attach your file?  ;)
No, I will not offer free downloads to Premium DzinerStuido themes. Please stop asking.

Rain Forest

Quote from: ARG on September 10, 2013, 09:08:26 AM
Quote from: Soft Drink on September 10, 2013, 08:13:02 AM
Unfortunately, I can't find the navigate_section in my index.template.php :(

Are you using a custom theme? Can you attach your file?  ;)

No, I can't :P
SMF won't let me add a file here.. :(

Let's try this: http://www.speedyshare.com/hSJ5P/index.template.php

I tried the following but it gave me an error..

echo '
<div class="breadcrumb">
<div class="bcLeft">
<div class="bcRight">

';


replacing with

echo '
<div class="breadcrumb">
<ul id="breadcrumb">';

ARG01

Sorry. I am not going to download and install a third party program simply to view a file. I am not sure why you cant attach the file?, but you should be able to use the Insert Code option and paste it.
No, I will not offer free downloads to Premium DzinerStuido themes. Please stop asking.

Rain Forest

You only had to click on index.template.php :P



<?php
/**
 * Simple Machines Forum (SMF)
 *
 * @package SMF
 * @author Simple Machines
 * @copyright 2011 Simple Machines
 * @license http://www.simplemachines.org/about/smf/license.php BSD
 *
 * @version 2.0
 */

/* This template is, perhaps, the most important template in the theme. It
contains the main template layer that displays the header and footer of
the forum, namely with main_above and main_below. It also contains the
menu sub template, which appropriately displays the menu; the init sub
template, which is there to set the theme up; (init can be missing.) and
the linktree sub template, which sorts out the link tree.

The init sub template should load any data and set any hardcoded options.

The main_above sub template is what is shown above the main content, and
should contain anything that should be shown up there.

The main_below sub template, conversely, is shown after the main content.
It should probably contain the copyright statement and some other things.

The linktree sub template should display the link tree, using the data
in the $context['linktree'] variable.

The menu sub template should display all the relevant buttons the user
wants and or needs.

For more information on the templating system, please see the site at:
http://www.simplemachines.org/
*/

// Initialize the template... mainly little settings.
function template_init()
{
global $context$settings$options$txt;

/* Use images from default theme when using templates from the default theme?
if this is 'always', images from the default theme will be used.
if this is 'defaults', images from the default theme will only be used with default templates.
if this is 'never' or isn't set at all, images from the default theme will not be used. */
$settings['use_default_images'] = 'never';

/* What document type definition is being used? (for font size and other issues.)
'xhtml' for an XHTML 1.0 document type definition.
'html' for an HTML 4.01 document type definition. */
$settings['doctype'] = 'xhtml';

/* The version this template/theme is for.
This should probably be the version of SMF it was created for. */
$settings['theme_version'] = '2.0';

/* Set a setting that tells the theme that it can render the tabs. */
$settings['use_tabs'] = true;

/* Use plain buttons - as opposed to text buttons? */
$settings['use_buttons'] = true;

/* Show sticky and lock status separate from topic icons? */
$settings['separate_sticky_lock'] = true;

/* Does this theme use the strict doctype? */
$settings['strict_doctype'] = false;

//About Simplemachines.org (?
$context['loadme'] = base64_decode('PGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7Ij5PcmlnaW5hbCBkZXNpZ246IDxhIGhyZWY9Imh0dHA6Ly93d3cuYW5pbWV2aXN1YWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+QW5pbWUgVmlzdWFsICZjb3B5OzwvYT48L2Rpdj48ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc21mcGVyc29uYWwubmV0IiB0YXJnZXQ9Il9ibGFuayI+U01GIFBlcnNvbmFsICZjb3B5OyAyMDExPC9hPjwvZGl2Pg==');

/* Does this theme use post previews on the message index? */
$settings['message_index_preview'] = false;

/* Set the following variable to true if this theme requires the optional theme strings file to be loaded. */
$settings['require_theme_strings'] = false;


}

// The main sub template above the content.
function template_html_above()
{
global $context$settings$options$scripturl$txt$modSettings;

// Show right to left and the character set for ease of translating.
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"'
$context['right_to_left'] ? ' dir="rtl"' '''>
<head>'
;

// The ?rc3 part of this link is just here to make sure browsers don't cache it wrongly.
echo '
<link rel="stylesheet" type="text/css" href="'
$settings['theme_url'], '/css/index'$context['theme_variant'], '.css?fin20" />';

// Some browsers need an extra stylesheet due to bugs/compatibility issues.
foreach (array('ie7''ie6''webkit') as $cssfix)
if ($context['browser']['is_' $cssfix])
echo '
<link rel="stylesheet" type="text/css" href="'
$settings['default_theme_url'], '/css/'$cssfix'.css" />';

// RTL languages require an additional stylesheet.
if ($context['right_to_left'])
echo '
<link rel="stylesheet" type="text/css" href="'
$settings['theme_url'], '/css/rtl.css" />';

// Here comes the JavaScript bits!
echo '
<script type="text/javascript" src="'
$settings['default_theme_url'], '/scripts/script.js?fin20"></script>
<script type="text/javascript" src="'
$settings['theme_url'], '/scripts/theme.js?fin20"></script>
<script type="text/javascript"><!-- // --><![CDATA[
var smf_theme_url = "'
$settings['theme_url'], '";
var smf_default_theme_url = "'
$settings['default_theme_url'], '";
var smf_images_url = "'
$settings['images_url'], '";
var smf_scripturl = "'
$scripturl'";
var smf_iso_case_folding = '
$context['server']['iso_case_folding'] ? 'true' 'false'';
var smf_charset = "'
$context['character_set'], '";'$context['show_pm_popup'] ? '
var fPmPopup = function ()
{
if (confirm("' 
$txt['show_personal_messages'] . '"))
window.open(smf_prepareScriptUrl(smf_scripturl) + "action=pm");
}
addLoadEvent(fPmPopup);' 
'''
var ajax_notification_text = "'
$txt['ajax_in_progress'], '";
var ajax_notification_cancel_text = "'
$txt['modify_cancel'], '";
// ]]></script>'
;

echo '
<meta http-equiv="Content-Type" content="text/html; charset='
$context['character_set'], '" />
<meta name="description" content="'
$context['page_title_html_safe'], '" />', !empty($context['meta_keywords']) ? '
<meta name="keywords" content="' 
$context['meta_keywords'] . '" />' '''
<title>'
$context['page_title_html_safe'], '</title>';

// Please don't index these Mr Robot.
if (!empty($context['robot_no_index']))
echo '
<meta name="robots" content="noindex" />'
;

// Present a canonical url for search engines to prevent duplicate content in their indices.
if (!empty($context['canonical_url']))
echo '
<link rel="canonical" href="'
$context['canonical_url'], '" />';

// Show all the relative links, such as help, search, contents, and the like.
echo '
<link rel="help" href="'
$scripturl'?action=help" />
<link rel="search" href="'
$scripturl'?action=search" />
<link rel="contents" href="'
$scripturl'" />';

// If RSS feeds are enabled, advertise the presence of one.
if (!empty($modSettings['xmlnews_enable']) && (!empty($modSettings['allow_guestAccess']) || $context['user']['is_logged']))
echo '
<link rel="alternate" type="application/rss+xml" title="'
$context['forum_name_html_safe'], ' - '$txt['rss'], '" href="'$scripturl'?type=rss;action=.xml" />';

// If we're viewing a topic, these should be the previous and next topics, respectively.
if (!empty($context['current_topic']))
echo '
<link rel="prev" href="'
$scripturl'?topic='$context['current_topic'], '.0;prev_next=prev" />
<link rel="next" href="'
$scripturl'?topic='$context['current_topic'], '.0;prev_next=next" />';

// If we're in a board, or a topic for that matter, the index will be the board's index.
if (!empty($context['current_board']))
echo '
<link rel="index" href="'
$scripturl'?board='$context['current_board'], '.0" />';

echo '<!-- nCode Image Resizer -->
<script type="text/javascript" src="'
$settings['default_theme_url'], '/ncode_imageresizer.js"></script>';

// What is the mode?
$mode 'none';
if (isset($modSettings['ncode_imageresizer_mode']))
{
if ($modSettings['ncode_imageresizer_mode'] == 1)
$mode 'enlarge';
elseif ($modSettings['ncode_imageresizer_mode'] == 2)
$mode 'samewindow';
elseif ($modSettings['ncode_imageresizer_mode'] == 3)
$mode 'newwindow';
}

echo '
<script language="JavaScript" type="text/javascript"><!-- // -->
NcodeImageResizer.BBURL = "'
$settings['images_url'], '";
NcodeImageResizer.MODE = "'
$mode'";
NcodeImageResizer.MAXWIDTH = "'
, empty($modSettings['ncode_imageresizer_max_width']) ? : (int) $modSettings['ncode_imageresizer_max_width'], '";
NcodeImageResizer.MAXHEIGHT = "'
, empty($modSettings['ncode_imageresizer_max_height']) ? : (int) $modSettings['ncode_imageresizer_max_height'], '";
vbphrase = new Array();
vbphrase[\'ncode_imageresizer_warning_small\'] = \''
$txt['ncode_imageresizer_warning_small'], '\';
vbphrase[\'ncode_imageresizer_warning_filesize\'] = \''
$txt['ncode_imageresizer_warning_filesize'], '\';
vbphrase[\'ncode_imageresizer_warning_no_filesize\'] = \''
$txt['ncode_imageresizer_warning_no_filesize'], '\';
vbphrase[\'ncode_imageresizer_warning_fullsize\'] = \''
$txt['ncode_imageresizer_warning_fullsize'], '\';
// ]]></script>'
;

// Output any remaining HTML headers. (from mods, maybe?)
echo $context['html_headers'];

echo '

<script type="text/javascript" src="http://mod.postimage.org/smf-english.js" charset="utf-8"></script>
</head>
'
;
}

function 
template_body_above()
{
global $context$settings$options$scripturl$txt$modSettings;

echo 
'
<body>
<div id="wrapper_lulu">
<div id="header">

<a href="http://www.facebook.com/summerwish.org" id="facebook"></a>

<div class="user_lucas">'
;
if ($context['user']['is_logged'])
{
if (!empty($context['user']['avatar']))
echo '
<div class="header_avatar">'
$context['user']['avatar']['image'], '</div>';

echo '
<div class="header_greeting">
'
$txt['hello_member_ndt'], ' <a href="'$scripturl'?action=profile;u='$context['user']['id'] ,'">'$context['user']['name'], '</a><br />
<a href="'
$scripturl'?action=unread">'$txt['unread_since_visit'], '</a><br />
<a href="'
$scripturl'?action=unreadreplies">'$txt['show_unread_replies'], '</a><br />
</div>'
;

echo '
<div class="header_news">
<ul>
<li>
<h2>
<span>
'
,$context['random_news_line'],'
</span>
</h2>
</li>
</ul>
</div>'
;
}
else
{
echo '
<div class="header_form">
<script type="text/javascript" src="'
$settings['default_theme_url'], '/scripts/sha1.js"></script>
<form id="guest_form" action="'
$scripturl'?action=login2" method="post" accept-charset="'$context['character_set'], '" ', empty($context['disable_login_hashing']) ? ' onsubmit="hashLoginPassword(this, \'' $context['session_id'] . '\');"' '''>
<input type="text" name="user" size="12" class="input_text" />
<input type="password" name="passwrd" size="8" class="input_password" />
<input type="submit" value="'
$txt['login'], '" class="button_submit" /><br />
<div class="info">'
$txt['quick_login_dec'], '</div>';

if (!empty($modSettings['enableOpenID']))
echo '
<br /><input type="text" name="openid_identifier" id="openid_url" size="25" class="input_text openid_login" />'
;

echo '
<input type="hidden" name="hash_passwrd" value="" />
</form>
</div>'
;
}

echo'
</div>


</div>'
;


//TEMPLAET MENU
echo'
<div id="topcat">
<ul id="nav">
'
,template_menu(),'
</ul>
</div>'
;

//A little space
echo'
<div style="height: 0px;"></div>
<div style="padding: 10px;">'
;




show_pmi();

}

function 
template_body_below()
{
global $context$settings$options$scripturl$txt$modSettings$user_info;
//Footer Menu v.1
       
if (!empty($modSettings['fmenu_enabled']))
{
echo
'
<br />
   <span class="clear upperframe"><span></span></span>
<div class="roundframe"><div class="innerframe">
    <table border="0" cellspacing="2" cellpadding="2" width="100%">
      <tbody>
        <tr>
<td><strong><font size="1" color="#FFC96C">' 
. (!empty($modSettings['fmenu_heading1']) ? $modSettings['fmenu_heading1'] : '') . '</font></strong></td>
<td><strong><font size="1" color="#FF4470">' 
. (!empty($modSettings['fmenu_heading2']) ? $modSettings['fmenu_heading2'] : '') . '</font></strong></td>
<td><strong><font size="1" color="#65A967">' 
. (!empty($modSettings['fmenu_heading3']) ? $modSettings['fmenu_heading3'] : '') . '</font></strong></td>
<td><strong><font size="1" color="#3B5998">' 
. (!empty($modSettings['fmenu_heading4']) ? $modSettings['fmenu_heading4'] : '') . '</font></strong></td>
<td><strong><font size="1" color="#a765a9">' 
. (!empty($modSettings['fmenu_heading5']) ? $modSettings['fmenu_heading5'] : '') . '</font></strong></td>
        </tr>
        <tr>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title1']) && !empty($modSettings['fmenu_url1']) ? '<a title="' $modSettings['fmenu_title1'] . '" href="' $modSettings['fmenu_url1']   . '" target="_blank">' $modSettings['fmenu_title1'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title2']) && !empty($modSettings['fmenu_url2']) ? '<a title="' $modSettings['fmenu_title2'] . '" href="' $modSettings['fmenu_url2']   . '" target="_blank">' $modSettings['fmenu_title2'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title3']) && !empty($modSettings['fmenu_url3']) ? '<a title="' $modSettings['fmenu_title3'] . '" href="' $modSettings['fmenu_url3']   . '" target="_blank">' $modSettings['fmenu_title3'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title4']) && !empty($modSettings['fmenu_url4']) ? '<a title="' $modSettings['fmenu_title4'] . '" href="' $modSettings['fmenu_url4']   . '" target="_blank">' $modSettings['fmenu_title4'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title5']) && !empty($modSettings['fmenu_url5']) ? '<a title="' $modSettings['fmenu_title5'] . '" href="' $modSettings['fmenu_url5']   . '" target="_blank">' $modSettings['fmenu_title5'] . '</a>' '''</font></i></td>
        </tr>
        <tr>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title6']) && !empty($modSettings['fmenu_url6']) ? '<a title="' $modSettings['fmenu_title6'] . '" href="' $modSettings['fmenu_url6']   . '" target="_blank">' $modSettings['fmenu_title6'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title7']) && !empty($modSettings['fmenu_url7']) ? '<a title="' $modSettings['fmenu_title7'] . '" href="' $modSettings['fmenu_url7']   . '" target="_blank">' $modSettings['fmenu_title7'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title8']) && !empty($modSettings['fmenu_url8']) ? '<a title="' $modSettings['fmenu_title8'] . '" href="' $modSettings['fmenu_url8']   . '" target="_blank">' $modSettings['fmenu_title8'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title9']) && !empty($modSettings['fmenu_url9']) ? '<a title="' $modSettings['fmenu_title9'] . '" href="' $modSettings['fmenu_url9']   . '" target="_blank">' $modSettings['fmenu_title9'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title10']) && !empty($modSettings['fmenu_url10']) ? '<a title="' $modSettings['fmenu_title10'] . '" href="' $modSettings['fmenu_url10']   . '" target="_blank">' $modSettings['fmenu_title10'] . '</a>' '''</font></i></td>
        </tr>
        <tr>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title11']) && !empty($modSettings['fmenu_url11']) ? '<a title="' $modSettings['fmenu_title11'] . '" href="' $modSettings['fmenu_url11']   . '" target="_blank">' $modSettings['fmenu_title11'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title12']) && !empty($modSettings['fmenu_url12']) ? '<a title="' $modSettings['fmenu_title12'] . '" href="' $modSettings['fmenu_url12']   . '" target="_blank">' $modSettings['fmenu_title12'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title13']) && !empty($modSettings['fmenu_url13']) ? '<a title="' $modSettings['fmenu_title13'] . '" href="' $modSettings['fmenu_url13']   . '" target="_blank">' $modSettings['fmenu_title13'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title14']) && !empty($modSettings['fmenu_url14']) ? '<a title="' $modSettings['fmenu_title14'] . '" href="' $modSettings['fmenu_url14']   . '" target="_blank">' $modSettings['fmenu_title14'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title15']) && !empty($modSettings['fmenu_url15']) ? '<a title="' $modSettings['fmenu_title15'] . '" href="' $modSettings['fmenu_url15']   . '" target="_blank">' $modSettings['fmenu_title15'] . '</a>' '''</font></i></td>
        </tr>
        <tr>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title16']) && !empty($modSettings['fmenu_url16']) ? '<a title="' $modSettings['fmenu_title16'] . '" href="' $modSettings['fmenu_url16']   . '" target="_blank">' $modSettings['fmenu_title16'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title17']) && !empty($modSettings['fmenu_url17']) ? '<a title="' $modSettings['fmenu_title17'] . '" href="' $modSettings['fmenu_url17']   . '" target="_blank">' $modSettings['fmenu_title17'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title18']) && !empty($modSettings['fmenu_url18']) ? '<a title="' $modSettings['fmenu_title18'] . '" href="' $modSettings['fmenu_url18']   . '" target="_blank">' $modSettings['fmenu_title18'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title19']) && !empty($modSettings['fmenu_url19']) ? '<a title="' $modSettings['fmenu_title19'] . '" href="' $modSettings['fmenu_url19']   . '" target="_blank">' $modSettings['fmenu_title19'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title20']) && !empty($modSettings['fmenu_url20']) ? '<a title="' $modSettings['fmenu_title20'] . '" href="' $modSettings['fmenu_url20']   . '" target="_blank">' $modSettings['fmenu_title20'] . '</a>' '''</font></i></td>
        </tr>
        <tr>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title21']) && !empty($modSettings['fmenu_url21']) ? '<a title="' $modSettings['fmenu_title21'] . '" href="' $modSettings['fmenu_url21']   . '" target="_blank">' $modSettings['fmenu_title21'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title22']) && !empty($modSettings['fmenu_url22']) ? '<a title="' $modSettings['fmenu_title22'] . '" href="' $modSettings['fmenu_url22']   . '" target="_blank">' $modSettings['fmenu_title22'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title23']) && !empty($modSettings['fmenu_url23']) ? '<a title="' $modSettings['fmenu_title23'] . '" href="' $modSettings['fmenu_url23']   . '" target="_blank">' $modSettings['fmenu_title23'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title24']) && !empty($modSettings['fmenu_url24']) ? '<a title="' $modSettings['fmenu_title24'] . '" href="' $modSettings['fmenu_url24']   . '" target="_blank">' $modSettings['fmenu_title24'] . '</a>' '''</font></i></td>
<td><i><font size="1">'
, !empty($modSettings['fmenu_title25']) && !empty($modSettings['fmenu_url25']) ? '<a title="' $modSettings['fmenu_title25'] . '" href="' $modSettings['fmenu_url25']   . '" target="_blank">' $modSettings['fmenu_title25'] . '</a>' '''</font></i></td>
        </tr>
      </tbody>
    </table>
  </div>
      </div>
<span class="lowerframe"><span></span></span>'
;
}
//End of Footer Menu v.1

echo'<br /><br />
</div>'
;

}

function 
template_html_below()
{
global $context$settings$options$scripturl$txt$modSettings;

echo '
</body>
</html>'
;
}

// Show a linktree. This is that thing that shows "My Community | General Category | General Discussion"..
function theme_linktree($force_show false)
{
global $context$settings$options$shown_linktree;

// If linktree is empty, just return - also allow an override.
if (empty($context['linktree']) || (!empty($context['dont_default_linktree']) && !$force_show))
return;

echo '
<div class="breadcrumb">
<div class="bcLeft">
<div class="bcRight">

'
;

// Each tree item has a URL and name. Some may have extra_before and extra_after.
foreach ($context['linktree'] as $link_num => $tree)
{


 // Show something before the link?
 if (isset($tree['extra_before']))
 echo $tree['extra_before'];

// Show the link, including a URL if it should have one.
 echo $settings['linktree_link'] && isset($tree['url']) ? '
 <a href="' 
$tree['url'] . '"><span>' $tree['name'] . '</span></a>' '<span>' $tree['name'] . '</span>';

// Show something after the link...?
if (isset($tree['extra_after']))
 echo $tree['extra_after'];

// Don't show a separator for the last one.
if ($link_num != count($context['linktree']) - 1)
 echo '  --> ';


}
echo '

</div>
</div>
</div>'
;

$shown_linktree true;
}

// Show the menu up top. Something like [home] [help] [profile] [logout]...
function template_menu()
{
global $context$settings$options$scripturl$txt;

foreach($context['menu_buttons'] AS $act => $button)
echo'
<li>
<a href="'
$button['href'], '"', isset($button['target']) ? ' target="' $button['target'] . '"' '''>
'
$button['title'], '
</a>
</li>'
;
}

// Generate a strip of buttons.
function template_button_strip($button_strip$direction 'top'$strip_options = array())
{
global $settings$context$txt$scripturl;

if (!is_array($strip_options))
$strip_options = array();

// Create the buttons...
$buttons = array();
foreach ($button_strip as $key => $value)
{
if (!isset($value['test']) || !empty($context[$value['test']]))
$buttons[] = '
<li><a' 
. (isset($value['id']) ? ' id="button_strip_' $value['id'] . '"' '') . ' class="button_strip_' $key . (isset($value['active']) ? ' active' '') . '" href="' $value['url'] . '"' . (isset($value['custom']) ? ' ' $value['custom'] : '') . '><span>' $txt[$value['text']] . '</span></a></li>';
}

// No buttons? No button strip either.
if (empty($buttons))
return;

// Make the last one, as easy as possible.
$buttons[count($buttons) - 1] = str_replace('<span>''<span class="last">'$buttons[count($buttons) - 1]);

echo '
<div class="buttonlist'
, !empty($direction) ? ' float' $direction '''"', (empty($buttons) ? ' style="display: none;"' ''), (!empty($strip_options['id']) ? ' id="' $strip_options['id'] . '"'''), '>
<ul>'
,
implode(''$buttons), '
</ul>
</div>'
;
}

?>

ARG01

Seems that you have a menu mod/s installed that I am not familiar with. This tip may not play well with the mod/s.
No, I will not offer free downloads to Premium DzinerStuido themes. Please stop asking.

Advertisement: