Formating Category levels in different font styles

5 posts by 2 authors in: Forums > CMS Builder
Last Post: November 8, 2010   (RSS)

Re: [zick] Formating Category levels in different font styles

By Jason - November 5, 2010

Hi Zick,

I took a look at your code and noticed a couple of things. First, to use the categoryFormat option, you need to use the getCategories function, not getRecords. Also, you can't use header tags on <option>'s, however, you can set the style attribute.

If you use getCategories function, you get a field called depth, which tells you what level that record is on: 0 is top level, 1 is 2nd level, etc.

Try this:
First get your records like this:
// load records
list($list_of_servicesRecords, $list_of_servicesMetaData) = getCategories(array(
'tableName' => 'list_of_services',
));


Next output your select options like this:

<select name="categories">
<?php foreach ($list_of_servicesRecords as $record): ?>
<?php if($record['depth']==0): ?>
<option value="<?php echo $record['name'];?>" style="font-size:20;font-weight:bold;"><?php echo $record['name'];?></option>
<?php elseif($record['depth']==1): ?>
<option value="<?php echo $record['name'];?>" style="font-size:15;font-weight:bold;"><?php echo $record['name'];?></option>
<?php else: ?>
<option value="<?php echo $record['name'];?>"><?php echo $record['name'];?></option>
<?php endif ?>
<?php endforeach ?>
</select>


This will make top level categories font-size 20 and bold, second level categories font-size 15 and bold, and everything else regular.

Hope this helps.
---------------------------------------------------
Jason Sauchuk - Project Manager
interactivetools.com

Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/

Re: [Jason] Formating Category levels in different font styles

By Mikey - November 5, 2010 - edited: November 5, 2010

Hey Jason, this works great! Thanks a ton for the solution.

So now I'm trying to wrap the <?php if and else with links that are generated using a text field called "web_link". Here are details on what I'm trying to achieve. This code is going to be used on a category list page for listing permits, licenses, fees involved for each listing. Some of the parent and sibling categories need links to other websites and/or documents that can be downloaded. Other parent and sibling categories do not get links at all... there's only a price associated with the listing.

The purpose of the "web_link" text field (as seen in the attached snap shot: cms-category-section.jpg) is to allow the client the ability to apply a link to a parent or sibling category if one is needed, otherwise no link is provided and no link appears on the page.

However with the code that I have shown below if no link is provided in the "web_link" text field, there is still a link that goes to the same page the list is on... it links to its self. I need to make the links appear on the site page if the link exist in the "web_link" text field, otherwise no link appears on the site page. I've provided a snap shot (categories-with-links.jpg) of the site page so you can see what I'm talking about. Some parent and siblings have links (colored yellow), others should not have link (colord pink)... but still do with the code below.

You may notice in the snap shot the last parent category is named with sibling... it's a typo and should have been named "Marriage transcripts - parent with link".

PS: the Horizontal Line check box is to allow me to separate the categories with a <hr/> ... just in case you're wonder what it does.

Any suggestions how I can make this work? I hope I explained this well.
Thanks for any light you can shed on this,
Zick

// load records
list($list_of_servicesRecords, $list_of_servicesMetaData) = getCategories(array(
'tableName' => 'list_of_services',
));
?>




<div id="page-content">
<?php foreach ($list_of_servicesRecords as $record): ?>
<?php echo $record['line'] ?>
<div id="list-services">

<?php if($record['depth']==0): ?>
<span class="servicesParent"><a href="<?php echo $record['web_link'];?>" target="_blank"><?php echo $record['name'];?></a></span>

<?php elseif($record['depth']==1): ?>
<span class="servicesSibling"><a href="<?php echo $record['web_link'];?>" target="_blank"><?php echo $record['name'];?></a></span>

<?php else: ?>
<span class="servicesSibling"><?php echo $record['name'];?></span>
<?php endif ?>

<span class="Resident"><?php echo $record['resident_fee'] ?></span>
<!-- /list-services --></div>

<span class="NonResident"><?php echo $record['non_resident_fee'] ?></span><br />
<div id="list-content"><span class="servicesContent"><?php echo $record['content'] ?></span>
<!-- /list-content --></div>

<?php endforeach ?>
<!-- /page-content --></div>

Re: [zick] Formating Category levels in different font styles

By Jason - November 8, 2010 - edited: November 8, 2010

Hi Zick,

You need to do a check inside your <?php if ?> to check if there is a value inside web_link.

It would look like this:

<div id="page-content">
<?php foreach ($list_of_servicesRecords as $record): ?>
<?php echo $record['line'] ?>
<div id="list-services">

<?php if($record['depth']==0): ?>
<span class="servicesParent">
<?php if($record['web_link']):?> <a href="<?php echo $record['web_link'];?>" target="_blank"><?php endif ?>
<?php echo $record['name'];?>
<?php if($record['web_link']):?></a><?php endif ?>
</span>

<?php elseif($record['depth']==1): ?>
<span class="servicesSibling">
<?php if($record['web_link']):?><a href="<?php echo $record['web_link'];?>" target="_blank"><?php endif ?>
<?php echo $record['name'];?>
<?php if($record['web_link']):?> </a><?php endif ?>
</span>

<?php else: ?>
<span class="servicesSibling"><?php echo $record['name'];?></span>
<?php endif ?>

<span class="Resident"><?php echo $record['resident_fee'] ?></span>
<!-- /list-services --></div>

<span class="NonResident"><?php echo $record['non_resident_fee'] ?></span><br />
<div id="list-content"><span class="servicesContent"><?php echo $record['content'] ?></span>
<!-- /list-content --></div>

<?php endforeach ?>
<!-- /page-content --></div>


Hope this helps.
---------------------------------------------------
Jason Sauchuk - Project Manager
interactivetools.com

Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/

Re: [Jason] Formating Category levels in different font styles

By Mikey - November 8, 2010

Awesome!
Works like a charm.
Thanks Jason!!!!