Опишу мой опыт добавления смайлов в визуальный редактор кастомоной формы. Долго искал решения подобной задачи, так и не нашел ничего! В итоге покопался в исходниках и нашел решение сам.
| Код |
|---|
<?
$arSmile = CSmileGallery::getSmilesWithSets(CSmileGallery::GALLERY_DEFAULT);
$i = 0;
foreach($arSmile['SMILE'] as $smile) {
$arSmiles[$i]['name'] = $smile['NAME'];
$arSmiles[$i]['code'] = $smile['TYPING'];
$arSmiles[$i]['path'] = $smile['IMAGE'];
$arSmiles[$i]['width'] = $smile['WIDTH'];
$arSmiles[$i]['height'] = $smile['HEIGHT'];
$i++;
}
// далее в параметры CHTMLEditor добавляем массив со смайлами и кнопку в панель редактора
$LHE = new CHTMLEditor;
$LHE->Show(array(
'name' => "name",
'id' => 'name',
'inputName' => "text",
...
'arSmiles' => $arSmiles,
...
'controlsMap' => array(
array('id' => 'Bold', 'compact' => true, 'sort' => 80),
array('id' => 'Italic', 'compact' => true, 'sort' => 90),
array('id' => 'Underline', 'compact' => true, 'sort' => 100),
...
array('id' => 'Smile', 'compact' => true, 'sort' => 410),
...
)
)
)
?> |
Вся проблема подключения заключалась в неправильных ключах массива самих смайлов.
Прошу в техподдержке добавить в описании класса
CSmile список ключей массива или написать инструкцию подключения смайликов в визуальный редактор.
Если есть другое готовое решение, прошу указать ссылку на документацию.