Перейти к контенту
  • 0

Таблица смайлов в форме ответа


Вопрос

Русский модифицированный IPB 1.3 Final от Игорька.

 

Кликабельный смайлы расположены в форме ответа в три столбца и три строки. Появилась необходимость добавить "фирменный" смайл форума, который по ширине занимает, примерно, всю строку в этой таблице. Как сделать, чтобы он занял всю четвертую строку, а не тулился в левую ячейку, раздивгая и уродуя всю таблицу? В каком файле эта таблица, блин, находится? Или как генерится? Я уже не знаю даже, где искать...

 

Все, что мне поиск выдал, я просмотрел. Вроде, ниче похожего не нашел. Если прозевал - поругайте, но ткните носом. Буду счастлив:-)

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Ну а какого ответа ты ждешь?

Обработка вся идет в sources/Post.php (ну только для PM отдельно кажись), функция html_add_smilie_box()

Работает енто все так:

весь HTML-код таблички со смайлами собирается в переменной smiles, изначально ей задается значение:

$smilies    = "<tr align='center'>\n";

потом из базы добывается инфа о картинках, которые надо отобразить:

$DB->query("SELECT * FROM ibf_emoticons WHERE clickable='1'");

ну и понеслась рутинная работа - набирается строчка и каждый раз проверяется - не накопилось ли достаточное кол-во столбцов в строке - для этого поднимается соответствующий параметр из conf_global, который можно настроить в админке:

if ($count == $ibforums->vars['emo_per_row']) {
$smilies .= "</tr>\n\n<tr align='center'>";
$count = 0;
}

надеюсь, тут не надо комментировать. начинается новая строка и все по-новой.

таким образом:

1. ломать этот простой и понятный как грабли алгоритм мне кажется не стоит.

2. если картинка такая уж нужная - убери ее из clickable и в самом начале функции, там где задается $smiles (см. выше) - просто жестко пропиши эту самую фирменную картинку, то есть например:

$smilies  = "<tr align='center'>\n<td colspan='".$ibforums->vars['emo_per_row']."'>ТУТ СОБСТВЕННО КОД ССЫЛКИ С КАРТИНКОЙ</td></tr>\n\n<tr align='center'>\n";

[1123460898:1123461573]Да, для модификации быстрого ответа от Игорька - нужно точно такую же ссылку прописать в скрипте sources/Topics.php - функция quick_add_smilie()

суть и код - те же, различаются только названия самих функций, что не принципиально

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Super Gonzo

В админке регулируется во сколько колонок будут выводится смайлы

Ссылка на комментарий
Поделиться на других сайтах

  • 0

arigoda

Ну а какого ответа ты ждешь?

Вот именно такого и ждал:-)

Спасибо большое.[1123495825:1123516665]На всякий случай, если у кого похожая проблема будет, даю готовое решение.

То, что привел arigoda, дай бог ему здоровья:

$smilies  = "<tr align='center'>\n<td colspan='".$ibforums->vars['emo_per_row']."'>ТУТ СОБСТВЕННО КОД ССЫЛКИ С КАРТИНКОЙ</td></tr>\n\n<tr align='center'>\n";

в моем случае получилось так:

$smilies  = "<tr align='center'>\n<td colspan='".$ibforums->vars['emo_per_row']."'><a href={$out_delim}javascript:emoticon('[b]:polit-kharkiv:[/b]'){$out_delim}><img src=\"".$ibforums->vars['EMOTICONS_URL']."/[b]polit-kharkiv.gif[/b]\" alt='[b]I love polit-khakiv.com[/b]' border='0' /></a></td></tr>\n\n<tr align='center'>\n";

где :polit-kharkiv: - код смайла (выставляется в админке), polit-kharkiv.gif - название файла смайла, I love polit-khakiv.com - всплывающая подсказка при наведении на смайл.

 

Подставляйте свои значения, и у вас будет нормальный кликабельный смайл.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.