Posts: 103
Threads: 39
Joined: Jan 2012
Reputation:
0
Hello
So I want to explore with the plugin system and create a table that will go just above the forum (Asif it were a shoutbox).
I'm having troubles doing that... I managed to make a variable in the index template, but I'm not sure how to print data on that variable in a plugin. doing echo in PHP will output the data on the very top of the forums.
Also, I created another template and stored that successfully. I'd like to print that template on that variable, how can it be done?
I've tried googling but got nothing...
Thank you.
Posts: 18
Threads: 0
Joined: Apr 2013
Reputation:
0
Have you tried Template conditionals? Or even the other one, PHP in templates...
Dulcorados.com | Foro de repostería en español
[url=www.dulcorados.com][/url]
Posts: 9,905
Threads: 399
Joined: Jan 2010
Reputation:
548
$plugins->add_hook('global_end', 'do_print');
function do_print()
{
global $header, $templates;
eval('$do_print = "'.$templates->get('do_print').'";');
$header = str_replace('<!--do_print-->', $do_print, $header);
}
This assuming the 'do_print' template exists and "<!--do_print-->" in found within the header code.
Please read:
http://community.mybb.com/thread-137925.html
http://mybbsource.com/thread-4003.html
http://mybbhacks.zingaburga.com/showthread.php?tid=74
Soporte en Español
Discord at omar.gonzalez ( Omar G.#6117 ); Telegram at @omarugc ;
Posts: 103
Threads: 39
Joined: Jan 2012
Reputation:
0
(2014-04-05, 02:51 AM)Omar G. Wrote: $plugins->add_hook('global_end', 'do_print');
function do_print()
{
global $header, $templates;
eval('$do_print = "'.$templates->get('do_print').'";');
$header = str_replace('<!--do_print-->', $do_print, $header);
}
This assuming the 'do_print' template exists and "<!--do_print-->" in found within the header code.
Please read:
http://community.mybb.com/thread-137925.html
http://mybbsource.com/thread-4003.html
http://mybbhacks.zingaburga.com/showthread.php?tid=74
Thanks for your input! Though it's not working, maybe I'm doing something wrong.
Where did "$header" come from? I see it in global, but using that still doesn't work.
And also, I have stored a variable in the index template which is something like "{$myTestVar}"
It's not printing out anything
Thanks.
Posts: 960
Threads: 67
Joined: Feb 2011
Reputation:
24
(2014-04-05, 12:16 PM)Nick magic23 Wrote: (2014-04-05, 02:51 AM)Omar G. Wrote: $plugins->add_hook('global_end', 'do_print');
function do_print()
{
global $header, $templates;
eval('$do_print = "'.$templates->get('do_print').'";');
$header = str_replace('<!--do_print-->', $do_print, $header);
}
This assuming the 'do_print' template exists and "<!--do_print-->" in found within the header code.
Please read:
http://community.mybb.com/thread-137925.html
http://mybbsource.com/thread-4003.html
http://mybbhacks.zingaburga.com/showthread.php?tid=74
Thanks for your input! Though it's not working, maybe I'm doing something wrong.
Where did "$header" come from? I see it in global, but using that still doesn't work.
And also, I have stored a variable in the index template which is something like "{$myTestVar}"
It's not printing out anything
Thanks.
$header = the header template (stored itself as a variable). if you wish to add a variable from your plugin return it to the required template from a hook call .... if you are trying to add a variable without a plugin template conditionals plugin or xthreads is the way to go
Not in this land alone,
But be God's mercies known,
From shore to shore!
Lord make the nations see,
That men should brothers be,
And form one family,
The wide world ov'er
Posts: 9,905
Threads: 399
Joined: Jan 2010
Reputation:
548
(2014-04-04, 10:07 PM)Nick magic23 Wrote: So I want to explore with the plugin system and create a table that will go just above the forum (Asif it were a shoutbox).
I'm assuming you are writting a plugin.
If you want to include a variable within the " index" template, use the " index_end" hook. Something around the lines of:
$plugins->add_hook('index_end', 'do_print');
function do_print()
{
global $templates, $my_var_foo;
eval('$my_var_foo = "'.$templates->get('do_print').'";');
}
{$my_var_foo} should be in your " index" template and " do_print" template must exists with.
Soporte en Español
Discord at omar.gonzalez ( Omar G.#6117 ); Telegram at @omarugc ;
Posts: 103
Threads: 39
Joined: Jan 2012
Reputation:
0
Omar, thank you! it worked!
- I have one more question though; in reguards to Javascript, "new Ajax.Request",
I want to send some data to PHP, so I made a hook connecting to xmlhttp.php and a function of course to it.
new Ajax.Request('./xmlhttp.php?action=sixpackdharmiee', {method: 'post', postBody: shout, onComplete: function(request) {
alert("Ok, sixPackDharmiee, check yo DB :) " + request);
}});
this part works fine, however when alert is called, the request variable prints "[object Object]", what's causing that to?
Also, how would I fetch the data in PHP? I've tried $mybb->input['shout'] but it's returning nothing. And yes, I've added $mybb to global.
Thank you.
Posts: 506
Threads: 5
Joined: Dec 2009
Reputation:
47
(2014-04-07, 11:21 AM)Nick magic23 Wrote: the request variable prints "[object Object]", what's causing that to?
request is an object that contains multiple bits of info, not a single string. Documentation of the different properties is here: http://prototypejs.org/doc/latest/ajax/A...index.html
(2014-04-07, 11:21 AM)Nick magic23 Wrote: Also, how would I fetch the data in PHP? I've tried $mybb->input['shout'] but it's returning nothing. And yes, I've added $mybb to global.
This I'm not 100% sure about, hopefully someone else can provide input, otherwise, I'd take a look at an existing plugin that makes AJAX requests and see how it does them.
Posts: 103
Threads: 39
Joined: Jan 2012
Reputation:
0
(2014-04-07, 11:50 AM)Cameron:D Wrote: (2014-04-07, 11:21 AM)Nick magic23 Wrote: the request variable prints "[object Object]", what's causing that to?
request is an object that contains multiple bits of info, not a single string. Documentation of the different properties is here: http://prototypejs.org/doc/latest/ajax/A...index.html
Yeah, I soon realised afterwords! Thank you!
However I still need help with the sending data via ajax. I tried looking at other plugins but the best I got was "undefined" :/
Posts: 9,905
Threads: 399
Joined: Jan 2010
Reputation:
548
new Ajax.Request('./xmlhttp.php?action=sixpackdharmiee', {method: 'post', postBody: shout, onComplete:function sixpackdharmiee(request)
{
if(error = request.responseText.match(/<error>(.*)<\/error>/))
{
alert("An error occurred when rating the post.\n\n" + error[1]);
return false;
}
content = request.responseText.split('|-_-|');
if(content[0] != 'success')
{
alert('An error occurred when rating the post.');
return false;
}
alert('Ok, sixPackDharmiee, check yo DB :)');
return true;
}});
return false;
Hope this does helps, JavaSciprt and AJAX is not on my skills :p
Soporte en Español
Discord at omar.gonzalez ( Omar G.#6117 ); Telegram at @omarugc ;
|