Иконки на кнопках Кunena 5

Как изменить стандартные иконки используемые на кнопках форума Kunena. Измените иконки на свои следуя выложенной на данной странице инструкции.

кнопки кунена

  На форуме Кунена 5 в шаблоне Cripsis для различных действий пользователей выводятся кнопки на которых имеются иконки.

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

  Собственно о том как это сделать - будет данная запись.


Как изменить иконки на кнопках в Кунена 5

  Вот так иконки на кнопках форума Кунена выглядят по умолчанию на шаблоне Cripsis:

кнопки kunena

  Согласитесь, что не совсем они актуальны. Поэтому я их меняю на свои. Готовый результат замены данных иконок можно посмотреть чуть ниже в статье.


  Для тех кто не знает, скажу что данные иконки берутся из иконочного шрифта. Это шрифт Icomoon который по установлен в ядро Joomla 3.

Замена шрифтовых иконок на кнопках

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

  Чтобы не занимать много места, я даю путь путь к файлу в котором нужно поменять название иконки и такой подсветкой выделяю название иконки которую вставляю я. И ниже даю код, который в итоге получается (везде название иконки идёт в конце строки кода).


Путь к файлу:

components\com_kunena\controller\message\item\actions\display.php

Кнопка "Ответить" - строка 83 icon-pencil-2

$this->getButton(sprintf($layout, 'reply'), 'reply', 'message', 'communication', 'reply', $button, 'icon icon-pencil-2'));

Кнопка "Цитировать" - строка 143 icon-quote-2

$this->getButton(sprintf($layout, 'reply&quote=1'), 'quote', 'message', 'communication', 'quote', $button, 'icon icon-quote-2'));

Кнопка "Пожаловаться" - строка 289 icon-warning

$icon = 'icon icon-warning';

 

components\com_kunena\controller\topic\item\actions\display.php

Кнопка "Ответить в теме" - строка 69 icon-pencil-2

$this->getButton(sprintf($layout, 'reply'), 'reply', 'topic', 'communication', false, $button, 'icon icon-pencil-2'));

Кнопка "Подписаться" - строка 130 icon-mail-2

$this->getButton(sprintf($task, 'subscribe'), 'subscribe', 'topic', 'user', false, $button, 'icon icon-mail-2'));

Кнопка "Неважное" - строка 161 icon-star-empty

$this->getButton(sprintf($task, 'unfavorite'), 'unfavorite', 'topic', 'user', false, $button, 'icon icon-star-empty'));

Кнопка "Важное" - строка 191 icon-star или icon-bookmark-2

$this->getButton(sprintf($task, 'favorite'), 'favorite', 'topic', 'user', false, $button, 'icon icon-star'));

В итоге получается такая картина:

Иконки на кнопках Кунена 5

Кнопки на странице списка тем категории

И ещё кнопки со страницы категории:

кнопки в kunena

Путь к файлу:

components\com_kunena\layout\category\item.php

Кнопка "Темы прочитаны" - строка 110 icon-checkmark-circle

->setProperties(array('url' => $url, 'name' => 'markread', 'scope' => 'category', 'type' => 'user', 'icon' => 'icon-checkmark-circle'));

Кнопка "Подписаться" - строка 156 icon-mail-2

->setProperties(array('url' => $url,'name' => 'subscribe','scope' => 'category','type' => 'user','icon' => 'icon-mail-2'));

 

  Друзья, если вам интересна подобная тематика - оставляйте ниже комментарии. Тогда я буду знать что это кому то нужно и могу ещё развивать тему о Кунена форуме.

 

Записи по теме
Kunena 5.1 - новинки форума
kunena При обновлении форума Kunena до версии 5.1, в нём появился ряд новых функций и приятных улучшений, о которых пойдёт речь в данной статье. Ну что, хотите узнать что нового в Kunena 5.1 ?
Замена соцсетей в Kunena 4
замена соцсетей Замена соцсетей в профиле пользователей компонента форума Kunena 4. Как добавить ВК и Одноклассники в профили Кунена 4.
Извещения (письма) на почту в Kunena
электронные письма Инструкция о том, где и как изменить стандартные письма извещения отсылаемые пользователям форумом Kunena. Настройте правильно уведомления на почту для вашего форума.
Как добавить SLogin в Kunena 5
kunena slogin Как добавить кнопки SLogin (авторизации через соцсети) в компонент форума Kunena 5. Позиции для модулей в меню заложенные в шаблонах форума кунена.
Как установить шаблон Kunena
Как установить шаблон Kunena Инструкция о том, как правильно устанавливать шаблоны для компонента форума Кунена. Узнайте как нужно устанавливать на сайт шаблоны для Kunena.

 

 

Комментарии 8
16:16 10.12.2019 #

Добрый день. Было бы здорово, если бы Вы написали эту инструкцию и для Kunena 5.1. И интересует, как прицепить свой класс для кнопок?

21:01 10.12.2019 #

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

Если открыть файл в редакторе кода, там по дереву кода видно варианты для таких иконок:

  • B2 - (это от абривиатуры бутстрап 2) иконочный шрифт Icomoon
  • B3 - иконки из glyphicon
  • fa - иконочный шрифт FontAwesome
  • image - в качестве иконок изображения

Просто находите старую иконку и меняете её на новую. Эти файлы переопределить нельзя, поэтому менять иконки придётся каждый раз после обновления компонента Кунена.

Например заменить иконку на кнопке Ответить для FontAwesome, 113 строка в файле components\com_kunena\controller\message\item\actions\display.php в самом конце есть fa fa-reply заменяем на название нужной иконки.

И интересует, как прицепить свой класс для кнопок?

Если не секрет, для чего? Может для вашей задачи проще не добавлять класс кнопке?

Сами кнопки вот они: \components\com_kunena\template\crypsis\layouts\message\item\actions\default.php

Как видно они генерируются. Где то они генерируются, я находил где, но пока нашёл место где выводятся потерял где генерируются. Параметры для имени класса берутся из строки где и иконка для кнопки (это ссылка в первой части ответа). Плюс в том месте где генерируются кнопки добавляется часть имени класса. Можно конечно любую из кнопок заменить на готовый html и переопределить файл, но стоит ли?

10:42 11.12.2019 #

Спасибо за ответ, буду пробовать! Версия компонента новая, а интерфейс форума всё равно из 90-х... Переделываю всё (в стиле под мессенджеры)

Если не секрет, для чего?

Намного проще добавить класс к элементу чем переписывать все свойства стиля для него. Я например хочу, чтобы "Ответить" была primary, а не default, пришлось копировать для reply все стили с кнопки primary, место того чтобы добавить одно слово в класс кнопки. Через Ж сделана эта Kunena. Я столько шаблонов переделал, но с такими дебрями впервые столкнулся.

12:53 11.12.2019 #

Для кастомных стилей вы можете создать файл custom.css в шаблоне кунена и там писать стили, переопределяя их. Путь для пользовательского css: \components\com_kunena\template\crypsis\assets\css\custom.css. Кунена проверяет если этот файл есть, то она его подключает. Ну или в шаблоне сайта пропишите стили. Нормальная практика.

Я вот смотрю там классы для кнопок заданы:

  • openmodal
  • kbutton-reply
  • kbutton-quote
  • kbutton-edit
  • kbutton-delete
  • kbutton-thankyou
  • kbutton-moderate

и они не заняты стилями. Просто стили для .btn подтягиваются из бутстрапа или из шаблона. Как раз эти имена проставлены чтобы была возможность стилизовать кнопки под свои нужды. Если вы css знаете то для вас это вообще не должно вызывать проблем.

Есть родительский контейнер с классом kmessagepadding, а значит можно вообще вот так переписать стили для .btn:

.kmessagepadding .btn {
    // тут css свойства
}

В кунене как и в джумле можно переопределять файлы. Можно переопределить файл

\components\com_kunena\template\crypsis\layouts\message\item\actions\default.php

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


А если вы хотите форум в виде месенджеров, может вам лучше фларум накатить? Это бесплатный форумный движок. Вот посмотрите форум Flarum, скачать можно на основном домене. Мне он чем то месенджеры напоминает. И функционал у него намного современней чем у кунены. Он хоть и в бете до сих пор находится но на нём уже много построено разных форумов и сообществ.

02:06 12.12.2019 #

Ух, спасибо ж вам большое! Я не то что класс свой добавил, я добавил к кнопкам возможность ставить свой атрибут.

В моем случае для Uikit 3 нужно было добавить к <i> чтобы было так <i class="uk-icon" uk-icon="icon-name"></i>. И я сам в шоке, но я это сделал!

В файле com_kunena/template/crypsis/layouts/widget/button/default.php (это шаблон самой кнопки) после $icon = $this->icon; добавляем $attr = $this->attr;

Далее, внизу меняем <i class="<?php echo $icon; ?>"></i> на <i class="<?php echo $icon; ?>" <?php echo $attr; ?>></i>

Теперь, чтобы в 4феек вывелось то что нам нужно, нужно в тех файлах, где меняли иконки, внизу файла в конце в строке 'type' => $type, 'id' => 'btn_' . $id, 'normal' => $normal, 'icon' => $icon, ) перед скобкой дописать 'attr' => $attr,

Ну и все, теперь в кнопке, после названия иконки ставим запятую и всё что вы туда напишете, выведется в $attr

02:21 12.12.2019 #

Только название иконки нельзя оставлять пустым, там нужно хоть пробел поставить, пустота в кавычках или null вызывают ошибку.

02:29 12.12.2019 #

И еще забыл, внизу файла где иконки меняем, перед тем как дописать'attr' => $attr, после , $icon = '' вставить , $attr = '' И атрибут в кнопке нужно писать как и иконки - в одинарных кавычках.

12:22 12.12.2019 #

Смотрите, теперь чтобы не потерять свои изменения, вы можете переопределить файл

com_kunena/template/crypsis/layouts/widget/button/default.php

Для этого скопируйте этот файл и поместите его в папку html шаблона сайта по такому пути:

\templates\ваш_шаблон_сайта\html\com_kunena\layouts\widget\button\default.php

Будет работать MVC (model view controller) и после обновления ничего не слетит.

К сожалению файл components\com_kunena\controller\message\item\actions\display.php переопределить нельзя, придётся после каждого обновления править эти файлы.

А вот из шаблона кунены com_kunena/template/crypsis/layout/... - файлы переопределять можно. По идее можно и из com_kunena/layout/... переопределять, но это я уже точно не помню - нужно проверять.

Просто по путям шаблона кунены ложить их в \templates\ваш_шаблон_сайта\html\com_kunena\


Ну и это, можно же пойти дальше и в файле вывода кнопок или в файле генерации кнопок добавить свой php с параметрами кнопок и генерить их как нам нужно, отвязавшись от файла components\com_kunena\controller\message\item\actions\display.php, чтобы при обновлениях кунены ничего не править.


*** чтобы писать комментарии.