vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   Add Images to vBA Site Navigation Module (https://vborg.vbsupport.ru/showthread.php?t=259985)

jellybean3350 03-07-2011 08:02 AM

Add Images to vBA Site Navigation Module
 
Hi.

Using:
vB 4.1.0
vBA CMPS 4.0.1

Coding knowledge: Some HTML and CSS. Nil PHP

This is my first post here, as I normally manage to find any help I need by Googling and searching forums. I've scoured vbulletin.com, vbadvanced.com, these forums, and Google. I'm just not finding a comprehensive solution. Maybe I fail at searching. :P

I simply want to put images in front of the links in my vBa Site Navigation module. Maybe the route I'm taking is outdated and there's an easier way (seems like there should be)? If so, by all means, please enlighten me!

I followed these instructions. Of course, I had to improvise, as they are for an older version of vBA. By doing so, I managed to add the Image fields in the ACP for Site Navigation editing as follows:


http://madeintx.org//images/site_nav_fields.jpg


Specifically, I edited vba_cmps_adminfunctions.php as follows:

1. Replaced this:
PHP Code:

$inputs .= '<tr>
                                    <td><input class="bginput" name="' 
$name '[' $pagecount '][order]" value="' $navlinks['order'] . '" size="2" tabindex="1" ' $jsdefault_onchange '/></td>
                                    <td><input class="bginput" name="' 
$name '[' $pagecount '][level]" value="' $navlinks['level'] . '" size="2" tabindex="1" ' $jsdefault_onchange '/></td>
                                    <td><input class="bginput" name="' 
$name '[' $pagecount '][link]" value="' $navlinks['link'] . '" size="26" tabindex="1" ' $jsdefault_onchange '/></td>
                                    <td><input class="bginput" name="' 
$name '[' $pagecount '][text]" value="' htmlspecialchars($navlinks['text']) . '" size="18" tabindex="1" ' $jsdefault_onchange '/></td></tr>'



With this:
PHP Code:

$inputs .= '<tr>
                                    <td><input class="bginput" name="' 
$name '[' $pagecount '][order]" value="' $navlinks['order'] . '" size="2" tabindex="1" ' $jsdefault_onchange '/></td>
                                    <td><input class="bginput" name="' 
$name '[' $pagecount '][level]" value="' $navlinks['level'] . '" size="2" tabindex="1" ' $jsdefault_onchange '/></td>
                                    <td><input class="bginput" name="' 
$name '[' $pagecount '][link]" value="' $navlinks['link'] . '" size="26" tabindex="1" ' $jsdefault_onchange '/></td>
                                    <td><input class="bginput" name="' 
$name '[' $pagecount '][image]" value="' $navlinks['image'] . '" size="18" tabindex="1" ' $jsdefault_onchange '/></td>
<td><input class="bginput" name="' 
$name '[' $pagecount '][text]" value="' htmlspecialchars($navlinks['text']) . '" size="18" tabindex="1" ' $jsdefault_onchange '/></td></tr>'




2.
Replaced this:
PHP Code:

print_label_row($description'
                            <table align="right" cellpadding="2" cellspacing="0" class="tborder">
                                <tr>
                                    <td class="thead">' 
$vbphrase['order'] . '</td>
                                    <td class="thead">' 
$vbphrase['level'] . '</td>
                                    <td class="thead">' 
$vbphrase['link'] . '</td>
                                    <td class="thead">' 
$vbphrase['text'] . '</td>
                                </tr> 



With this:
PHP Code:

print_label_row($description'
                            <table align="right" cellpadding="2" cellspacing="0" class="tborder">
                                <tr>
                                    <td class="thead">' 
$vbphrase['order'] . '</td>
                                    <td class="thead">' 
$vbphrase['level'] . '</td>
                                    <td class="thead">' 
$vbphrase['link'] . '</td>
                                    <td class="thead">' 
$vbphrase['image'] . '</td>
                                    <td class="thead">' 
$vbphrase['text'] . '</td>                                                       
                                   </tr> 



It's the last step of his instructions I'm having trouble with.

He states:

In adv_portal_navigationbits template find:

$navmark

Replace with:
Code:

<if condition="$navlinks[image]"><img src="$navlinks[image]"  alt="$title" align="middle" /><else />$navmark</if>

My adv_portal_navigationbits is as follows:
Code:

<div>{vb:raw navmark} <vb:if condition="$link"><a  href="{vb:raw link}"<vb:if condition="$native == 0">  target="_blank"</vb:if>{vb:raw title}</a><vb:else  />{vb:raw title}</vb:if></div>

Could someone please make his instructions work with my template so I can use my new Image fields, that is, if I'm even on the right track?

Currently, I have my img tags (using align and vspace for alignment adjustments) in the Text fields. I'm sure it's not the ideal way, as I'm getting the following undesirable effects (hover and click text decorations extending to images):

http://madeintx.org/images/site_nav_issue.jpg

I posted in that thread using the same name I have here, but the forums don't seem to be nearly as active as they are here. Hoping I'll have a better chance of getting help here.

Apologies for the long post. I'm getting desperate!

Thanks!

jellybean3350 03-09-2011 10:35 PM

A friend solved this for me. Posting it in case it will help someone else.

The changes I made to vba_cmps_adminfunctions.php (via ftp: /forum/includes/vba_cmps_adminfunctions.php) worked.

Additionally, navigation.php (via ftp: /forum/modules/navigation.php) needs to be edited in two places, as follows:


1. Find:
PHP Code:

$title $navlinks['text']; 




Replace with:

PHP Code:

$title $navlinks['text'];
$image $navlinks['image']; 



2. Find:
PHP Code:

$templater->register('title'$title); 




Replace with:

PHP Code:

$templater->register('title'$title);
$templater->register('image'$image); 



Regarding adv_portal_navigationbits template, edit as follows:

Code:

<div><vb:if condition="$image"><img src="{vb:raw image}" alt="{vb:raw title}" align="top" vspace="1" /><vb:else />{vb:raw navmark}</vb:if> <vb:if condition="$link"><a href="{vb:raw link}"<vb:if condition="$native == 0"> target="_blank"</vb:if>>{vb:raw title}</a></vb:if></div>

Please note that mine is written so that links to anything outside of my site open in a new window/tab. Use align and vspace (vertical space) to adjust alignment of the images.

You should now have Image fields in your Admin CP when editing your Site Navigation module. Just input a relative path to your image. Example: /forum/images/custom/image.png

That's it!


All times are GMT. The time now is 12:22 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01125 seconds
  • Memory Usage 1,774KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (8)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (2)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete