Comment Notifications



3rd Party (Commercial)
Current Version: 1.1.1

License Agreement

Buy Now!


EE Version Support

  • ExpressionEngine 1.x


If an item is crossed out, it might be untested, not applicable or incompatible. Contact the developer to be sure.

  • Updater
  • Multi Site Manager
  • Stand Alone Entry Form
  • Low Variables
  • Content Elements
  • Better Workflow
  • Matrix
  • Grid
  • Webservice
  • Publisher


  • jQuery for the Control Panel

Add-On Type(s)



In expressionEngine you can send email notifications informing about comment being posted. Default implementation isn't very flexible: email can show wrong comment URL and to control who will receive notifications you might need to enter manually a list of emails. The purpose of this extension is fix these aspects of the default implementation of comment notifications. Using this extension you will gain full control to whom comment notifications will be sent and will be able to very flexibly form comment URLs which will be displayed inside email messages.

You will be able to send comment notification:

1) to entry author;

2) to site admin;

3) to members of chosen mailing lists;

4) to members of chosen member groups;

5) to lists of emails defined in extension’s preferences

6) to those commenters who checked “notify me” checkbox in comment form.

This add-on will use email templates (not to be confused with URL templates) which can be found by going
Control Panel > Admin > Specialty Templates > Email Notification Templates.


1) Unzip downloaded files.

2) Copy contents of “extensions” directory into system/extensions directory on the server.

3) Copy contents of “language/english” directory into system/language/english directory on the server.

4) Go Control Panel > Admin > Utilities > Extensions Manager, find extension “Comment Notifications”
in the list and click “Enable”.

5) Go Control Panel > Admin > Utilities > Extensions Manager, find extension “Comment Notifications”
in the list and click “Settings”. There you will find two forms: “Weblog options” and “URL templates”.
Use the first form to specify which email addresses comment notifications will be sent to. Use the second form
to define URL templates which will be used to form comment URLs. Below is description of the variables which
can be used inside comment URL templates.


1) {comment_id}
2) {site_id}
3) {site_url}
4) {site_index}
5) {homepage}
6) {weblog_id}
7) {weblog_short_name}
8) {weblog_url} - weblog URL as defined in weblog preferences
9) {entry_id}
10) {url_title}
11) {categories_number}
12) {category_levels_number}

Templates support huge number of variables of the types outlined below (level0 is the highest level
of categories, level1 is the level of subcategories of highest level, etc.; category0 is the first
category of certain level, category1 is the second category, etc.):

13) {level0_category0_cat_id}, {level0_category1_cat_id}, {level0_category2_cat_id} ...
{level1_category0_cat_id}, {level1_category1_cat_id}, {level1_category2_cat_id} ...

14) {level0_category0_parent_id}, {level0_category1_parent_id}, {level0_category2_parent_id} ...
{level1_category0_parent_id}, {level1_category1_parent_id}, {level1_category2_parent_id} ...

15) {level0_category0_group_id}, {level0_category1_group_id}, {level0_category2_group_id} ...
{level1_category0_group_id}, {level1_category1_group_id}, {level1_category2_group_id} ...

16) {level0_category0_cat_url_title}, {level0_category1_cat_url_title}, {level0_category2_cat_url_title} ...
{level1_category0_cat_url_title}, {level1_category1_cat_url_title}, {level1_category2_cat_url_title} ...

17) {level0_category0_subcats_number}, {level0_category1_subcats_number}, {level0_category2_subcats_number} ...
{level1_category0_subcats_number}, {level1_category1_subcats_number}, {level1_category2_subcats_number} ...


1) {single_field} variable can have following prarameters:

1) field
2) entry_id
3) weblog
4) url_title
5) category - category id
6) sort - “asc” or “desc”
7) format - field format (e.g. “none”, “raw”)

This variable can be used to output the vavue of some custom field. Parameters do not support
pipe character and “not”.

2) {entries_number} variable can have following prarameters:

1) weblog
2) category
3) url_title
4) status
5) entry_id
6) show_expired

This variable can be used to output number of entries posted into certain weblog or category.
Parameters do not support pipe character and “not”.

3) {php} variable which can have following parameters:

1) string - string to be run through PHP function
2) function - PHP function name
3) par1 - first argument of PHP function
4) par2 - second argument of PHP function
5) par3 - third argument of PHP function
6) par4 - fourth argument of PHP function
7) par5 - fifth argument of PHP function

Names of PHP functions which can be used as values of “function” parameter are:

addcslashes, bin2hex, chop, chr, chunk_split, convert_cyr_string, convert_uudecode,
convert_uuencode, count_chars, crc32, crypt, echo, explode, get_html_translation_table,
hebrev, hebrevc, html_entity_decode, htmlentities, htmlspecialchars_decode, htmlspecialchars,
join, levenshtein, localeconv, ltrim, md5_file, md5, metaphone, money_format, nl_langinfo,
nl2br, number_format, ord, parse_str, print, printf, quoted_printable_decode, quotemeta,
rtrim, setlocale, sha1_file, sha1, similar_text, soundex, sprintf, sscanf, str_ireplace,
str_pad, str_repeat, str_replace, str_rot13, str_shuffle, str_split, str_word_count,
strcasecmp, strchr, strcmp, strcoll, strcspn, strip_tags, stripcslashes, stripos,
stripslashes, stristr, strlen, strnatcasecmp, strnatcmp, strncasecmp, strncmp, strpbrk,
strpos, strrchr, strrev, strripos, strrpos, strspn, strstr, strtok, strtolower, strtoupper,
strtr, substr_compare, substr_count, substr_replace, substr, trim, ucfirst, ucwords, vfprintf,
vprintf, vsprintf, wordwrap.

Also the value of “function” parameter can be “parseint”; it is custom PHP function
which behaves as Javascript “parseInt” function.

Single variables having parameters are parsed after single variables
which do not have parameters; that means that you can use single variables
without parameters as the values of parameters.

Both simple and advanced conditionals are supported inside comment URL templates.


Here is comment URL template for comments posted into one of my weblogs:


Here is more complicated comment URL template:


And here is even more complicated comment URL template:

{homepage}/ebook/text/{level0_category0_cat_url_title}{if level1_category0_cat_id}-
{level1_category0_cat_url_title}{/if}/{if "{category_levels_number}" > 1 AND 
"{entries_number weblog="ebook_work" category="{level1_category0_cat_id}"}" > 1}{url_title}/{/if}
{if "{category_levels_number}" == 1 AND "{entries_number weblog="ebook_work" 
category="{level0_category0_cat_id}"}" > 1}{url_title}/{/if}comment_{comment_id}/

Hooks Used

If the add-on is an extension, and ties into ExpressionEngine's core files, it will use ExpressionEngine hooks. We are listing any hooks the add-on uses for developers to have an easier time locating other add-ons that they can reference for their own work.

  1. insert_comment_insert_array
  2. insert_comment_end
  3. show_full_control_panel_end

This entry was created October 7, 2010, 2:01 pm.
This entry was last updated August 27, 2011, 1:19 am.

Disclaimer: Information about ExpressionEngine add-ons is provided as a service to you, the user, and every member of the ExpressionEngine community. devot:ee is not responsible if you hose, mangle, wreck, or otherwise destroy your EE website by installing an add-on that you found out about at this site, regardless of its rating, Favorites status, commercial or free status, or general popularity. Caveat EEmptor!

Returns: devot:ee has a 30-day return policy on all commercial add-ons sold through If you need to return an add-on, do not go to the developer or the developer's site, but rather visit our returns page at to initiate your return. If you have questions, email

There are no reviews for this add-on yet.

What are you waiting for? Rate it and review it!