Header Text for List Page
8 posts by 3 authors in: Forums > CMS Builder
Last Post: March 17, 2010 (RSS)
By soulint - March 16, 2010
Re: [soulint] Header Text for List Page
By gkornbluth - March 16, 2010
My usual approach is to create one single record editor with fields for all kinds of "generic" information.
You can combine the contents of any number of section editors on one viewer.
Here's an example of how to do that from my CMSB Cookbook http://www.thecmsbcookbook.com
DISPLAY INFORMATION FROM MORE THAN ONE SECTION IN A SINGLE VIEWER
Setting up a page to display information from multiple sections is pretty easy once you get the hang of it. But it can be somewhat confusing at first.
Here’s the approach for displaying information on a home page from information that’‘s in a single record editor called “homepage” and other information from a multi record editor called “listings”.
First you’ll need to set up the top of your page with getRecords calls to the two sections. (You can copy the actual code from the code generated in the admin area of the CMSB interface)
<?php
require_once "/your path/cmsAdmin/lib/viewer_functions.php";
list($homepageRecords, $homepageMetaData) = getRecords(array(
'tableName' => 'homepage',
'where' => whereRecordNumberInUrl(1),
'limit' => '1',
));
$homepageRecord = @$homepageRecords[0]; // get first record
list($yourlistingsRecords, $yourlistingsMetaData) = getRecords(array(
'tableName' => 'yourlistings',
));
?>
Then in the body where you want to display the home page information
<?php echo $homepageRecord['your_first_field'] ?><br/>
<?php echo $homepageRecord['your_secondt_field'] ?><br/>
<?php echo $homepageRecord['your_third_field'] ?>
and in the body where you want to display the listings records:
<?php foreach ($yourlistingsRecords as $record): ?>
<?php echo $record['your_first_field'] ?><br />
<?php echo $record['your_second_field'] ?><br />
<?php echo $record['your_third_field'] ?>
<?php endforeach; ?>
There’s no formatting in the above example, but it should get you started.
This concept can be expanded to display information pulled from any number of sections.
If you find you’re getting errors when you try to display items from a single record editor on multi record detail pages, you may need to remove the:
'where' => whereRecordNumberInUrl(1),
from the get records call so that you can display them.
There are situations where you may have to remove the:
'limit' => '1',
as well.
Hope that points you in the right direction.
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
Re: [gkornbluth] Header Text for List Page
By soulint - March 16, 2010
Scott
Re: [soulint] Header Text for List Page
By gkornbluth - March 16, 2010
Here's another excerpt from my CMSB Cookbook. You can also limit multi column or multi row groups.
LIMITING THE AMOUNT OF COLUMNS IN A SINGLE ROW IMAGE DISPLAY
Here’s a suggestion from Dave:
The CSS way is to have each image in a div that has something like: style="float: left; width: 200px". This will make them flow from left to right and wrap when they run out of space (you can put them inside a bigger fixed width container).
Or with a table you can have one table cell per image and insert a closing and opening TR every X images. Here's a code snippet that does that:
<?php $maxCols=2; if (@++$count % $maxCols == 0): ?></tr><tr><?php endif; ?>
Which is just a way of saying "Every 2 images insert "</tr><tr>"".
Here’s a single row example using the thumbnail2 image as a link to a detail page, separate Title and Subtitle fields, a hidden border for IE and a fixed height for the image cell so that everything lines up nicely.
<table width="100%" border="0" cellpadding="5">
<tr>
<?php foreach ($your_sectionRecords as $record): ?><?php foreach ($record['image'] as $upload): ?>
<td align=”center” height="350" valign="bottom">
<a href="<?php echo $record['_link'] ?>"><img src="<?php echo $upload['thumbUrlPath2'] ?>" width="<?php echo $upload['thumbWidth2'] ?>" height="<?php echo $upload['thumbHeight2'] ?>" alt="" style="border:hidden" /><br /><div align="center" class="medium-title"><?php echo $record['title'] ?></div>
<div align="center" class="medium-text"><?php echo $record['sub_title'] ?></div></a>
</td>
<?php $maxCols=2; if (@++$count % $maxCols == 0): ?></tr><tr><?php endif; ?>
<?php endforeach ?><?php endforeach ?>
</tr>
</table>
Similarly, if you’re not using images this code will output a </tr><tr> after every 2 <td>...your content...</td> lines:
<table border="1">
<tr>
<?PHP foreach ($yourrecords as $record): ?>
<td>
<?PHP echo $record['your_content'] ?><br/>
</td>
<?PHP $maxCols=2; if (@++$count % $maxCols == 0): ?></tr><tr><?PHP endif; ?>
<?PHP endforeach; ?>
</tr>
</table>
Use your own variable names instead of $yourrecord
Glad to help.
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
Re: [soulint] Header Text for List Page
By soulint - March 16, 2010
Re: [gkornbluth] Header Text for List Page
By soulint - March 16, 2010
Re: [soulint] Header Text for List Page
By gkornbluth - March 16, 2010 - edited: March 16, 2010
I use the common information to hold a whole host of things (metadata like keywords and descriptions, logos, special copyright notices, terms of service, etc.) so it works best for me.
Best,
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
Re: [gkornbluth] Header Text for List Page
By Chris - March 17, 2010
Is there any way to do this within the original editor instead of using 2 editors?
Combining a Single Record section and a Multi Record section (which are related to managing content on the same page) is on my own personal feature request list. :)
Chris