vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Problem with the names of plug-in menu items (https://vborg.vbsupport.ru/showthread.php?t=277919)

gushin 02-02-2012 06:53 AM

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:
https://vborg.vbsupport.ru/external/2012/02/62.png

In this regard, I want to ask: where is I did mistake? :)

kh99 02-02-2012 11:44 AM

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.

gushin 02-02-2012 12:10 PM

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:

https://vborg.vbsupport.ru/external/2012/02/60.png

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...

kh99 02-02-2012 12:30 PM

Quote:

Originally Posted by gushin (Post 2295332)
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.

gushin 02-02-2012 12:37 PM

Ok)) Thank you!

kh99 02-02-2012 12:38 PM

1 Attachment(s)
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.

gushin 02-02-2012 01:09 PM

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.

kh99 02-02-2012 01:15 PM

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.

gushin 02-02-2012 01:15 PM

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

kh99 02-03-2012 03:20 PM

Quote:

Originally Posted by gushin (Post 2295358)
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?


All times are GMT. The time now is 09:28 PM.

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.01136 seconds
  • Memory Usage 1,767KB
  • 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
  • (1)bbcode_code_printable
  • (9)bbcode_html_printable
  • (2)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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