News Manager 3.3 - what's new

Changelog for this version:

Back-end (admin) improvements:

  • Warning about unsaved changes in backend (edit post, settings). It can be disabled
  • Backend prev/next numbered pagination in posts list (@xxdex)
  • Optional backend "News" tab (instead of being under the Pages tab) (@serjoscha87, @Tyblitz, @TeeJay, @davetest)
  • Multi User plugin support: restrict access to NM settings
  • Multi User custom landing page (@davetest)
  • Backend strings can also be customized in gsconfig
  • Improved ckeditor support (toolbar, options) (@stwneu)

Front-end functions and settings:

  • Improvements in sidebar functions (show post count, active class, ...) (@GPB61)
  • Support for archives by tag (@arseny89)
  • New custom setting to limit number of posts in tag view (@D.O., @lnickel)
  • New option to make thumbnails link to full-size image (@dvawolk)
  • New custom setting: custom class for post image links (@Oleg06)
  • New template tag/function to display single post's date (@singha-cz)
  • Custom month names and alternative month names (e.g. for nominative/genitive cases)

Changes and fixes

  • All error pages (non-existent tag or post, invalid archive or wrong page number) now return a 404 code.
  • News pages for non-existent tag and invalid archives now display a "No posts have been found." message (NO_POSTS), just like the main news page. (@DmitriyT)
  • Empty values were ignored in custom frontend strings - fixed.


  • New German translation (Thanks @Markus00000 and @Connie)
  • Hungarian translation completed (Thanks @szrudi)
  • Russian translation includes custom month names (genitive and nominative)

Back-end (admin)

Warning about unsaved changes

Both in edit_post and edit_settings pages, if you have made any changes and try to leave the page by going back or clicking on any link, an alert will be displayed.

With the new NMWARNUNSAVED gsconfig setting you can disable this warning:
define('NMWARNUNSAVED', false);

Admin/backend (post list) pagination

This is especially useful if you have a lot of posts.

  • Previous/Next links and numbered navigation
  • "show all" link
  • posts per page: default 15, customizable via gsconfig.php: define('NMPAGINATION', 25); or set it to 0 or false to disable pagination
  • basic, unstyled for now

It looks like this:

< 1 2 3 4 >
15 / 57 post(s)

News admin tab

Optional top admin "News" tab in backend, instead of a sidebar link under the Pages tab . Note: this only works with GetSimple 3.1 or later.

  • Enable with gsconfig define('NMTAB', true);
    If it's enabled and the Multi User (user-managment) plugin is installed, you can select "News Manager" as custom landing page.
  • Added "NEWS_TAB" string to language file for the admin tab label. Can be redefined with $nm_i18n['NEWS_TAB'] = "My News Tab"; in gsconfig.

Restrict access to NM settings

If the MultiUser (user-managment) plugin is installed, you'll see a new permission checkbox that allows hiding and blocking access to the News Manager Settings page.

Redefinable language strings for backend

You can now customize any of the plugin texts, not only for the frontend but also for the backend, without needing to edit language files. You can do this by assigning values to the $nm_i18n array in gsconfig.php, like this:

$nm_i18n['NEW_POST'] = "Add post";

(instead of "Create New Post")

Improved CKEditor support

  • allow overriding CKeditor default config values via GSEDITOROPTIONS (like GS since 3.2.2, I believe)
  • support for CKeditor custom toolbar id/name, like GS since 3.2.2: GSEDITORTOOL supports custom toolbar ids, not only "basic", "advanced" or custom js array.

Front-end (website) functions and settings

nm_tag_list() new options

classcurrent: specify the class you want to have in the current tag. Example:

nm_tag_list(array( 'classcurrent' => 'active' ));

showcount: display the number of posts for each tag. Example:

nm_tag_list(array( 'showcount' => 1 ));

You can combine both:

nm_tag_list(array( 'classcurrent' => 'active', 'showcount' => 1 ));

nm_list_archives() new options

showcount: display the number of posts for each month/year archive. Example:

nm_list_archives(array( 'showcount' => 1 ));

dateformat: lets you use your custom date format for the archive list. Example:

nm_list_archives(array( 'dateformat' => '%m.%Y' ));

Can be combined too. See also tag parameter to filter buytag.

Archives by tag (current or other)

You can now display archives (monthly/yearly) of posts having some tag. First, enable this with custom setting tagArchives d (dynamic, default) or tagArchives f (fancy, folder) For fancy option, a new rewriterule in htaccess is required. Usage: Listing archives in sidebar/template:

  • For a given tag: nm_list_archives(array( 'tag'=>'The Tag' ));
  • For the current tag (if in a tag page): nm_list_tag_archives(); (Both functions also accept array parameters 'showcount', 'dateformat', ...)

Maximum posts in tag view

new custom setting maxPosts to limit the number of posts displayed on tag pages. Usage:

tag maxPosts 5

Or, if using nm_show_tag in template or component:

nm_set_option('maxposts', 5);

Note: the custom setting is ignored in tag pages if tagPagination is enabled

Make post images/thubnails link to original (full-size) images

Custom setting imageLink now supports a 'full' parameter:

imageLink full

or if you want to enable this only for the single post view:

single imageLink full

Custom class for post image links

New custom setting classPostImageLink allows specifying a class for post images/thumbnails' links

New template tag to display the single post date

Function nm_post_date() It can be used in the single post view. (@singha-cz)
Optional parameters: date format (strftime, default as defined in the language file) and echo (default true)

Current post date: <?php nm_post_date(); ?>
With a different format: <?php nm_post_date('%Y-%m-%d'); ?>

Custom/alternative month names

  • Custom month list (MONTHLIST language string, comma-separated month names) for strftime parameter %B, to override your server's month names
  • Alternative month list (MONTHLIST_ALT language string, comma-separated month names), supported by (non-standard) parameter %EB - it can be used for genitive month names.

Example for Russian months (nominative, genitive), with NM custom settings:

MONTHLIST Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь
MONTHLIST_ALT января,февраля,марта,апреля,мая,июня,июля,августа,сентября,октября,ноября,декабря

or in the language file:

"DATE_FORMAT"         =>  "%e %EB %Y",
"MONTHLIST"           =>  "Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь",
"MONTHLIST_ALT"       =>  "января,февраля,марта,апреля,мая,июня,июля,августа,сентября,октября,ноября,декабря",

Changes since 3.2

  • All error pages (non-existent tag or post, invalid archive or wrong page number) now return a 404 code.
  • News pages for non-existent tag and invalid archives now display a "No posts have been found." message (NO_POSTS), just like the main news page. (@DmitriyT)


New German translation

New updated German translation by @Markus00000 (Thanks also to @Connie for maintaining the original version).

Note when upgrading German language sites: There are some slight changes in front-end texts.

Completed Hungarian translation

Now it's 100% translated. Thanks to @szrudi

Month names in Russian translation

Russian language file includes custom month names (genitive and nominative) and updated date format with correct full month name.