|v.2.0.0, (0.03Mb) last changed:
February 11, 2011. What's New, For Developers
Download yvSmiley: JoomlaCode, local file (unzip before install).
yvSmiley is a Smiley (Emoticon) extension for Joomla! 1.6
For "Joomla! 1.5" please download yvSmileyPlugin v.1. package, the latest one is v.1.03.001.
It may show smileys in your Articles (working as content plugin), on the whole page (so, you will have smileys everywhere), or it may be used by any Joomla! extension (as an example, it is integrated into my yvComment extension already).
yvSmiley ships with two ready to use "Smiley sets" (from TinyMCE and phpBB), that you may customize, and it also supports aMSN (Alvaro's Messenger) skins, so you may choose from many existing "Smiley sets", that are part of these skins, and use them without any modification (download the skins from http://www.amsn-project.net/skins.php).
yvSmiley is written from scratch specifically for Joomla! 1.5, and it is not compatible with previous versions of Joomla!/Mambo. So it is free to use most advanced features of Joomla! 1.5.
...Smileys are means of nonverbal online communication .
1. To install yvSmiley, you MUST have at least Joomla! 1.5 build
8688 (RC2 dated 2007-08-31) or newer (see the tip). yvSmiley is
a "system plugin".
2. yvSmiley distribution package contains English language files only. If you need additional language(s), download yvSmileyLanguagePacks from JoomlaCode and install. (yvSmileyLanguagePacks do not need to be enabled!)
In a case of any problem, please refer to the Troubleshooting section below.
"Smiley set" is a group of smileys (images, e.g. ), their codes (e.g. ;-) ) and their descriptions (e.g. "Wink"). More, than one code may have the same smiley (e.g. ;-) and ;) ). But when yvSmiley lists all smileys (presents clickable table of smileys), it shows only first code for each smiley.
"Smiley sets" are stored in text files, so it is very easy to customize them and exchange them. Of cause, "Smiley set" file doesn't contain smileys themselfs: it contains URLs (file names) of smiley images.
yvSmiley supports two formats of 'Smiley set' file:
";)";SMILEYS_WINK;/plugins/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-wink.gif- as you may see, there is SMILEYS_WINK 'language constant' in this line, so description of the smiley may be translated (localized).
All configuration setting of this extension are set in "yvSmiley Plugin parameters" (Administrator interface->Extensions->gin Manager->yvsmiley).
You have four main options to select your "Smiley set", that you select from "'Smiley set' file (and format)" list:
two predefined sets:
and two options for custom Smiley sets:
For the last two options you have to fill 'Path to the Custom 'Smiley set' file' parameter, typing path, relative from the site root (starting with '/') or full path. It is recommended (or in the case of to 'aMSN skin format' required) to use relative path, so URLs of images, stored in the 'Smiley set' file, may be relative also.
E.g. you may test 'Custom "Smiley set" file in CSV format' option, typing this 'custom' path:
Of cause, you may create your own folder for smileys, e.g. '/templates/smileys/' and put your custom 'Smiley set' files there.
As an example:
And I have this Smiley set:
yvSmiley may show smileys in your Articles (working as content plugin). This option ('Enable Smileys for the text of Articles') is disabled by default, but you may decide to enable it (change to 'Yes').
You may restrict work of this plugin for Articles, that belong to only some Sections. To do this, type comma (,) separated list of IDs of Sections in the "SectionIDs of Articles" parameter. Leave the field blank to allow replacement of smiley codes with smileys (images) for Articles of any Section.
Additional parameter: "Exclude Sections, selected above (No - include)" helps you to make this list shorter. If you don't want to have Smileys for only a small number of Sections: set this parameter to "Yes" (i.e. "exclude"), and type (in the "SectionIDs of Articles" parameter) only IDs of Sections to be excluded.
See, as an example, how yvSmiley changes articles, when aMSN
default skin is used:
- as you may see, yvSmiley changed this Article just like it changed comments on the examples above.
So, there is a reason to 'Enable Smileys for the text of Articles' at least for the Section, where Comments live .
yvSmiley can make Smiley replacements for the whole page
("Enable Smiley replacements for the whole page" option). Thanks to louis.landry for
By default, yvSmiley uses simple CSS file (/plugins/system/yvsmiley/default.css), that is intended to be used as a start point for customization. If you made your customized css in your template, your have to change setting of "Use default CSS file" parameter to "No".
Currently yvSmiley is translated into these languages: German, English, French, Polish, Russian, Turkish.
Your feedback is greatly appreciated!
yvSmiley is written from scratch specifically for Joomla! 1.5 and it is not compatible with previous versions of Joomla!/Mambo. So it is free to use most advanced features of Joomla! 1.5.
My intention is to build extension, that is as much "natural" to Joomla, and that uses as much built-in features, as possible.
To use yvSmiley, other extensions don't need to refer to it in any way: they just trigger events, that are intercepted by yvSmiley (if its installed and enabled). If yvSmiley is not installed or is disabled, this doesn't lead to any errors!
yvSmiley always registers itself for two events:
$Form = ''; $mainframe->triggerEvent('onSmiley_RenderForm', array('document.forms.yvCommentForm.fulltext', &$Form) ); echo $Form;
$fulltext = 'Some Text To Be Rendered :-)'; $mainframe->triggerEvent('onSmiley_RenderText', array (& $fulltext) ); echo $fulltext;
As you may see, it is VERY easy to use yvSmiley in other extensions.
You may see example of yvSmiley usage in the yvComment extension.
GPL. Freeware, i.e. at no cost. If you like this extension, please consider donating.
The Joomla! extension is distributed "as is", without any warranties explicit or implied.
(c) 2007-2009 Yuri Volkov, Moscow, Russia