но есть пару НО
первое все изменения необходимо внести в основные исполняемые файлы, что решаемо и в общем при развитии системы шаблонов перспективно
второе придется скорее всего пожертвовать обилием смайлов, ограничившись стандартным набором смайлов (например таким как в аське, qip) и возможностью редактировать их в дальнейшем
вопрос конечно спорный, переносить ли библиотеки смайлов в папку с шаблонов тем самым связав их в единый комплекс...
как мне кажется в аське которй беспорно пользуются очень много пользователей есть необходимый и достаточный набор смайлов, при желании оригинального смайла можно использовать теги IMG.
Итак для начала я нашел в файле include/fm.class.php
CODE:
/*
setsmiles замена кодов смайлов на изображения
*/
function setsmiles($string) {
if ($this->_Smiles === FALSE) {
function SmileMap($arr) {
return '<img src="./im/emoticons/'.$arr['img'].'" border="0" alt="'.$arr['emt'].'" title="'.$arr['emt'].'">';
}
$allsmiles = $this->_Read(FM_SMILES);
$this->_Smiles = array_map("SmileMap",$allsmiles['smiles']);
unset($allsmiles);
}
return strtr($string,$this->_Smiles);
}
setsmiles замена кодов смайлов на изображения
*/
function setsmiles($string) {
if ($this->_Smiles === FALSE) {
function SmileMap($arr) {
return '<img src="./im/emoticons/'.$arr['img'].'" border="0" alt="'.$arr['emt'].'" title="'.$arr['emt'].'">';
}
$allsmiles = $this->_Read(FM_SMILES);
$this->_Smiles = array_map("SmileMap",$allsmiles['smiles']);
unset($allsmiles);
}
return strtr($string,$this->_Smiles);
}
именно здесь как я понял и определяется главный момент замены смайлов + в других местах замена отдельных ссылок
CODE:
<img src=\"./im/emoticons/off.gif\" border=\"0\">
Заменить на
CODE:
<img src="./templates/'.DEF_SKIN.'/im/emoticons/'.$arr['img'].'" border="0" alt="'.$arr['emt'].'" title="'.$arr['emt'].'">
соответственно
<img src=\"./templates/'.DEF_SKIN.'/im/emoticons/off.gif\" border=\"0\">
соответственно
<img src=\"./templates/'.DEF_SKIN.'/im/emoticons/off.gif\" border=\"0\">
(Добавление)
следующим шагом редактируем файл самого шаблона smile_map.tpl
заменяя адрес смайла:
CODE:
<img src="im/emoticons/biggrin24.gif" alt="smilie" onClick="bbcode(0,'::biggrin24.gif::')" />
<img src="./templates/InvisionExBB/im/emoticons/biggrin24.gif" alt="smilie" onClick="bbcode(0,'::biggrin24.gif::')" />
<img src="./templates/InvisionExBB/im/emoticons/biggrin24.gif" alt="smilie" onClick="bbcode(0,'::biggrin24.gif::')" />
где InvisionExBB имя папки с шаблоном, также можно там же убрать ссылку на другие смайлы не входящие в стандартный набор, о котором шла речь..
CODE:
<b><a href=javascript:void(0); onClick=window.open("tools.php?action=smiles","","width=320,height=400,scrollbars=yes")>{$fm->LANG['SmilesOn']}</a></b>
Дабы не потерять смайлы в сообщениях (хотя они просто заменятся тестом) можно создать такое же количество, хотя на мой взгляд это и не совсем удобно.
На самом деле обилие смайлов и их большой выбор не так востребованы, как это хотелось... порой просто лень искать их.. пользуешься теми что отражаются сразу...