режим кнопок SMF 2.0

Автор MEW, 22 октября 2008, 16:19:59

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

MEW

Название темы, наверное, непонятное, поэтому сразу объясняю...
В SMF 2.0 на стандартной теме все менюшки построены не как отдельные графические кнопки, а просто как текст на фоне текстуры (надеюсь, меня все поняли). Так вот, хотелось бы заменить их на привычные графические кнопки. Кстати, их я нашёл в папке Themes\default\images\russian - а как включить - не могу найти.
Уж простите за тупизну, после vBulletin в SMF 2.0 вообще не ориентируюсь
buck

Mavn

посмотри как кнопки реализованы в теме babylon и сразу поймешь как реализовать в default
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

MEW

Вот это что ли?
Конфигурация -> Текущая тема оформления -> Настройки тем оформления -> SMF Default Theme - Core (нужно нажать на название)
Показывать кнопки вместо текста - галочка поставлена. И никаких кнопок нету.
:-[

GreenStork

поменяешь тему на babylon - будет с кнопками :)
или посмотри в самих файлах в папке babylon, как прописаны кнопки. ;)
---------------------------
Fiat justitia rual caelum!
---------------------------

sven

У нас существует аналогичная задача. Будем благодарны если подскажете где и что нужно поменять ... :)

Mr. Anviss

А у меня стоит задача заработать денег. Буду благодарен если наймете. uglystupid

Корреспондент

Доброго времени суток!
Установил форум последней версии 2.0.7 + руссификатор. Всё работает, но есть проблемка, это кнопки. В поисковике у Вас нашёл данную тему, с подобной проблемой, но конкретного ответа ни здесь, ни в аналогичных найденный мной тем, нет.
Будьте добры сказать, что нужно прописать, чтобы появились вместо текстов, мои кнопки.
Я зашёл в файлы руссификатора, там где есть текст подобный этому (в столбик):
$txt['new_riply'] = 'Ответ'
Ну я думаю Вы поняли дальше.
Вместо "Ответа" я прописал: <img src="http/" > и т.д. Где указал также путь к папке, в которую заранее загрузил несколько кнопок. Очистил кэш браузера, но кнопок не видно. Пожалуйста прошу помочь, что нужно сделать чтобы вместо текста были графические кнопки?
Спасибо!

Корреспондент


Mavn

Цитата: Корреспондент от 03 февраля 2014, 19:45:35Форум жив или всё?
1. прежде чем качать права, прочтите правила форума... в особенности п.6
2. из вашего вопроса трудно понять о чем идет речь.
3. Моментального ответа вы не получите.
4. Если все же вопрос идет о кнопках внутри темы(о верхних, нижних)
ЦитироватьОТВЕТ -- ДОБАВИТЬ ГОЛОСОВАНИЕ -- НЕ УВЕДОМЛЯТЬ -- ОТМЕТИТЬ НЕПРОЧИТАННОЙ -- ПОДЕЛИТЬСЯ ТЕМОЙ -- ПЕЧАТЬ

Функция генерации находится в Compat.template.php
Описание самих кнопок в файле Display.template.php
// Build the normal button array.
$normal_buttons = array(
'reply' => array('test' => 'can_reply', 'text' => 'reply', 'image' => 'reply.gif', 'lang' => true, 'url' => $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';last_msg=' . $context['topic_last_message'], 'active' => true),
'add_poll' => array('test' => 'can_add_poll', 'text' => 'add_poll', 'image' => 'add_poll.gif', 'lang' => true, 'url' => $scripturl . '?action=editpoll;add;topic=' . $context['current_topic'] . '.' . $context['start']),
'notify' => array('test' => 'can_mark_notify', 'text' => $context['is_marked_notify'] ? 'unnotify' : 'notify', 'image' => ($context['is_marked_notify'] ? 'un' : '') . 'notify.gif', 'lang' => true, 'custom' => 'onclick="return confirm(\'' . ($context['is_marked_notify'] ? $txt['notification_disable_topic'] : $txt['notification_enable_topic']) . '\');"', 'url' => $scripturl . '?action=notify;sa=' . ($context['is_marked_notify'] ? 'off' : 'on') . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']),
'mark_unread' => array('test' => 'can_mark_unread', 'text' => 'mark_unread', 'image' => 'markunread.gif', 'lang' => true, 'url' => $scripturl . '?action=markasread;sa=topic;t=' . $context['mark_unread_time'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']),
'send' => array('test' => 'can_send_topic', 'text' => 'send_topic', 'image' => 'sendtopic.gif', 'lang' => true, 'url' => $scripturl . '?action=emailuser;sa=sendtopic;topic=' . $context['current_topic'] . '.0'),
'print' => array('text' => 'print', 'image' => 'print.gif', 'lang' => true, 'custom' => 'rel="new_win nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0'),
);
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Корреспондент

Mavn здравствуйте! Да хотелось бы все текстовые кнопки заменить графическими. Но в первую очередь стандартные: ответить, цитата, удалить, правка/изменить.
Честно говоря я розачарован, думал что уже нашёл достойный форум для своего сайта, а оказалось, что такую мелочь, как заменить стандартные кнопки на свои, это ещё надо постараться! После того как скачал и установил форум, я не знал, что это так не просто.
Я хоть и недавно у вас на форуме, но прочёл достаточно тем, и искал поисковиком ответ подобных. Дабы не создавать новую тему, я и поднял старую, т.к. ответов не смог найти.

Mavn

попробуйте может поможет
http://www.simplemachines.org/community/index.php?topic=235833.msg1769846#msg1769846
сейчас протестировать сам к сожалению не могу
что у вас там за такие супер кнопки что нельзя их переделать под текущий формат, png фон и css по-моему текущий вариант куда лучше чем загрузка 100500 изображений на странице в виде кнопок.  А если еще мод какой нибудь захотите поставить так еще и с этим поимеете большой гемор
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Корреспондент

Спасибо за ссылку, но английским языком не владею.
Ещё раз порылся в корневых файлах форума. Ну неужели нет хоть какой-нибудь пошаговой инструкции, как добавить хотя-бы ОДНУ единственную графическую кнопку вместо текстовых надписей (цитата, удалить, правка)? А дальше я уже сам думаю бы разобрался.
P.s. Скачал и установил несколько тем на форум. Проблему это всёровно не решило!

Mavn

https://github.com/SimpleMachines/babylon/blob/master/Display.template.php 830 строка
смотрите как в той теме оформления сделано
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Mr. Anviss

#13
Попробую вставить свои 5 копеек. Делаем для темы default, версия форума 2.0.7.
1. Заливаем всю графику (будущие кнопки) в папку/Themes/default/images/buttons/
2. Переходим к правке файла index.template.php - function template_button_strip (строка 470)
находим код:

foreach ($button_strip as $key => $value)
{
if (!isset($value['test']) || !empty($context[$value['test']]))
$buttons[] = '
<li><a' . (isset($value['id']) ? ' id="button_strip_' . $value['id'] . '"' : '') . ' class="button_strip_' . $key . (isset($value['active']) ? ' active' : '') . '" href="' . $value['url'] . '"' . (isset($value['custom']) ? ' ' . $value['custom'] : '') . '><span>' . $txt[$value['text']] . '</span></a></li>';
}

и меняем в нем строку

$buttons[] = '
<li><a' . (isset($value['id']) ? ' id="button_strip_' . $value['id'] . '"' : '') . ' class="button_strip_' . $key . (isset($value['active']) ? ' active' : '') . '" href="' . $value['url'] . '"' . (isset($value['custom']) ? ' ' . $value['custom'] : '') . '><span>' . $txt[$value['text']] . '</span></a></li>';

на

$buttons[] = '<li><a' . (isset($value['id']) ? ' id="button_strip_' . $value['id'] . '"' : '') . ' class="button_strip_' . $key . (isset($value['active']) ? ' active' : '') . '" href="' . $value['url'] . '"' . (isset($value['custom']) ? ' ' . $value['custom'] : '') . '><img src="'.$settings['theme_url'].'/images/buttons/'.$value['image'].'" /></a></li>';


3. В файле Display.template.php находим код

$normal_buttons = array(
'reply' => array('test' => 'can_reply', 'text' => 'reply', 'image' => 'reply.gif', 'lang' => true, 'url' => $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';last_msg=' . $context['topic_last_message'], 'active' => true),
'add_poll' => array('test' => 'can_add_poll', 'text' => 'add_poll', 'image' => 'add_poll.gif', 'lang' => true, 'url' => $scripturl . '?action=editpoll;add;topic=' . $context['current_topic'] . '.' . $context['start']),
'notify' => array('test' => 'can_mark_notify', 'text' => $context['is_marked_notify'] ? 'unnotify' : 'notify', 'image' => ($context['is_marked_notify'] ? 'un' : '') . 'notify.gif', 'lang' => true, 'custom' => 'onclick="return confirm(\'' . ($context['is_marked_notify'] ? $txt['notification_disable_topic'] : $txt['notification_enable_topic']) . '\');"', 'url' => $scripturl . '?action=notify;sa=' . ($context['is_marked_notify'] ? 'off' : 'on') . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']),
'mark_unread' => array('test' => 'can_mark_unread', 'text' => 'mark_unread', 'image' => 'markunread.gif', 'lang' => true, 'url' => $scripturl . '?action=markasread;sa=topic;t=' . $context['mark_unread_time'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']),
'send' => array('test' => 'can_send_topic', 'text' => 'send_topic', 'image' => 'sendtopic.gif', 'lang' => true, 'url' => $scripturl . '?action=emailuser;sa=sendtopic;topic=' . $context['current_topic'] . '.0'),
'print' => array('text' => 'print', 'image' => 'print.gif', 'lang' => true, 'custom' => 'rel="new_win nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0'),
);


и меняем 'image' => 'reply.gif' и остал. на свой граф. файл

вот и все...

Корреспондент

О результате отпишусь позже, пока редактирую.
А эти надписи как убрать?.

Mr. Anviss

В файле Display.template.php смотрим код с 419 по 466 строки:

// If this is the first post, (#0) just say when it was posted - otherwise give the reply #.
if ($message['can_approve'] || $context['can_reply'] || $message['can_modify'] || $message['can_remove'] || $context['can_split'] || $context['can_restore_msg'])
echo '
<ul class="reset smalltext quickbuttons">';

// Maybe we can approve it, maybe we should?
if ($message['can_approve'])
echo '
<li class="approve_button"><a href="', $scripturl, '?action=moderate;area=postmod;sa=approve;topic=', $context['current_topic'], '.', $context['start'], ';msg=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $txt['approve'], '</a></li>';

// Can they reply? Have they turned on quick reply?
if ($context['can_quote'] && !empty($options['display_quick_reply']))
echo '
<li class="quote_button"><a href="', $scripturl, '?action=post;quote=', $message['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';last_msg=', $context['topic_last_message'], '" onclick="return oQuickReply.quote(', $message['id'], ');">', $txt['quote'], '</a></li>';

// So... quick reply is off, but they *can* reply?
elseif ($context['can_quote'])
echo '
<li class="quote_button"><a href="', $scripturl, '?action=post;quote=', $message['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';last_msg=', $context['topic_last_message'], '">', $txt['quote'], '</a></li>';

// Can the user modify the contents of this post?
if ($message['can_modify'])
echo '
<li class="modify_button"><a href="', $scripturl, '?action=post;msg=', $message['id'], ';topic=', $context['current_topic'], '.', $context['start'], '">', $txt['modify'], '</a></li>';

// How about... even... remove it entirely?!
if ($message['can_remove'])
echo '
<li class="remove_button"><a href="', $scripturl, '?action=deletemsg;topic=', $context['current_topic'], '.', $context['start'], ';msg=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '" onclick="return confirm(\'', $txt['remove_message'], '?\');">', $txt['remove'], '</a></li>';

// What about splitting it off the rest of the topic?
if ($context['can_split'] && !empty($context['real_num_replies']))
echo '
<li class="split_button"><a href="', $scripturl, '?action=splittopics;topic=', $context['current_topic'], '.0;at=', $message['id'], '">', $txt['split'], '</a></li>';

// Can we restore topics?
if ($context['can_restore_msg'])
echo '
<li class="restore_button"><a href="', $scripturl, '?action=restoretopic;msgs=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $txt['restore_message'], '</a></li>';

// Show a checkbox for quick moderation?
if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && $message['can_remove'])
echo '
<li class="inline_mod_check" style="display: none;" id="in_topic_mod_check_', $message['id'], '"></li>';

if ($message['can_approve'] || $context['can_reply'] || $message['can_modify'] || $message['can_remove'] || $context['can_split'] || $context['can_restore_msg'])
echo '
</ul>';


редактируем элементы списка (тобишь удаляем/закомментируем)

вот и все...

Корреспондент

Скажите пожалуйста, а у всех ли версий SMF, нет изначально графических кнопок? Может есть старые версии, в которых по умолчанию уже установлены кнопки, чтобы я мог просто заменить их на свои?
Я почему это спрашиваю. Знаю один форум, он посвящён спутниковому ТВ. Так вот там, капитально сделаны кнопки, при этом установлены они везде! Обратил на версию их форума, это - 1.1.18
Вот уж не думал я, что такая лажа будет у версии 2.0.7.
Редактировал шаблон как посоветовал Mr.Anviss. Там где строка меняется... В принципе метод работает. Графическую кнопку можно поставить, она отображается, НО, остаётся видимым задний фон. Т.е. когда курсор мыши не наведён, он серого оттенка, когда курсор наводим - он становится оранжевым.

Mavn

css правьте. вопрос не в версии форума а в теме оформления! выше я дал ссылку на тему вавилон там все графика
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Корреспондент

Mavn, благодарю конечно. Начинаю понимать!
Осталась одна непонятка, почему эти иконки (во вложении, (defolt)) не хотят менятья, когда форум уже загружен на хост. При этом что другие иконки успешно меняются. Ошибиться не мог. Имя иконки и расширение указываю верно, но всёровно отображаются старые. Кэш браузера чистил.

digger®

Цитата: Корреспондент от 07 февраля 2014, 08:22:07Осталась одна непонятка, почему эти иконки (во вложении, (defolt)) не хотят менятья, когда форум уже загружен на хост. При этом что другие иконки успешно меняются. Ошибиться не мог. Имя иконки и расширение указываю верно, но всёровно отображаются старые.
Каким образом вы их меняете? Эти иконки лежат в спрайте /Themes/default/images/theme/quickbuttons.png

Mr. Anviss

Цитата: Корреспондент от 07 февраля 2014, 08:22:07Осталась одна непонятка, почему эти иконки (во вложении, (defolt)) не хотят менятья, когда форум уже загружен на хост. При этом что другие иконки успешно меняются. Ошибиться не мог
Здесь дело не в ошибке, а в том что Вы не думаете. Mavn написал Вам что надо редактировать css. Редактируйте классы списка и будет вас счастье.

Корреспондент

Цитата: digger® от 07 февраля 2014, 12:08:04
Каким образом вы их меняете? Эти иконки лежат в спрайте /Themes/default/images/theme/quickbuttons.png
Digger, всё просто. Непосредственно в панели управления, иду в ту папку (button), там где кнопки. Например хочу сменить кнопку "цитата". Выбираю эту кнопку, там она обозначена как "quote.gif". Удаляю её и тут сразу же загружаю новую. Соответственно если новая кнопка заранее не переименована, то в ПА есть функция переименовать, прописываю как: quote.gif
Вот собственно и всё. Этот метод у меня успешно срабатывал на некоторых движках.
Mr.Anviss, css тут не причём, css отвечает за те кнопки, которые меняют цвет, при наведении на них курсора.

digger®

Цитата: Корреспондент от 07 февраля 2014, 16:16:39
ЦитироватьКаким образом вы их меняете? Эти иконки лежат в спрайте /Themes/default/images/theme/quickbuttons.png
Digger, всё просто. Непосредственно в панели управления, иду в ту папку (button), там где кнопки. Например хочу сменить кнопку "цитата". Выбираю эту кнопку, там она обозначена как "quote.gif". Удаляю её и тут сразу же загружаю новую. Соответственно если новая кнопка заранее не переименована, то в ПА есть функция переименовать, прописываю как: quote.gif
А вы вообще читаете, что вам отвечают?

Mr. Anviss

Цитата: digger® от 07 февраля 2014, 16:50:39А вы вообще читаете, что вам отвечают?
Да он тупо тролит


Корреспондент

Очень смешно!
Я попросил совета и помощи, но если вы в этом троллинг заметили, то какой дальше может быть разговор?!

Mr. Anviss

Цитата: Корреспондент от 08 февраля 2014, 05:05:02Я попросил совета и помощи, но если вы в этом троллинг заметили, то какой дальше может быть разговор?!
Конечно тролинг, если мы тебе про Фому, а ты нам про Ерему то что это? Ты задал вопрос как изменить графические элементы вот здесь на что я тебе ответил что надо править css темы. а digger сказал что надо заменить спрайт /Themes/default/images/theme/quickbuttons.png . В продолжении ты говоришь что нифига не получается и приводишь в доказательство действия для вставки графики вместо кнопок ответ, не уведомлять и пр. рядом с ними

GeorG

Цитата: Корреспондент от 06 февраля 2014, 18:17:38Скажите пожалуйста, а у всех ли версий SMF, нет изначально графических кнопок? Может есть старые версии, в которых по умолчанию уже установлены кнопки, чтобы я мог просто заменить их на свои?
Раз уж у вас так все плохо с пониманием кода, стилей и откуда именно загружаются изображения. То почему бы просто новые темы с кнопками не попробовать?

Типа таких:
http://custom.simplemachines.org/themes/index.php?lemma=1273
http://custom.simplemachines.org/themes/index.php?lemma=1994
http://custom.simplemachines.org/themes/index.php?lemma=2603
http://custom.simplemachines.org/themes/index.php?lemma=2338
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Корреспондент

Georg, за темы +
Но корректно работает лишь одна  (только что проверил на тестовике SMF 2.0.9 + Portal), это YaBB_Next_Gen. YaBB_Classik также всё вроде норма, но в последний момент обратил внимание, исчезла форма быстрого ответа. У меня по-умолчанию она развернута. Вместо неё какая-то полоса и всё.
На остальных двух темах кнопки вообще не отображаются. По-видимому в самом коде неправильно прописан путь к картинке. Позже потом архив гляну.

И ещё такой вопрос, загрузка стилей здесь всё без проблем, но я не пойму, а как потом удалить ненужный стиль обратно из админки?

GeorG

Цитата: Корреспондент от 10 ноября 2014, 00:42:20но в последний момент обратил внимание, исчезла форма быстрого ответа. У меня по-умолчанию она развернута.
Может какй мод на быстрый ответ установлен на форуме, а в эту только что установленную тему, он естественно не прописан.
Вообще, при установке новой темы, все моды которые могут в ней делать запись, надо обязательно переустановить и в неё.

Цитата: Корреспондент от 10 ноября 2014, 00:42:20но я не пойму, а как потом удалить ненужный стиль обратно из админки?
Из админки, можно удалить только запись в БД о установленной теме (это на странице установленных тем), чтобы её удалить физически с сервера, это только через FTP.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru