PDA

View Full Version : Use vBCms Widget everywhere


ragtek
22 Jun 2010, 20:11
Here is a method, how to use the widgets on own pages.

1. fix this bug: http://tracker.vbulletin.com/browse/VBIV-7640
2. Now you can use the following code where you want (plugin, own php page):

bootstrap_framework();
vBCms_View_Widget::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB());

$widgetID = 32; // the id of the widget

$widgettype = 'Static'; // type of the widget you want to output

$widget = vBCms_Widget::create('vBCms', $widgettype, $widgetID);
$output = $widget->getPageView()->render();


3. Now the output is saved in the $output variable, which can be placed where you want:)

ThorstenA
29 Aug 2010, 14:03
Wow, amazing! So with that you could actually use cms widgets (the "real ones") also on the forum home page? Then that would be the solution for integrating the "read widgets" also on the forum sidebar.

And the proprietary sidebar can rest in peace, finally :)

ragtek
29 Aug 2010, 15:37
Yea, it's possible and i wanted to create a add-on for this, but i had some styling problems, so i gave it up.

I'll try it again after the 4.1 release, because the styling will hopefully be easier;)

bchertov
21 Sep 2010, 05:00
I'll be looking for the 4.1 add-on, or better yet VB will implement this!

--------------- Added 1285041706 at 1285041706 ---------------

Can you give a full example of how you would place this on a forum page, including specifying which forum?

Thanks!

cad2go
21 Sep 2010, 18:49
brilliant! tagged

tintin74
30 Sep 2010, 13:33
Hello ragtek, I want to call this widget using a template. I've already create a plugin with the code you've suggested. Could you tell me how to include the $output variable into a template? I'm using vb4.0.6

Thank you

--------------- Added 1285853151 at 1285853151 ---------------

Ragtek , you've post on vbulletin.com this code to use like a plugin into vbulletin :
bootstrap_framework();
vBCms_View_Widget::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB());
$widgetID = 20; // the id of the widget
$widgettype = 'RecentContent';
$widget = vBCms_Widget::create('vBCms', $widgettype, $widgetID);
$output = $widget->getPageView()->render();
$templater ->register('widget', $output);

Using this

{vb:raw widget}

into the template to call the plugin .

But If I do it, I get this error :

Fatal error: Call to a member function register() on a non-object in /var/www/vhosts/mydomain.com/httpdocs/new/forum/global.php(29) : eval()'d code on line 8

Do you know how to solve this, please?

Thank you

o

wottech
09 Nov 2010, 04:03
I am also either getting errors, or nothing to appear. Has anyone successfully gotten this to work with Section Navigation?

wottech
07 Jan 2011, 12:33
Since someone asked about it over on vb.com, I was able to finally get this to work with some success. I used ragtek's code and placed it in a new Forum Block using a PHP content type. My goal was to use the Section Navigator in the forums, so my code looked like this:

bootstrap_framework();
vBCms_View_Widget::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB());

$widgetID = 16; // the id of the widget

$widgettype = 'SectionNavExt'; // type of the widget you want to output

$widget = vBCms_Widget::create('vBCms', $widgettype, $widgetID);
$output = $widget->getPageView()->render();

For the template, I made a copy of the normal Section Navigation widget template so that I could edit it for the forums. I also used the "Everywhere Sidebar" mod on here to be able to place the menu on all areas of the site.

Now the bad part... I could never get the CSS to work properly to display the menu the same in the forums as it was displayed in the CMS. It basically was just a bulleted list that wasn't collapsible. If someone figures out that part, then I would definitely use it again.

ragtek
07 Jan 2011, 14:40
You need to add the css files to;)

I think you need


widgets.css
vbcms.css



Sorry i've forgotten to add it to the tutorial.

wottech
07 Jan 2011, 16:09
I tried several different ways to add it, but since the Section Navigation uses script from Yahoo, I couldn't figure out how to get it to call properly. I messed with it for several days and never had any success. Any further input would be great, as I would love to get it up and running properly.

john h
14 Jan 2011, 23:51
Watching this one with great interest!

ttuser
08 Jun 2011, 06:23
Hi,

The code looks like:

bootstrap_framework();
vBCms_View_Widget::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB());

$widgetID = 32; // the id of the widget

$widgettype = 'ExecPhp'; // type of the widget you want to output

$widget = vBCms_Widget::create('vBCms', $widgettype, $widgetID);
$output = $widget->getPageView()->render();


But it throws error for non object as:

Fatal error: Call to a member function getConfig() on a non-object in \packages\vbcms\widget\execphp.php on line 160


Can some body help me in this??

tintin74
11 Aug 2011, 11:45
same for me.

kh99
11 Aug 2011, 13:54
Looks like a bug to me, in packages/vbcms/widget/execphp.php. In function getPageView() the first line is

$config = $this->widget->getConfig();


but the line that loads the widget doesn't get called until later:

$this->assertWidget();


so you could try moving the assertWidget() line to the beginning of that function, or in your code you could add a call to $widget->getConfigView() before the call to getPageView().

Bram H
03 Sep 2011, 21:24
Did somebody actually get this to work? I too am looking for the section widget to display on the forums

swatirajawat
24 Nov 2011, 08:24
I hv create the new plugin with below given Code with global start.
bootstrap_framework();

vBCms_View_Widget::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB());

$widgetID = 16; // the id of the widget

$widgettype = 'SectionNavExt'; // type of the widget you want to output

$widget = vBCms_Widget::create('vBCms', $widgettype, $widgetID);
$output = $widget->getPageView()->render();


But how to apply this on
all pages .
As i added {vb:raw widget} on the forum dispay page also. can u explain me full process .


--------------- Added 1322124074 at 1322124074 ---------------

I hv created the plugin from the above given code with global_start. And added {vb:raw widget} on forum display template.
After doing this form display is white page. I hope i m doing something wrong .so can u explain full process to add widget on each page.

swatirajawat
29 Nov 2011, 12:23
hi i have waited a lot for the help, i have posted this query over vbulletin site and they gave me reference for this side but i am not getting any reply yet,pls help me in this query
thankyou.