default userpic

Category Monthly Archives is dying before it displays all the months by checking article type in the MTEntries loop

Vote 0 Votes

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

2 Replies

| Add a Reply
  • 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

Add a Reply

If you need to share template code, replace all the "<" signs with "&lt;" or use this utility.

Forum Groups

1773 6162

Last Topic: Excluding categories from blog by kholechek on Feb 9, 2012

86 302

Last Topic: website entries by masoud on Oct 26, 2011

1429 5077

Last Topic: What apocalypse hit this community in the middle of 2011? by 75th on Feb 10, 2012

695 2910

Last Topic: Insert Image / File Fails by Russ Miller on Feb 10, 2012

84 291

Last Topic: How to have some other characters in entry basename automatically written by Afshin Haghighatnia on Dec 22, 2011

173 737

Last Topic: About the MT version stated in HTML source by Alex E. Schneider on Feb 7, 2012

190 567

Last Topic: Analytics Reporting by michael webster on Feb 5, 2012

48 210

Last Topic: An idea and also a request by Afshin Haghighatnia on Jun 29, 2011

64 246

Last Topic: jQuery in MT 5.1 still at 1.4 - why? by perlmonkey on May 25, 2011

code.sixapart.com

137 478

Last Topic: Getting a thumbnail with xpath by Peter on Mar 13, 2011

222 720

Last Topic: Custom Field for Asset Not Appearing by android on Feb 9, 2012