Sub-categories Tutorial

134 posts by 17 authors in: Forums > CMS Builder
Last Post: August 7, 2012   (RSS)

By Chris - June 8, 2010

Hi svsanchez,

I'm getting a 500 server error at www.casahermes.com/techos.php
All the best,
Chris

Re: [chris] Sub-categories Tutorial

By svsanchez - June 8, 2010

Hello Chris, sorry for that, there was a spike on the load of the server but it is working now!
Sven Sanchez

www.deguate.com

By Jason - June 9, 2010

Hi,

I took a look at this, and I think I found our error. We were only displaying a second column when a top level category was selected. As soon as you select a category from the second column, there is no longer a top level category that is selected. We can get around this by changing the variable ['isSelected'] to ['isSelectedBranch']. So our code to display our top level will look like this: (NOTE: I've highlighted the changes in red)

<?php $selectedCat=""; ?>
<?php foreach($categoryRecords as $category):?>
<?php if(!$category['_hasParent']):?>
<?php echo $category['_listItemStart']; ?>
<?php if($category['_isSelectedBranch']){echo "<b>"; $selectedCat=$category['num'];} ?>
<a href="?category=<?php echo $category['num']?>"><?php echo $category['name']; ?></a>
<?php if($category['_isSelectedBranch']){echo "</b>";} ?>
<?php echo $category['_listItemEnd']; ?>
<?php endif ?>
<?php endforeach ?>


That should be all that's required to fix this. Give it a try and let me know.

Thanks.
---------------------------------------------------
Jason Sauchuk - Project Manager
interactivetools.com

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

By svsanchez - July 19, 2010

Hello Chris, how can I put in BOLD the selected SUB category in the code you sent me above?
Sven Sanchez

www.deguate.com

By Chris - July 19, 2010

Hi svsanchez,

Which code above are you referring to?
All the best,
Chris

Re: [chris] Sub-categories Tutorial

By svsanchez - July 19, 2010

Hello Chris I was referring to the one you previously posted:<?php $selectedCat=""; ?>
<?php foreach($categoryRecords as $category):?>
<?php if(!$category['_hasParent']):?>
<?php echo $category['_listItemStart']; ?>
<?php if($category['_isSelectedBranch']){echo "<b>"; $selectedCat=$category['num'];} ?>
<a href="?category=<?php echo $category['num']?>"><?php echo $category['name']; ?></a>
<?php if($category['_isSelectedBranch']){echo "</b>";} ?>
<?php echo $category['_listItemEnd']; ?>
<?php endif ?>
<?php endforeach ?>
Also regarding this code, it is not working on my single page display. Here's a link to both the list page and the single page:List page: www.casahermes.com/articulos.php (here it works)Details page: www.casahermes.com/articulos-details.php (here it doesn't work!)What do I have to change?
Sven Sanchez

www.deguate.com

By svsanchez - July 20, 2010

hello Chris, can you help me?
Sven Sanchez

www.deguate.com

By Jason - July 20, 2010

Hi,

There seems to be actual errors on your page for
http://www.casahermes.com/articulos-details.php

There are variables you are trying to use that you haven't initialized yet. If you can please attach this .php file, I can take a look at it for you.

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] Sub-categories Tutorial

By svsanchez - July 20, 2010

Hello Jason, thank you for replying, here's the code, please note that when accessing this page the second level of categories disappears and the first level links are wrong pointing to articulo-details.php instead of articulo.php!

<?php header('Content-type: text/html; charset=utf-8'); ?>
<?php


// load viewer library
$libraryPath = 'cmsAdmin/lib/viewer_functions.php';
$dirsToCheck = array('/home/casahem/public_html/','','../','../../','../../../');
foreach ($dirsToCheck as $dir) { if (@include_once("$dir$libraryPath")) { break; }}
if (!function_exists('getRecords')) { die("Couldn't load viewer library, check filepath in sourcecode."); }

// load records

list($categoryRecords, $selectedCategory) = getCategories(array( 'tableName' => 'categories', 'categoryFormat' => 'twolevel', ));
list($articlesRecords, $articlesMetaData) = getRecords(array(
'tableName' => 'articles',
));

list($articlesRecords, $articlesMetaData) = getRecords(array(
'tableName' => 'articles',
'where' => whereRecordNumberInUrl(1),
'limit' => '1',
));
$articlesRecord = @$articlesRecords[0]; // get first record

// show error message if no matching record is found
if (!$articlesRecord) {
header("HTTP/1.0 404 Not Found");
print "Record not found!";
exit;
}

?>


<html>

<head>
<meta http-equiv="Content-Language" content="es-gt">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Techos</title>
</head>

<body bgcolor="#333333" topmargin="0" leftmargin="0" link="#F64B00" vlink="#F64B00">

<table border="0" cellpadding="2" cellspacing="0" width="1000" id="table1" bgcolor="#FFFFFF">
<tr>
<td width="173">
<p align="center">
<img border="0" src="../images/index.1.jpg" width="150" height="149"></td>
<td>
<div align="center">
<table border="1" cellpadding="0" cellspacing="0" width="728" id="table5" height="90" bgcolor="#F64B00" bordercolor="#000080">
<tr>
<td>
<p align="center">BANNER 728x90</td>
</tr>
</table>
</div>
<p align="right"><b><font face="Tahoma" size="2" color="#000080">Inicio&nbsp;
|&nbsp; QuiƩnes Somos&nbsp;&nbsp; |&nbsp;&nbsp; Contacto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</font></b></td>
</tr>
</table>
<table border="0" cellpadding="5" cellspacing="0" width="1000" id="table3" bgcolor="#FFFFFF">
<tr>
<td width="175" valign="top" style="border-right: 1px dotted #808080">
<p>


<font face="Tahoma" size="2">


<?php $selectedCat=""; ?> <?php foreach($categoryRecords as $category):?> <?php if(!$category['_hasParent']):?> <!--<?php echo $category['_listItemStart']; ?>--> <?php if($category['_isSelectedBranch']){echo "<b>"; $selectedCat=$category['num'];} ?> <a href="?category=<?php echo $category['num']?>"><?php echo $category['name']; ?></a> <?php if($category['_isSelectedBranch']){echo "</b>";} ?> <!--<?php echo $category['_listItemEnd']; ?>--> <?php endif ?>
</font> <p> <font face="Tahoma" size="2"> <?php endforeach ?>



</font>



</p>
<p align="center"><b><font face="Tahoma" size="2" color="#666666">
--------------------------</font></b></p>
<form method="POST" action="--WEBBOT-SELF--" onSubmit="">
<!--webbot bot="SaveResults" U-File="../_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" startspan --><input TYPE="hidden" NAME="VTI-GROUP" VALUE="0"><!--webbot bot="SaveResults" i-checksum="43374" endspan -->
<p><b><font face="Tahoma" size="2" color="#808080">Buscar:</font><font face="Tahoma" size="2" color="#666666"><br>
</font></b><input type="text" name="T1" size="17">
<input type="submit" value="Ok" name="B1" style="font-family: Tahoma; font-size: 10pt; color: #FFFFFF; background-color: #01009E"></p>
</form>
</td>
<td width="175" valign="top">


<font face="Tahoma" size="2">


<?php if($selectedCat): ?> <?php foreach($categoryRecords as $category): ?> <?php if ($selectedCat==$category['parentNum']):?> <!--<?php echo $category['_listItemStart']; ?>--> <a href="?category=<?php echo $category['num']?>"> <?php echo $category['name']; ?> </a> <!--<?php echo $category['_listItemEnd']; ?>--> <?php endif ?> <p> <?php endforeach ?> <?php endif ?>


</font>


</td>
<td width="650" valign="top">



<font face="Arial" size="2"><font color="#666666">











</font></font><b>
<font face="Arial" size="4" color="#000080"> <?php echo $record['title'] ?></font></b><font face="Arial" size="2" color="#666666"><br/>
<?php echo $record['content'] ?><br/>
_link : <a href="../<?php echo $record['_link'] ?>"><?php echo $record['_link'] ?></a><br/>



<hr/>
<?php if (!$articlesRecord): ?>
No record found!<br/><br/>
<?php endif ?>
<!-- /STEP2: Display Records -->

<a href="<?php echo $articlesMetaData['_listPage']; ?>">&lt;&lt; Back to list page</a>
-
<a href="mailto:?subject=<?php echo thisPageUrl() ?>">Email this Page</a>






<font face="Arial" size="2">


</td>
</tr>
</table>
<table border="0" cellpadding="5" cellspacing="0" width="1000" id="table4">
<tr>
<td bgcolor="#666666">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#CCCCCC">&nbsp;</td>
</tr>
</table>

</body>

</html>
Sven Sanchez

www.deguate.com