Jump to content

Extended widget areas


Cyboman

Recommended Posts

Currently ->

container-layout1.png.9d43bb8f8bca05b9e84111216c306ff8.png

 

Requested ->

container-layout3.png.afad26e12f16d3ae20b366f488d0fe66.png

Show these areas in order 1,2,3,4,5,6,7...

This would help so much and facilitate basic designs.

Of course, if we could split widget areas dynamically, be specifying split counts (= how many containers in a row), that would be even better, but the above solution would be a first approach to help us easily setup even nicer sites.

Link to comment
Share on other sites

1 hour ago, Cyboman said:

Currently ->

container-layout1.png.9d43bb8f8bca05b9e84111216c306ff8.png

 

Requested ->

container-layout3.png.afad26e12f16d3ae20b366f488d0fe66.png

Show these areas in order 1,2,3,4,5,6,7...

This would help so much and facilitate basic designs.

Of course, if we could split widget areas dynamically, be specifying split counts (= how many containers in a row), that would be even better, but the above solution would be a first approach to help us easily setup even nicer sites.

You can technically already do this by building your own template. Let's take a look:

Single Column Widgets:

<div>
	{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'horizontal'"}
</div>

Two Column Widgets:

<div>
	<div class='ipsGrid ipsGrid_collapsePhone'><br/><br/>
		<div class='ipsGrid_span6'>
			{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'horizontal'"}
		</div>
		<div class='ipsGrid_span6'>
			{template="widgetContainer" group="pages" app="cms" params="'col2', $widgets, 'horizontal'"}
		</div>
	</div>
</div>

Three Column Widgets:

<div>
	<div class='ipsGrid ipsGrid_collapsePhone'>
		<div class='ipsGrid_span4'>
			{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'vertical'"}
		</div>
		<div class='ipsGrid_span4'>
			{template="widgetContainer" group="pages" app="cms" params="'col2', $widgets, 'vertical'"}
		</div>
		<div class='ipsGrid_span4'>
			{template="widgetContainer" group="pages" app="cms" params="'col3', $widgets, 'vertical'"}
		</div>
	</div>
</div>

So the way to build what you're suggesting would be something along the lines of (Untested, mind you):

<div>
	<div class='ipsGrid ipsGrid_collapsePhone'>
		<div class='ipsGrid_span4'>
			{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'vertical'"}
		</div>
		<div class='ipsGrid_span4'>
			{template="widgetContainer" group="pages" app="cms" params="'col2', $widgets, 'vertical'"}
		</div>
		<div class='ipsGrid_span4'>
			{template="widgetContainer" group="pages" app="cms" params="'col3', $widgets, 'vertical'"}
		</div>
	</div>
</div>
<div>
	<div class='ipsGrid ipsGrid_collapsePhone'><br/><br/>
		<div class='ipsGrid_span6'>
			{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'horizontal'"}
		</div>
		<div class='ipsGrid_span6'>
			{template="widgetContainer" group="pages" app="cms" params="'col2', $widgets, 'horizontal'"}
		</div>
	</div>
</div>
<div>
	{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'horizontal'"}
</div>
<div>
	<div class='ipsGrid ipsGrid_collapsePhone'><br/><br/>
		<div class='ipsGrid_span6'>
			{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'horizontal'"}
		</div>
		<div class='ipsGrid_span6'>
			{template="widgetContainer" group="pages" app="cms" params="'col2', $widgets, 'horizontal'"}
		</div>
	</div>
</div>
<div>
	<div class='ipsGrid ipsGrid_collapsePhone'>
		<div class='ipsGrid_span4'>
			{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'vertical'"}
		</div>
		<div class='ipsGrid_span4'>
			{template="widgetContainer" group="pages" app="cms" params="'col2', $widgets, 'vertical'"}
		</div>
		<div class='ipsGrid_span4'>
			{template="widgetContainer" group="pages" app="cms" params="'col3', $widgets, 'vertical'"}
		</div>
	</div>
</div>

This will put the widget containers in the order of 3 column, 2 column, single, 2 column, 3 column. It'll also have a single column above and below the three columns, and a sidebar.

Link to comment
Share on other sites

3 hours ago, AlexWright said:

You can technically already do this by building your own template. Let's take a look:

Single Column Widgets:

...

Two Column Widgets:

...

Three Column Widgets:

...

So the way to build what you're suggesting would be something along the lines of (Untested, mind you):

This will put the widget containers in the order of 3 column, 2 column, single, 2 column, 3 column. It'll also have a single column above and below the three columns, and a sidebar.

Well that worked. I'm new to IPS but I was able to bumble my way around the template area of the ACP and install your code. Worked for me. Thank you..

Link to comment
Share on other sites

4 hours ago, mightypilot said:

Well that worked. I'm new to IPS but I was able to bumble my way around the template area of the ACP and install your code. Worked for me. Thank you..

Thanks! Like I said it was untested. Glad it works!

1 hour ago, liquidfractal said:

I believe the 4.4 leak thread mentioned something about a significant evolution to the Pages app.  Maybe it's something along these lines?

PS Thanks Alex - nice new template!

No worries! Have had to edit a few templates myself. This was just from my bumbling along in Pages.

Link to comment
Share on other sites

Great it works for everyone, except for me ? Because I don't know where to input this code...

If I want to enhance the look of apps like IP.downloads or iAwards or..., so how and where do I insert the code to show a 3 columns row below the regular bottom widget container?

Or is this just code, that I could put into IP.pages?

Link to comment
Share on other sites

Just now, Cyboman said:

Great it works for everyone, except for me ? Because I don't know where to input this code...

If I want to enhance the look of apps like IP.downloads or iAwards or..., so how and where do I insert the code to show a 3 columns row below the regular bottom widget container?

Or is this just code, that I could put into IP.pages?

  1. Go to AdminCP > Pages > click Templates under Page Management
  2. Click the New button, then select Page Template. Put it in whatever group you want (I recommend Page Builder) and name it appropriately, e.g. "multicolumn"
  3. copy/paste the above code into the window and click Save
  4. You'r;e done!  When you make a new page your new template will show up in the Template options for that page.  Select your new template and you can see the new column box layout! ?
Link to comment
Share on other sites

I made this, thanks for the explanation.

But regarding this problem: ->

How can I insert these widget container grids on different IP.apps pages like on the forums index page, downloads index page aso?

Can I also edit the mentioned templates via the ACP somehow or do I have to edit the apps templates via FTP then?

And most important, should I edit the forum.index template or better stay away from this idea?

Link to comment
Share on other sites

6 minutes ago, Cyboman said:

I made this, thanks for the explanation.

But regarding this problem: ->

How can I insert these widget container grids on different IP.apps pages like on the forums index page, downloads index page aso?

Can I also edit the mentioned templates via the ACP somehow or do I have to edit the apps templates via FTP then?

And most important, should I edit the forum.index template or better stay away from this idea?

Well, I'm not an expert on templates by any means.  You could make your own pages with this template and insert feeds, but of course you'd have to reroute URLs and all that.  Not the most optimal route I guess.

You can edit any template your site uses via the adminCP.  I'm not sure what the default Forums/Downloads templates are; you'd need to ask someone with more templates experience (like @opentype).  My first instinct is not to mess with the core templates unless you really know what you're doing (or be sure to back everything up!).

Link to comment
Share on other sites

  • 2 weeks later...
On 7/1/2018 at 4:45 AM, Cyboman said:

How can I insert these widget container grids on different IP.apps pages like on the forums index page, downloads index page aso?

similarly, I am looking for this solution, but any use of widgetContainer with different id than header, footer and sidebar makes error: "Couldn't save block positions" when trying to put any widget on the custom area

ss2.thumb.png.f9bb95b5991b1fe10566e78be7770ce3.png

It is a pity that can't set own widgets area, like in the cms :unsure:

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...