В предыдущем посте на скорую руку была сделана возможность выделять красным цветом текст в комментариях. Пользователи (на моем сайте, естественно), поблагодарили и… им захотелось большего. Почему только красный? Пришлось переделывать. Для этого подглядел, как цвет меняется в phpBB ну и вывод BBcode в Инстанте.
а) В файле /core/classes/page.class.php над функцией function getSmilesPanel (просто для удобства)
добавляем следующую функцию:
б) В том же файле /core/classes/page.class.php в функции function getBBCodeToolbar перед строкой
вставляем
(Не забываем положить в директорию красивую кнопочку /includes/bbcode/images/color.png)
Ну и убираем за ненадобностью предыдущий мой хак "красный цвет" (естественно, если его вносили)
в) В файле /components/comments/addform.php перед строкой
добавляем
г) В файле /templates/ваш_шаблон/components/com_comments_add.tpl перед строкой с <div class="cm_editor">
вставляем
д) В файле /templates/ваш_шаблон/css/styles.css
добавляем примерно такие стили
е) Добавляем цвет в комментарии на форуме:
в файле /components/forum/frontend.php
после строки
она встречается 2 раза
вставляем строку
ж) Цветовое выделение в первом посте блога:
в файле /components/blogs/frontend.php
перед строкой $smarty->display('com_blog_edit_post.tpl');
вставляем
Далее в файле /templates/ваш_шаблон/components/com_blog_edit_post.tpl
перед строкой {$autogrow}
вставляем
з) Выделение на стене пользователя
в файле /core/classes/user.class.php
находим строку
и после неё добавляем
чуть ниже после строки
добавляем
Затем в фале /templates/ваш_шаблон/components/com_users_addwall.tpl
после строки
добавляем
а) В файле /core/classes/page.class.php над функцией function getSmilesPanel (просто для удобства)
добавляем следующую функцию:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // сделано по аналогии с phpBB /** ///!!! * Возвращает html-код панели с выбором цвета * @param string $for_field_id * @return html */ public static function getColorPanel($for_field_id){ $dir = 'h'; //горизонтальное $width= 20; //ширина ячейки с цветом $height= 10; //высота ячейки с цветом $color = ''; $numberList[0] = '00'; $numberList[1] = '40'; $numberList[2] = '80'; $numberList[3] = 'BF'; $numberList[4] = 'FF'; $html = '<div class="usr_msg_colorbox" id="colorpanel" style="display:none">'; $html .= '<table>'; for ( $r = 0 ; $r < 5 ; $r++) //$r=0;$r<5;$r++ { if ($dir == 'h') { $html .='<tr>'; } for ($g = 0; $g < 5; $g++) { if ($dir == 'v') { $html .='<tr>'; } for ($b = 0; $b < 5; $b++) { $color = "$numberList[$r]"."$numberList[$g]"."$numberList[$b]"; $html .='<td style="background-color:#'. $color .'; width: '. $width.'px; height: ' . $height.'px;">'; $html .='<a onclick="javascript:addTag(\''.$for_field_id.'\', \'[color=#'.$color.']\', \'[/color]\')"><img src="/images/pixel.gif" width="' .$width. '" height="' . $height .'" alt="#'.$color . '" title="#' .$color . '" /></a>'; $html .='</td>'; } if ($dir == 'v') { $html .='</tr>'; } } if ($dir == 'h') { $html .='</tr>'; } } $html .='</table></div>'; return $html; }
if ($placekind=='blogs')
$html .= '<a class="usr_bb_button" href="javascript:void(0)" onclick="$(\'#colorpanel\').slideToggle(\'slow\')" title="Вставить цвет"> <img src="/includes/bbcode/images/color.png" alt="Вставить цвет" /> </a>' ;
Ну и убираем за ненадобностью предыдущий мой хак "красный цвет" (естественно, если его вносили)
в) В файле /components/comments/addform.php перед строкой
///!!! start if ($cfg['bbcode'] && $is_user_add_bb){ $colors=cmsPage::getColorPanel('content'); ///!!! } $smarty->assign('colors', $colors); ///!!! ///!!! end
вставляем
{if $colors} <div class="cm_colors">{$colors}</div> {/if}
добавляем примерно такие стили
div.cm_colors{ } div.cm_colors table td { border-width: 1px; border-style: double; border-color: white; background-color: white; } div.cm_colors a{ text-decoration:none; } div.cm_colors div.usr_msg_colorbox{ background:#ECECEC; width:100%; border-left:solid 1px #666; border-right:solid 1px #666; }
в файле /components/forum/frontend.php
после строки
echo cmsPage::getSmilesPanel('message');
вставляем строку
echo cmsPage::getColorPanel('message'); ///!!!
в файле /components/blogs/frontend.php
перед строкой $smarty->display('com_blog_edit_post.tpl');
вставляем
$colors=cmsPage::getColorPanel('message'); $smarty->assign('colors', $colors);
Далее в файле /templates/ваш_шаблон/components/com_blog_edit_post.tpl
перед строкой {$autogrow}
вставляем
<div class="cm_colors">{$colors}</div>
в файле /core/classes/user.class.php
находим строку
$smilies = cmsPage::getSmilesPanel('message');
$colors = cmsPage::getColorPanel('message'); ///!!!
$smarty->assign('smilies', $smilies);
$smarty->assign('colors', $colors); ///!!!
после строки
<div class="cm_smiles">{$smilies}</div>
<div class="cm_colors">{$colors}</div>
Реклама #
Female 13 лет назад #
Igor-san 13 лет назад #
Female 13 лет назад #
Igor-san 13 лет назад #
Female 13 лет назад #
Igor-san 13 лет назад #
Female 13 лет назад #
Настёна 13 лет назад #
Настёна 13 лет назад #
Igor-san 13 лет назад #
Настёна 13 лет назад #
Zau4man 13 лет назад #
Zau4man 13 лет назад #
В профиле эти иконки не отбражаются, в профиле цвет не нужен. все норм :)
bondar 13 лет назад #
Vyatich 12 лет назад #
Vyatich 12 лет назад #
Санечек 12 лет назад #
Azura 12 лет назад #