Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Allowing more than one custom link in cpg 1.4  (Read 3072 times)

0 Members and 1 Guest are viewing this topic.

falarious

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 46
Allowing more than one custom link in cpg 1.4
« on: July 06, 2005, 04:29:41 am »

I would love to have about 6 custom links in coppermine. Can it be done?
« Last Edit: July 06, 2005, 05:35:56 am by donnoman »
Logged

donnoman

  • Dev Team member
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1615
  • From donovanbray.com
    • Donovan Bray
Re: Allowing more than one custom link in cpg 1.4
« Reply #1 on: July 06, 2005, 05:35:15 am »

This is ...almost support, but since it shows how to do something brand-new with the template system I'd like to help illustrate how it works.

You can skin this cat several different ways.

For the most straightforward way (read that as brute force)  Look at step 9 in the theme.php instructions included with the documents directory as an example.

Now, that being said theres another method that I would use personally, and that is manipulate the button arrays directly.

copy these sections  out of sample's theme.php into your theme.php

Code: [Select]

// Creates an array of tokens to be used with function assemble_template_buttons
// this function is used in this file it needs to be declared before being called.
function addbutton(&$menu,$href_lnk,$href_title,$href_tgt,$block_id,$spacer) {
  $menu[]=array($href_lnk,$href_title,$href_tgt,$block_id,$spacer);
}


Code: [Select]
 // HTML template for template sys_menu buttons
    // {HREF_LNK}{HREF_TITLE}{HREF_TGT}{BLOCK_ID}{SPACER}
    addbutton($sys_menu_buttons,'{HOME_LNK}','{HOME_TITLE}','{HOME_TGT}','home',$template_sys_menu_spacer);
    addbutton($sys_menu_buttons,'{MY_GAL_LNK}','{MY_GAL_TITLE}','{MY_GAL_TGT}','my_gallery',$template_sys_menu_spacer);
    addbutton($sys_menu_buttons,'{MEMBERLIST_LNK}','{MEMBERLIST_TITLE}','{MEMBERLIST_TGT}','allow_memberlist',$template_sys_menu_spacer);
    addbutton($sys_menu_buttons,'{MY_PROF_LNK}','{MY_PROF_TITLE}','{MY_PROF_TGT}','my_profile',$template_sys_menu_spacer);
    addbutton($sys_menu_buttons,'{ADM_MODE_LNK}','{ADM_MODE_TITLE}','{ADM_MODE_TGT}','enter_admin_mode',$template_sys_menu_spacer);
    addbutton($sys_menu_buttons,'{USR_MODE_LNK}','{USR_MODE_TITLE}','{USR_MODE_TGT}','leave_admin_mode',$template_sys_menu_spacer);
    addbutton($sys_menu_buttons,'{UPL_PIC_LNK}','{UPL_PIC_TITLE}','{UPL_PIC_TGT}','upload_pic',$template_sys_menu_spacer);
    addbutton($sys_menu_buttons,'{REGISTER_LNK}','{REGISTER_TITLE}','{REGISTER_TGT}','register',$template_sys_menu_spacer);
    addbutton($sys_menu_buttons,'{FAQ_LNK}','{FAQ_TITLE}','{FAQ_TGT}','faq',$template_sys_menu_spacer);
    addbutton($sys_menu_buttons,'{LOGIN_LNK}','{LOGIN_TITLE}','{LOGIN_TGT}','login','');
    addbutton($sys_menu_buttons,'{LOGOUT_LNK}','{LOGOUT_TITLE}','{LOGOUT_TGT}','logout','');
    // Login and Logout don't have a spacer as only one is shown, and either would be the last option.



Code: [Select]
 // HTML template for template sub_menu buttons
    // {HREF_LNK}{HREF_TITLE}{HREF_TGT}{BLOCK_ID}{SPACER}

    addbutton($sub_menu_buttons,'{CUSTOM_LNK_LNK}','{CUSTOM_LNK_TITLE}','{CUSTOM_LNK_TGT}','custom_link',$template_sub_menu_spacer);
    addbutton($sub_menu_buttons,'{ALB_LIST_LNK}','{ALB_LIST_TITLE}','{ALB_LIST_TGT}','album_list',$template_sub_menu_spacer);
    addbutton($sub_menu_buttons,'{LASTUP_LNK}','{LASTUP_TITLE}','{LASTUP_TGT}','lastup',$template_sub_menu_spacer);
    addbutton($sub_menu_buttons,'{LASTCOM_LNK}','{LASTCOM_TITLE}','{LASTCOM_TGT}','lastcom',$template_sub_menu_spacer);
    addbutton($sub_menu_buttons,'{TOPN_LNK}','{TOPN_TITLE}','{TOPN_TGT}','topn',$template_sub_menu_spacer);
    addbutton($sub_menu_buttons,'{TOPRATED_LNK}','{TOPRATED_TITLE}','{TOPRATED_TGT}','toprated',$template_sub_menu_spacer);
    addbutton($sub_menu_buttons,'{FAV_LNK}','{FAV_TITLE}','{FAV_TGT}','favpics',$template_sub_menu_spacer);
    addbutton($sub_menu_buttons,'{SEARCH_LNK}','{SEARCH_TITLE}','{SEARCH_TGT}','search','');

Now just use the addbutton function and modify away. The order in which you use addbutton determines the order when the theme is rendered.

This is the format of addbutton($menu,'{HREF_LNK}','{HREF_TITLE}','{HREF_TGT}','BLOCK_ID','{SPACER}')

Such that HREF_LNK is the clickable text, HREF_TITLE is the hover text, HREF_TGT is the href, BLOCK_ID can be anything EXCEPT one thats already used, and spacer should match the format and _menu var you are working with.  Note in the default config spacer its set to null on the last option, you may want that or not, but you need to take that into account when you start adding buttons, it depends entirely on your theme.

A typical $sub_menu_button might be:
Code: [Select]
addbutton($sub_menu_button,'CPG-Contrib','Coppermine Contrib','http://cpg-contrib.org','cpg-contrib',$template_sub_menu_spacer);

Hope that helps.
Logged

birddog

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 32
    • DankSite.Com
Re: Allowing more than one custom link in cpg 1.4
« Reply #2 on: March 03, 2006, 08:46:18 am »

Hello. I apologize if this question sound ignorant, however, perhaps I am misunderstanding you. I added all blocks of the code on the forum to my themes.php. I still have no idea how to add a button. A little help here? Yes... that's right. I must be a moron. nevertheless, I am a noob, and need a little guidence. Thank you in advance for your reply. Perhaps a pre-made php CPGexternal navigation script would be the answer. I reallly don't know

Joachim Müller

  • Dev Team member
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 47843
  • aka "GauGau"
    • gaugau.de
Re: Allowing more than one custom link in cpg 1.4
« Reply #3 on: March 03, 2006, 08:48:38 am »

no support on the feature requests board. Thread locked.
Logged
Pages: [1]   Go Up
 

Page created in 0.049 seconds with 19 queries.