Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
Prev Previous Post   Next Post Next
  #1  
Old 12-09-2009, 03:36 AM
Coroner Coroner is offline
 
Join Date: Feb 2008
Location: Germany
Posts: 797
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Custom Friendly URLs

I've tried to create my own friendly URL's but something goes wrong.
Created 2 plugins
PHP Code:
        <plugin active="1" executionorder="1">
            <
title>SEOUrl</title>
            <
hookname>friendlyurl_fetch_main_fragment_fallback</hookname>
            <
phpcode><![CDATA[
if (
$this->link == 'gallery')
{
    
$titlekey 'title';
    
$idkey    'catid';
    
$handled  true;
}
            ]]></
phpcode>
        </
plugin
and the 2nd:
PHP Code:
        <plugin active="1" executionorder="1">
            <
title>SEOUrl</title>
            <
hookname>global_bootstrap_init_complete</hookname>
            <
phpcode><![CDATA[
class 
vB_Friendly_Url_Gallery extends vB_Friendly_Url_Abstract
{
    public function 
__construct(&$registry$linkinfo$pageinfo$primaryid$primarytitle$urloptions)
    {
        
$this->link 'gallery';
        
parent::__construct($registry$linkinfo$pageinfo$primaryid$primarytitle$urloptions);
    }

    public function 
output()
    {
        
$customfragment $this->get_main_fragment();
        
$pagefragment $this->get_page_fragment();
        
$arguments $this->get_qs_arguments();

        
$handled false;
        if (!
$handled)
        {
            switch (
$this->registry->options['friendlyurl'])
            {
                case 
1:
                    return 
'gallery.php?' $customfragment $pagefragment . (!empty($arguments) ? $this->amp implode($this->amp$arguments) : '');

                case 
2:
                    return 
'gallery.php/' $customfragment $pagefragment . (!empty($arguments) ? '?' implode($this->amp$arguments) : '');

                case 
3:
                    return 
'gallery/' $customfragment $pagefragment . (!empty($arguments) ? '?' implode($this->amp$arguments) : '');

                case 
0:
                default:
                    return 
'gallery.php?' $this->registry->session->vars['sessionurl'] . 'c=' $this->id . (!empty($arguments) ? $this->amp implode($this->amp$arguments) : '');
            }
        }
    }
}
            ]]></
phpcode>
        </
plugin
Next is the part I can't ..... believe.
In class_friendly_url I've found the part:
PHP Code:
    public static $friendlies = array(
            
'showthread'   => array(
                
'primaryvar' => 't',
                ... 
Now, when I add this code (hardcoded):
PHP Code:
            'mygallery'      => array(
                
'script'     => 'gallery.php',
                
'primaryvar' => 'c',
                
'ignorelist' => array ('c''catid'),
                
'rewritevar' => 'gallery',
            ), 
to the class I works correctly. But when I'm adding this CODE by a plugin like:
PHP Code:
        <plugin active="1" executionorder="1">
            <
title>SEOUrl</title>
            <
hookname>global_bootstrap_init_complete</hookname>
            <
phpcode><![CDATA[
vB_Friendly_Url::$friendlies['mygallery'] = array (
    
'script'     => 'gallery.php',
    
'primaryvar' => 'c',
    
'ignorelist' => array ('c''catid'),
    
'rewritevar' => 'gallery'
);
            ]]></
phpcode>
        </
plugin
it doesn't work.
To test if it works I'm using this:
PHP Code:
$myurl fetch_seo_url('gallery', array('catid' => 2'title' => 'Title 1')); 
Does anyone know, what I'm doing wrong ?

Cheers
Coroner
Reply With Quote
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:04 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.09476 seconds
  • Memory Usage 2,341KB
  • Queries Executed 12 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (6)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete