Hi,
I am iterating through the category monthly archives and I am checking whether that particular month contains article of particular type by looping through MTEntries for that particular month and then I am displaying that month in the category monthly archives.
The problem is that the script dies after displaying few months. The page is not loading fully. I am using dynamic publishing for this template.
<mt:IfArchiveTypeEnabled archive_type="Category-Monthly">
<mt:ArchiveList archive_type="Category-Monthly">
<?php
$archiveTitle = $this->tag('MTArchiveTitle');
if(eregi("$name","$archiveTitle"))
{
?>
<MT:Entries field:article_type="Blog" lastn="1">
<li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$></a></li>
</MT:Entries>
<?php
}
?>
</mt:ArchiveList>
</mt:IfArchiveTypeEnabled>
$name is the category name we are passing in the query string
<?php
$name = $_GET['cat'];
?>
Also, I want to check for the passed category parameter through query string other than the method I am using above.
Any help is truly appreciated.
Thanks,
Sunil
Reported on Movable Type 4.2
Sunil, you could have a number of potential issues here.
First off, dynamic publishing has some inconsistencies with standard publishing - and you are not using anything specific to dynamic publishing. You might be better off just using a static publishing category archive here that includes the PHP code that you have (you will need to alter your usage of the MTArchiveTitle tag being assigned to $archiveTitle, however). This will be more efficient for your server as well.
Also keep in mind that you are only going to get archives listed when they have content. For instance, if you didn't have anything last month in the category, it won't show. So that could be another problem. It might be simpler to create a PHP array of months and add the category to it to create your array, and then create links to valid months by generating an array when you hit a match from the MT data that is "live". That way you will have a list of all items, but you can only link when you need one. You could also do this with MT too, by using an MTIf statement (perhaps a series of them). It all depends on what you are after.
Hi,
Thanks for the Reply...
I will try it today.
Thanks,
Sunil