Hiding an issue from the Archives page without creating a static page

I would like to hide an issue from the Archives page without creating a static page. I already tried to do it with pseudo classes, but I managed to hide each issue from the first row of each page, and I want just the first one of all the issues. Any suggestion?
Thank you

I presume you do not want the Current Issue to display in the Issue Archive list. Is that correct?

If so, this could be done by modifying the PHP or Smarty template code. Do you have familiarity in working with code changes?

I have some familiarity. I don’t want precisely the current issue, but if it is the easiest, then so be it.

You have two basic options:

  1. Modify the query in PHP so that it returns only the issues you want
  2. Modify the output in Smarty so that you can hide the issues you want in CSS

In 3.1.2, the issue/archive handler fetches issues here:

This ultimately comes from the IssueListQueryBuilder call here:

In the IssueHandler, you could add an existing filter for something like Number or Year to be passed along here, but this probably doesn’t cover what you want.

There are only a few filters currently available, but you could add new filters keyed on other attributes of the issue, if the filter you want is not available. This would be done here:

A new filter could be as specific as filterByExcludedNumber(), ultimately modifying the SQL here:

This would allow you to exclude an issue from being rendered at all, but is a pretty heavy code change.

If you are OK just hiding the issue from display in CSS, you could just modify the template to add a unique id or class to each issue.

The archive template iterates the issues here:

The issue_summary template could illustrate how to add a new id or class to the div.object_issue_summary with the $issue->getBestIssueId().


<div class="obj_issue_summary obj_issue_summary-{$issue->getBestIssueId()|escape}">

You could then hide issue 101 with div.obj_issue_summary_101 { display: none; }.

Note that this would then display only n - 1 items when paginating n items, for that containing page.