• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

XF 2.0 Widget setup step

AndrewSimm

Active member
#1
I am trying to create widget "cis_ads_sidebar_1" from widget definition "cis_ads_side_bar_1". I can get everything to work when I manually set it up, but it doesn't create the widgets on my install step 1. Any idea? (I'm probably doing something in correctly with the multiple positions)

PHP:
    public function installStep1()
    {
        $this->createWidget('cis_ads_sidebar_1', 'cis_ads_side_bar_1', [
            'positions' => ['forum_list_sidebar' => 10],
            'positions' => ['forum_view_sidebar' => 10],
            'positions' => ['thread_view_sidebar' => 10]
        ]);

        $this->createWidget('cis_ads_sidebar_2', 'cis_ads_side_bar_2', [
            'positions' => ['forum_list_sidebar' => 20],
            'positions' => ['forum_view_sidebar' => 20],
            'positions' => ['thread_view_sidebar' => 20]
        ]);

        $this->createWidget('cis_ads_sidebar_3', 'cis_ads_side_bar_3', [
            'positions' => ['forum_list_sidebar' => 30],
            'positions' => ['forum_view_sidebar' => 30],
            'positions' => ['thread_view_sidebar' => 30]
        ]);

        $this->createWidget('cis_ads_sidebar_4', 'cis_ads_side_bar_4', [
            'positions' => ['forum_list_sidebar' => 40],
            'positions' => ['forum_view_sidebar' => 40],
            'positions' => ['thread_view_sidebar' => 40]
        ]);

        $this->createWidget('cis_ads_sidebar_5', 'cis_ads_side_bar_5', [
            'positions' => ['forum_list_sidebar' => 50],
            'positions' => ['forum_view_sidebar' => 50],
            'positions' => ['thread_view_sidebar' => 50]
        ]);
    }
 

Chris D

XenForo developer
Staff member
#2
You have multiple array keys named "positions", all of these will be overwriting each other.

You need to have one array with a key called positions, then put each position inside that, comma separated.
 

AndrewSimm

Active member
#3
Is this correct?

PHP:
        $this->createWidget('cis_ads_sidebar_1', 'cis_ads_side_bar_1', [
            'positions' => ['forum_list_sidebar' => 10, 'forum_view_sidebar' => 10, 'thread_view_sidebar' => 10]
        ]);