The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
need help creating a product...
Hi,
I have tried creating a product xml file but its not going that well.. Here is the xml code: Code:
<?xml version="1.0" encoding="ISO-8859-1"?> <product productid="ecig_video_chat_statistics" active="1"> <title>ECIG - Video Chat Statistics</title> <description><![CDATA[Adds Video Chat statistics in the statistics box]]></description> <version>1</version> <url></url> <versioncheckurl /> <dependencies> </dependencies> <codes> </codes> <templates> <template name="forumhome_videochat_stat" templatetype="template" date="00" username="Ecig" version="1.0"> <![CDATA[ <div id="latest_posts" class="wgo_subblock collapse"> <h3><img src="{vb:stylevar imgdir_misc}/forum_stats.png" alt="test" />test</h3> <a class="collapse" id="collapse_ltp_list" href="{vb:raw relpath}#top"><img src="{vb:stylevar imgdir_button}/collapse.png" alt="" title="Collapse/Expand" /></a> <div id="ltp_list"> <table width="100%"><tr><td> {vb:raw video_chat_stat} </td></tr></table> </div> </div> ]]> </template> </templates> <stylevardfns> </stylevardfns> <stylevars> </stylevars> <plugins> <plugin active="1" executionorder="5"> <title>Video Chat Statistics</title> <hookname>forumhome_start</hookname> <phpcode><![CDATA[ if ($vbulletin->options['videochat_stat_active'] $video_chat_stat = 'SOME TEST'; $templater = vB_Template::create('forumhome_videochat_stat'); $templater->register('video_chat_stat', $video_chat_stat); $template_hook[forumhome_wgo_pos2] .= $templater->render(); } ]]></phpcode> </plugin> </plugins> <phrases> <phrasetype name="vBulletin Settings" fieldname="vbsettings"> <phrase name="setting_videochat_stat_url_desc" date="00" username="Ecig" version="1.0"><![CDATA[Url to Video Chat json]]></phrase> <phrase name="setting_videochat_stat_url_title" date="00" username="Ecig" version="1.0"><![CDATA[Url]]></phrase> <phrase name="setting_videochat_stat_active_desc" date="00" username="Ecig" version="1.0"><![CDATA[Activate Video Chat Statistics.]]></phrase> <phrase name="setting_videochat_stat_active_title" date="00" username="Ecig" version="1.0"><![CDATA[Video Chat Statistics Active]]></phrase> <phrase name="settinggroup_videochat_stat" date="00" username="Ecig" version="1.0"><![CDATA[ECIG Video Chat Statistics]]></phrase> </phrasetype> </phrases> <options> <settinggroup name="videochat_stat" displayorder="65535"> <setting varname="videochat_stat_active" displayorder="10"> <datatype>free</datatype> <optioncode>yesno</optioncode> </setting> <setting varname="videochat_stat_url" displayorder="20"> <datatype>free</datatype> <defaultvalue>http://</defaultvalue> </setting> </settinggroup> </options> <helptopics> </helptopics> <cronentries> </cronentries> <faqentries> </faqentries> </product> I dont get any errors, but nothing show up either on my forum. Also Im a little in doubt about the date and username tags used in phrases and template tags. Any help appreciated. Or a link to where I can study this (the vbulletin manual doesnt give much info on this.) |
#2
|
||||
|
||||
If your not getting any errors then you must have error reporting disabled on your server, since it will give you php errors as it stands.
Looks a bit like you copied the code from somewhere and then edited it, and you have removed too much. Your IF is missing a closing bracket on the condition, and an opening curly bracket for the action. Also, you have defaulted the active setting to no, so make sure you set that to yes. |
#3
|
|||
|
|||
Thanks.. you were right about those faults..
But it still doesnt work.. Nothing happends at all on my forum.. Here is the new code: Code:
<?xml version="1.0" encoding="ISO-8859-1"?> <product productid="ecig_video_chat_statistics" active="1"> <title>ECIG - Video Chat Statistics</title> <description><![CDATA[Adds Video Chat statistics in the statistics box]]></description> <version>1</version> <url></url> <versioncheckurl /> <dependencies> </dependencies> <codes> </codes> <templates> <template name="forumhome_videochat_stat" templatetype="template" date="00" username="Ecig" version="1.0"> <![CDATA[ <div id="latest_posts" class="wgo_subblock collapse"> <h3><img src="{vb:stylevar imgdir_misc}/forum_stats.png" alt="test" />test</h3> <a class="collapse" id="collapse_ltp_list" href="{vb:raw relpath}#top"><img src="{vb:stylevar imgdir_button}/collapse.png" alt="" title="Collapse/Expand" /></a> <div id="ltp_list"> <table width="100%"><tr><td> {vb:raw video_chat_stat} </td></tr></table> </div> </div> ]]> </template> </templates> <stylevardfns> </stylevardfns> <stylevars> </stylevars> <plugins> <plugin active="1" executionorder="5"> <title>Video Chat Statistics</title> <hookname>forumhome_start</hookname> <phpcode><![CDATA[ if ($vbulletin->options['videochat_stat_active']){ $video_chat_stat = ''; $url = $vbulletin->options['videochat_stat_url']; $contents = file_get_contents($url); $contents = utf8_encode($contents); $arr = json_decode($contents, True); foreach ($arr as $key => $value) { if($key == 'topic'){ $topic = $value; }else if($key == 'broadcaster_count'){ $broadcaster_count = $value; } } $video_chat_stat .= 'Antal online: '.$broadcaster_count; $templater = vB_Template::create('forumhome_videochat_stat'); $templater->register('video_chat_stat', $video_chat_stat); $template_hook[forumhome_wgo_pos2] .= $templater->render(); } ]]></phpcode> </plugin> </plugins> <phrases> <phrasetype name="vBulletin Settings" fieldname="vbsettings"> <phrase name="setting_videochat_stat_url_desc" date="00" username="Ecig" version="1.0"><![CDATA[Url to Video Chat json]]></phrase> <phrase name="setting_videochat_stat_url_title" date="00" username="Ecig" version="1.0"><![CDATA[Url]]></phrase> <phrase name="setting_videochat_stat_active_desc" date="00" username="Ecig" version="1.0"><![CDATA[Activate Video Chat Statistics.]]></phrase> <phrase name="setting_videochat_stat_active_title" date="00" username="Ecig" version="1.0"><![CDATA[Video Chat Statistics Active]]></phrase> <phrase name="settinggroup_videochat_stat" date="00" username="Ecig" version="1.0"><![CDATA[ECIG Video Chat Statistics]]></phrase> </phrasetype> </phrases> <options> <settinggroup name="videochat_stat" displayorder="65535"> <setting varname="videochat_stat_active" displayorder="10"> <datatype>free</datatype> <optioncode>yesno</optioncode> </setting> <setting varname="videochat_stat_url" displayorder="20"> <datatype>free</datatype> <defaultvalue>http://</defaultvalue> </setting> </settinggroup> </options> <helptopics> </helptopics> <cronentries> </cronentries> <faqentries> </faqentries> </product> |
#4
|
||||
|
||||
Are you writing this in the xml file and then trying to import instead of writing them as plugins and then just exporting the xml file?
|
#5
|
|||
|
|||
Im writing the xml file and I import the xml file through the admin panel.. Plugins and products -> Manage Products
Thats what I have done with other products that I have download from here. F.x. a google analytics product. |
#6
|
||||
|
||||
Well yes, that is what you do if you downloaded one. But right now, you said you are creating one. Very rarely does someone create one by just coding it directly into an xml file (although I do know a couple coders who do). Most users create a product in the Manage Products page and then create plugins and templates and phrases and assign them to the product. Then when it is done and working, you just export it from the Manage Products page and vb writes the xml file for you.
|
#7
|
||||
|
||||
Quote:
Another suggestion, use debug enabled, good for developers |
#8
|
|||
|
|||
Quote:
Cant anyone see why the above xml fails to work? |
#9
|
||||
|
||||
It imports just fine on my forum. When I turn it on, I get an error on my home page because I don't have a url entered, but I do have text show up on the page after the Currently Active Users box. Isn't that what should happen?
|
#10
|
|||
|
|||
Yes that was what was supposed to happen.. I also got it to work now on my forum:
check it out at http://ecig-forum.dk I found out why it wasnt working.. The contents of the template didnt install when I imported the xml. I think it may be because of 2 whitespaces after the templatetag.. After removing those tags it worked perfectly. Thanks for your guidance. --------------- Added [DATE]1263762518[/DATE] at [TIME]1263762518[/TIME] --------------- By the way.. If anybody is interrested, its an integration of http://tinychat.com API.. So I can tell who is online at the video chat there.. Its defenately not finished, but the php code is like this now: Code:
<![CDATA[if ($vbulletin->options['videochat_stat_active']){ $video_chat_stat = ''; $url = $vbulletin->options['videochat_stat_url']; $contents = file_get_contents($url); $contents = utf8_encode($contents); $arr = json_decode($contents, True); foreach ($arr as $key => $value) { if($key == 'topic'){ $topic = $value; }else if($key == 'broadcaster_count'){ $broadcaster_count = $value; }else if($key == 'total_count'){ $total_count = $value; }else if(is_array($value) && $key == 'names'){ foreach ($value as $key2 => $value2) { $users_online .= $value2.', '; } } } $video_chat_stat .= 'Antal online ialt: '.$total_count.'<br>'; $video_chat_stat .= 'Antal online med video: '.$broadcaster_count.'<br>'; $video_chat_stat .= 'Brugere online: '.$users_online.'<br>'; $templater = vB_Template::create('forumhome_videochat_stat'); $templater->register('video_chat_stat', $video_chat_stat); $template_hook[forumhome_wgo_pos2] .= $templater->render(); }]]> |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|