info navigation

phpbb-belk.ru

темы, связанные с форумом phpbb 3.0.x



Новая тема  [ Сообщений: 3 ]  Просмотры: 3366

Автор Сообщение
Не в сети
(Андрей)  
Администратор
Аватара пользователя

Стаж: 8 лет 6 месяцев 28 дней
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


заметка. 5 июня 2022 года:
пак с архивом мода почему-то оказался битым. восстановил из того, что было. вполне вероятно, что в старом было что-то ещё. но этот вариант работает.

Лайк за сообщение

модификация позволяет пользователю оставлять лайк за любое сообщение в теме.
разумеется, зарегистрированному пользователю.
каждый пользователь сможет оставить не более одного лайка.
возможности удалять лайки нет ни у кого.
при наведении на количество лайков всплывает окно с никами проголосовавших.


саму модификацию присмотрел здесь: оригинальная тема

данная модификация в немного подредактированном виде установлена и здесь на сайте: кнопка "нравится" и рядом счётчик лайков.

для сабсилвера кода не было - написал как получилось.

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

Вложение:
Комментарий к файлу: prosilver
like_prosilver.png
like_prosilver.png [ 21.72 КБ | Просмотров: 3364 ] like_prosilver.png



Вложение:
Комментарий к файлу: subsilver2
subsilver_like.png
subsilver_like.png [ 22.71 КБ | Просмотров: 3364 ] subsilver_like.png



Если заинтересовало - ставим. (это довольно просто).

Скачать папку post_like_phpbb3 из архива сайта

Скачать из файлового архива сайта

распаковать и содержимое папки загрузить в корень сайта (где файл config.php).

Теперь редактируем файлы форума:

необходимо провести SQL-запрос:

Код: Выделить всё

create table phpbb_likes (
  likes_key varchar(100), primary key(likes_key),
  likes_count int,
  likes_who text
 );


Далее:

открыть viewtopic.php
найти

Код: Выделить всё

'QUOTE_IMG'  => $user->img('icon_post_quote', 'REPLY_WITH_QUOTE'),


вставить после найденного

Код: Выделить всё

'LIKE_IMG'  => $user->img('icon_post_like', 'LIKE'),


найти

Код: Выделить всё

$postrow = array(


вставить перед найденным

Код: Выделить всё

$likes_key = $forum_id.'_'.$topic_id.'_'.$row['post_id'];
$likes_sql = "SELECT * FROM phpbb_likes where likes_key='$likes_key'";
$likes_result = $db->sql_query($likes_sql);
$likes_row = $db->sql_fetchrow($likes_result);
$likes_count = $likes_row['likes_count'];
$likes_who = $likes_row['likes_who'];
if (!$likes_count) $likes_text = '';
if ($likes_count == 1) $likes_text = "<a href='#' title='$likes_who'>1 Like</a>";
if ($likes_count > 1) $likes_text = "<a href='#' title='$likes_who'>$likes_count Likes</a>";
$likes_back = str_replace('&','~',$_SERVER['QUERY_STRING']);
$likes_link = "f=$forum_id&amp;t=$topic_id&amp;p={$row['post_id']}&amp;back=$likes_back";


найти

Код: Выделить всё

'U_QUOTE'  => ($auth->acl_get('f_reply', $forum_id)) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=quote&amp;f=$forum_id&amp;p={$row['post_id']}") : '',


вставить после найденного

Код: Выделить всё

'U_LIKE' => ($auth->acl_get('f_reply', $forum_id)) ? append_sid("{$phpbb_root_path}like.$phpEx", $likes_link) : '',
'U_LIKE_TEXT' => $likes_text,


открыть language/en/common.php
найти

Код: Выделить всё

'LEGEND'   => 'Legend',


вставить после найденного

Код: Выделить всё

'LIKE' => 'Like this post',


открыть language/ru/common.php
найти

Код: Выделить всё

'LEGEND'   => 'Легенда',


вставить после найденного

Код: Выделить всё

'LIKE' => 'Поставить лайк за сообщение',


для стилей на основе prosilver
открыть styles/prosilver/template/viewtopic_body.html
найти

Код: Выделить всё

<ul class="profile-icons">


добавить после найденного

Код: Выделить всё

<!-- IF postrow.U_LIKE --><li>{postrow.U_LIKE_TEXT}</li><li class="like-icon"><a href="{postrow.U_LIKE}" title="{L_LIKE}"><span>{L_LIKE}</span></a></li><!-- ENDIF -->


открыть styles/prosilver/theme/buttons.css
найти

Код: Выделить всё

ul.profile-icons li.quote-icon    { width: {IMG_ICON_POST_QUOTE_WIDTH}px; height: {IMG_ICON_POST_QUOTE_HEIGHT}px; }


вставить после найденного

Код: Выделить всё

ul.profile-icons li.like-icon    { width: 57px; height: 20px; }


найти

Код: Выделить всё

ul.profile-icons li.quote-icon    { margin: 0 0 0 10px; }


вставить после найденного

Код: Выделить всё

ul.profile-icons li.like-icon    { margin: 0 0 0 10px; }


открыть styles/prosilver/theme/colours.css
найти

Код: Выделить всё

quote-icon, .quote-icon a        { background-image: url("{IMG_ICON_POST_QUOTE_SRC}"); }


вставить после найденного

Код: Выделить всё

.like-icon, .like-icon a        { background-image: url("{T_IMAGESET_PATH}/bk/icon_post_like.gif"); }


для стилей на основе subsilver2
открыть styles/subsilver2/template/viewtopic_body.html
найти

Код: Выделить всё

<div class="gensmall" style="float: {S_CONTENT_FLOW_END};"><!-- IF not S_IS_BOT --><!-- IF postrow.U_EDIT --><a href="{postrow.U_EDIT}">{EDIT_IMG}</a> <!-- ENDIF --> <!-- IF postrow.U_QUOTE --><a href="{postrow.U_QUOTE}">{QUOTE_IMG}</a> <!-- ENDIF --> <!-- ENDIF -->&nbsp;</div>


заменить найденное на

Код: Выделить всё

<div class="gensmall" style="float: {S_CONTENT_FLOW_END};"><!-- IF not S_IS_BOT -->
<!-- IF postrow.U_LIKE -->{postrow.U_LIKE_TEXT} <a href="{postrow.U_LIKE}" title="{L_LIKE}"><img src="{T_IMAGESET_PATH}/bk/icon_post_like.gif" alt="{L_LIKE}" /></a>&nbsp;<!-- ENDIF -->
<!-- IF postrow.U_EDIT --><a href="{postrow.U_EDIT}">{EDIT_IMG}</a> <!-- ENDIF --> <!-- IF postrow.U_QUOTE --><a href="{postrow.U_QUOTE}">{QUOTE_IMG}</a> <!-- ENDIF --> <!-- ENDIF -->&nbsp;</div>


(если у вас в этом коде есть что-то своё, то необходимо добавить только код like:

Код: Выделить всё

<!-- IF postrow.U_LIKE -->{postrow.U_LIKE_TEXT} <a href="{postrow.U_LIKE}" title="{L_LIKE}"><img src="{T_IMAGESET_PATH}/bk/icon_post_like.gif" alt="{L_LIKE}" /></a>&nbsp;<!-- ENDIF -->


Очистите кэш темы, шаблона, браузера и пользуйтесь на здоровье.
у автора оригинальной темы (как и у меня) проблемы с пропиской изображений в картинках, поэтому сделал просто отдельную папку в /imageset. :)

Удачного применения.

:arigato:


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Post Like,phpbb 3.0.x,лайк за сообщение
Не в сети
(Дмитрий)  
2019-08-04 
Аватара пользователя

Стаж: 7 лет 3 месяца 5 дней
Сообщения: 734


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Еще бы увидеть мод лайк за тему. На мой взгляд он более актуальный и пользовался бы популярностью у пользователей :)


Не в сети
(Андрей)  
2019-08-04 
Администратор
Аватара пользователя

Стаж: 8 лет 6 месяцев 28 дней
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


примерно такое видел только в виде расширения. проблема не в том, что оно для 3.2, а то, что оно написано, похоже на php7 и на этой версии форума работать точно не будет.


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ Сообщений: 3 ] 

Кто сейчас на сайте:

Всего посетителей: 0, из них зарегистрированных: 0, скрытых: 0 и гостей: 0 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (122) здесь было 19 дек 2023, 12:10

Сейчас этот раздел просматривают: нет зарегистрированных пользователей и гости: 0

Часовой пояс: UTC + 2 часа



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Вы не можете защищать свои темы паролем

Найти:
Перейти:  




cron

Текущее время: 20 апр 2024, 00:55

Создано на основе phpBB® Forum Software © phpBB Group
Яндекс.Метрика

Полная версия Мобильный вид