Sub-categories Tutorial

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

By Jason - July 26, 2010

Hi,

I'd need to be able to see the code in articulos-details.php

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/

Re: [Jason] Sub-categories Tutorial

By svsanchez - July 26, 2010

Hi Jason, here's the code:

<?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>$articlesRecord['title'] - Casa Hermes Guatemala</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?es 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 if($category['_isSelectedBranch']|| @$_REQUEST['category']==$category['num']){echo "<b>"; $selectedCat=$category['num'];} ?> <a href="articulos.php?category=<?php echo $category['num']?>"><?php echo $category['name']; ?></a> <?php if($category['_isSelectedBranch']|| @$_REQUEST['category']==$category['num']){echo "</b>";} ?> <?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="articulos.php?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 $articlesRecord['title'] ?></font></b><font face="Arial" size="2" color="#666666"><br/>
<?php echo $articlesRecord['content'] ?><br/>
_link : <a href="../<?php echo $record['_link'] ?>"><?php echo $articlesRecord['_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

By Jason - July 27, 2010

Hi,

You need to change your code that outputs your sub categories like this (I've highlighted the changes in red):

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


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 27, 2010

Hello, I did the change but it didn't work, I still have the subcategories in the details page shown in normal text instead of Bold: in the following link the subcategory "Fibrocemento" should appear in Bold but it's not!

http://www.casahermes.com/articulos-details.php?Ej-techos-fibrocemento-1
Sven Sanchez

www.deguate.com

Re: [Jason] Sub-categories Tutorial

By svsanchez - July 28, 2010

Hello Jason, the category in this example was #4. Here's the code:

<?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>$articlesRecord['title'] - Casa Hermes Guatemala</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?es 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 if($category['_isSelectedBranch']|| @$_REQUEST['category']==$category['num']){echo "<b>"; $selectedCat=$category['num'];} ?> <a href="articulos.php?category=<?php echo $category['num']?>"><?php echo $category['name']; ?></a> <?php if($category['_isSelectedBranch']|| @$_REQUEST['category']==$category['num']){echo "</b>";} ?> <?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']; ?>--> <?php if($category['num']==@$_REQUEST['category']){echo "<b>";} ?> <a href="articulos.php?category=<?php echo $category['num']?>"> <?php echo $category['name']; ?> </a> <?php if($category['num']==@$_REQUEST['category']){echo "</b>";} ?> <!--<?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 $articlesRecord['title'] ?></font></b><font face="Arial" size="2" color="#666666"><br/>
<?php echo $articlesRecord['content'] ?><br/>
_link : <a href="../<?php echo $record['_link'] ?>"><?php echo $articlesRecord['_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

By Jason - July 28, 2010

Hi,

Try changing the code that outputs your sub categories to this:


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


Give that a try.
---------------------------------------------------
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 28, 2010

Hello Jason, I used the code you just sent me but this now I am getting the following error:

Notice: Undefined variable: aboutRecord in /home/casahem/public_html/articulos-details.php on line 99 [url "http://www.casahermes.com/articulos.php?category=4"]Fibrocemento [/#800080][/url]Notice: Undefined variable: aboutRecord in /home/casahem/public_html/articulos-details.php on line 99

Notice: Undefined variable: aboutRecord in /home/casahem/public_html/articulos-details.php on line 99 [url "http://www.casahermes.com/articulos.php?category=5"]Metálicos [/#800080][/url]Notice: Undefined variable: aboutRecord in /home/casahem/public_html/articulos-details.php on line 99

Notice: Undefined variable: aboutRecord in /home/casahem/public_html/articulos-details.php on line 99 [url "http://www.casahermes.com/articulos.php?category=6"]Plásticos [/#800080][/url]Notice: Undefined variable: aboutRecord in /home/casahem/public_html/articulos-details.php on line 99
Sven Sanchez

www.deguate.com

By Jason - July 29, 2010

Hi,

Ooops, typo. replace $aboutRecord with $articlesRecord. That should take care of the problem.

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/

Re: [Jason] Sub-categories Tutorial

By svsanchez - July 29, 2010

Yes! That did it! But now we have a new and strange problem!

Example:

Go to http://www.casahermes.com/articulos.php?category=6 and you will see 2 different products on that page, with the Main section and subsection both in bold, which is exactly as we need it. Now if you click on any of those 2 products, you will get the information on that product, but:

a) If you select the first product (Plastitechos) the main section menu now shows the "Impermeabilizantes" option in Bold (instead of "Techos") and no sub-section menu.

b) If you select the second product (Ej techos plásticos 2) the main section menu now shows the "Tabicaciones y muros secos" option in Bold (instead of "Techos") and no sub-section menu.

What could be wrong?
Sven Sanchez

www.deguate.com