Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 02-02-2012, 06:53 AM
gushin gushin is offline
 
Join Date: Jan 2012
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Problem with the names of plug-in menu items

Hello! Sorry for my bad English. I make the vbulletin plugin, and have this problem:
in install code I'm create XML file cpnav_myplugin.xml, containing this code:
HTML Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<navgroups product="my_product">
   <navgroup phrase="my_product_settings" hr="true" permissions="canadminsettings" displayorder="1">
      <navoption displayorder="10">
         <phrase>my_product_edit_text</phrase>
         <link>my_product.php?action=edit_text</link>
      </navoption>
      <navoption displayorder="20">
         <phrase>my_product_edit_emails</phrase>
         <link>my_product.php?action=edit_email</link>
      </navoption>
   </navgroup>
</navgroups>
this xml assumes that the phrases "my_product_settings", "my_product_edit_text" et al. is defined. I'm added the following xml code of the plugin this part:
HTML Code:
<phrases>
  <phrasetype name="my_product" fieldname="my_product_phrases">
    <phrase name="my_product_settings"><![CDATA[MP settings]]></phrase>
    <phrase name="my_product_edit_text"><![CDATA[Edit mail text]]></phrase>
    <phrase name="my_product__edit_emails"><![CDATA[Edit emails]]></phrase>
  </phrasetype>
</phrases>
I assumed that the new menu item will appear in the admin interface. But I was saw the following:


In this regard, I want to ask: where is I did mistake?
Reply With Quote
  #2  
Old 02-02-2012, 11:44 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try using this instead:

Code:
<phrasetype name="Control Panel Home Pages" fieldname="cphome">

because only some phrase types are loaded for a given page, and you must set your phrases to a type that will be loaded on the menu page.
Reply With Quote
  #3  
Old 02-02-2012, 12:10 PM
gushin gushin is offline
 
Join Date: Jan 2012
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you. Now the code looks like this:

HTML Code:
<phrases>
   <phrasetype name="Control Panel Home Pages" fieldname="cphome">
      <phrase name="wb_complaint_settings"><![CDATA[WBC settings]]></phrase>
      <phrase name="wb_complaint_edit_text"><![CDATA[Edit mail text]]></phrase>
      <phrase name="wb_complaint_edit_emails"><![CDATA[Edit emails]]></phrase>
   </phrasetype>
</phrases>
But, the menu still looks like the first screenshot... I checked in the "language and the phrase" under Control Panel Home Pages my phrases are present:



what else could be the problem? Maybe I missed some more of the code?

--------------- Added [DATE]1328188604[/DATE] at [TIME]1328188604[/TIME] ---------------

And another question, what directory should I put a php script (my_product.php) that is invoked here:
HTML Code:
<phrase>my_product_edit_text</phrase>
<link>my_product.php?action=edit_text</link>
--------------- Added [DATE]1328189119[/DATE] at [TIME]1328189119[/TIME] ---------------

tried to use:
HTML Code:
<phrasetype name="Control Panel Global" fieldname="cpglobal">
Nothing has changed...
Reply With Quote
  #4  
Old 02-02-2012, 12:30 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by gushin View Post
And another question, what directory should I put a php script (my_product.php) that is invoked here:
HTML Code:
<phrase>my_product_edit_text</phrase>
<link>my_product.php?action=edit_text</link>
That should go in the admincp directory.

Quote:
tried to use:
HTML Code:
<phrasetype name="Control Panel Global" fieldname="cpglobal">
Nothing has changed...

You beat me to it, I was just going to suggest that. To be honest I don't understand why it isn't working, but if I figure out anything I'll post it.
Reply With Quote
  #5  
Old 02-02-2012, 12:37 PM
gushin gushin is offline
 
Join Date: Jan 2012
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok)) Thank you!
Reply With Quote
  #6  
Old 02-02-2012, 12:38 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, I tried using the file you posted and I got this to show up

Attachment 136251


But I didn't have the phrases defined. So maybe your problem is not the phrases but the cpnav file. But I don't see anything wrong with it.
Reply With Quote
  #7  
Old 02-02-2012, 01:09 PM
gushin gushin is offline
 
Join Date: Jan 2012
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It's a good thing. I agree with you, most likely the problem is not in sentences. Here is the complete code cpnav file:
HTML Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<navgroups product="wb_complaint">
<navgroup phrase="wbcomplaint_settings" hr="true" permissions="canadminsettings" displayorder="1">
<navoption displayorder="10">
<phrase>wb_complaint_edit_text</phrase>
<link>wb_complaint.php?action=edit_text</link>
</navoption>
<navoption displayorder="20">
<phrase>wb_complaint_edit_emails</phrase>
<link>wb_complaint.php?action=edit_email</link>
</navoption>
</navgroup>
</navgroups>
I wonder what if I leave the first line cpnav file is empty, the menu item is added. As soon as I'm writing a file from the first line item is not add.
Reply With Quote
  #8  
Old 02-02-2012, 01:15 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Are you saying that you leave a blank line at the top, or are you removing the <?xml line? I was wondering if it could be a character encoding issue.
Reply With Quote
  #9  
Old 02-02-2012, 01:15 PM
gushin gushin is offline
 
Join Date: Jan 2012
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The problem can be encoded in which you saved the file cpnav?

--------------- Added [DATE]1328192246[/DATE] at [TIME]1328192246[/TIME] ---------------

I leave a blank line at the top. We believe in one direction)))

--------------- Added [DATE]1328193770[/DATE] at [TIME]1328193770[/TIME] ---------------

I'm create cpnav file in install code and to be sure that the encoding is correct, I used the function mb_convert_encoding:
PHP Code:
$cpnav_wbcomplaint = '<?xml version="1.0" encoding="ISO-8859-1"?>
<navgroups product="wb_complaint">
<navgroup phrase="wbcomplaint_settings" hr="true" permissions="canadminsettings" displayorder="1">
<navoption displayorder="10">
<phrase>wb_complaint_edit_text</phrase>
<link>wb_complaint.php?action=edit_text</link>
</navoption>
<navoption displayorder="20">
<phrase>wb_complaint_edit_emails</phrase>
<link>wb_complaint.php?action=edit_email</link>
</navoption>
</navgroup>
</navgroups>
';
$cpnav_wbcomplaint = mb_convert_encoding($cpnav_wbcomplaint, "ISO-8859-1");
But nothing has changed...

--------------- Added [DATE]1328257666[/DATE] at [TIME]1328257666[/TIME] ---------------

I tried to change the tag <phrase> to the tag <text> as advised in one of the forums.
HTML Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<navgroups product="test_product" master="false">
  <navgroup text="test_product" permissions="canadminmaintain" hr="true" displayorder="10">
    <navoption displayorder="10">
      <text>first_item</text>
      <link>test.php?do=edit</link>
    </navoption>
    <navoption displayorder="20">
      <text>second_item</text>
      <link>admin_rbs.php?do=edit</link>
    </navoption>
    <navoption displayorder="30">
      <text>third_item</text>
      <link>admin_rbs.php?do=edit</link>
    </navoption>
  </navgroup>
</navgroups>
But still no change...

--------------- Added [DATE]1328278249[/DATE] at [TIME]1328278249[/TIME] ---------------

Maybe you can tell which file script which generates the menu items, then I would be able to analyze the whole process and it is possible to solve the problem
Reply With Quote
  #10  
Old 02-03-2012, 03:20 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by gushin View Post
Maybe you can tell which file script which generates the menu items, then I would be able to analyze the whole process and it is possible to solve the problem

It's in admincp/index.php around line 359 (in version 4.1.10), there's this code:

PHP Code:
foreach ($navfiles AS $nav_file => $file)
{
    
$xmlobj = new vB_XML_Parser(falseDIR "/includes/xml/$file");
    
$xml =& $xmlobj->parse(); 

I don't know very much about character encoding problems, but maybe the problem is that the xml file has ISO-8859-1 for the encoding and your editor is doing something different?
Reply With Quote
Reply


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 04:47 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.06417 seconds
  • Memory Usage 2,299KB
  • Queries Executed 14 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (9)bbcode_html
  • (2)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (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_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
  • 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