|
||
Ответить | |
|
#1
|
|
Вес репутации:
0
Регистрация: 27.02.2009
Адрес: Москва
Сообщений: 7,302
Сказал(а) спасибо: 578
Спасибок 2,627
в 1,832 сообщениях |
Изучаем postbit_legacy -
07.02.2010, 04:13
Для тех кто немного уже освоился с основными настройками форума vBulletin, и более менее разобрался со всеми пунктами Админ панели, перейдем к редактированию шаблонов и придания внешнему виду форума более "опрятного" вида.
Начнем с postbit_legacy Вот так вот выглядит шаблон postbit_legacy в стиле по умолчанию Вот собственно сам его код (под спойлером), да бы не было ни каких разночтений с вашими: Оригинальный код postbit_legacy<table id="post$post[postid]" class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="1" border="0" width="100%" align="center"> [-] А вот так он выглядит и сопоставляется в визуальном редакторе html Adobe Dreamweaver CS3 Вот стало более менее понятно, что и как расположено... Все иконки которые упоминаются в postbit_legacy можно отыскать и заменить на свои в папке /images/ вашего форума. В частности иконки Редактировать, Правка, Цитировать и т.д. находятся в папке /images/buttons/, иконки статуса, такие как ICQ, Онлайн, IP, Пожаловаться на сообщение и т.п. из левого блока, можно найти в вышеуказанной папке и дополнительно в папке /images/statusicon. Думаю процесс поиска иконок для Вас не составит труда. Начнем с конца кода. <!-- post $post[postid] popup menu --> $post[username] это переменная определяет Ник автора сообщения $vbphrase[view_public_profile] соответствует Посмотреть профиль $vbphrase[send_private_message_to_x] Отправить личное сообщение пользователю $vbphrase[send_email_to_x] Отправить сообщение по электронной почте (показано если это разрешит сам Пользователь у себя в кабинете) $vbphrase[visit_xs_homepage] Посетить домашнюю страницу (если её укажет пользователь в кабинете $vbphrase[find_more_posts_by_x] Найти ещё сообщения от пользователя $vbphrase[add_x_to_buddy_list]Добавить пользователя в список знакомых Все выше указанные переменные заключены между тегами типа <if condition="$show['pmlink']">....</if> примерно значит - что выполняется проверка, указана ли данная инфо в кабинете пользователя, разрешена ли она для показа и соответственно отображается или нет в этом меню. Фразы можно переставлять местами, удалять и добавлять новые (например, при использовании хаков) Рассмотрим следующий блок кода: Код HTML:
<if condition="$show['moderated']"> <td class="alt2" align="$stylevar[right]"> <else /> <td class="alt2" align="$stylevar[right]"> </if> <!-- controls --> <if condition="$post['editlink']"> <img style="display: none" id="progress_$postid" src="$stylevar[imgdir_misc]/progress.gif" alt="$vbphrase[loading_editor_please_wait]" /> <a href="$post[editlink]" name="vB::QuickEdit::$post[postid]"><img src="$stylevar[imgdir_button]/edit.gif" alt="$vbphrase[edit_delete_message]" border="0" /></a> </if> <if condition="$post['forwardlink']"> <a href="$post[forwardlink]"><img src="$stylevar[imgdir_button]/forward.gif" alt="$vbphrase[forward_message]" border="0" /></a> </if> <if condition="$post['replylink']"> <a href="$post[replylink]" rel="nofollow"><img src="$stylevar[imgdir_button]/<if condition="$post['forwardlink']">reply_small<else />quote</if>.gif" alt="$vbphrase[reply_with_quote]" border="0" /></a> </if> <if condition="$show['multiquote_post']"> <a href="$post[replylink]" rel="nofollow" onclick="return false"><img src="$stylevar[imgdir_button]/multiquote_<if condition="$show['multiquote_selected']">on<else />off</if>.gif" alt="$vbphrase[multi_quote_this_message]" border="0" id="mq_$post[postid]" /></a> </if> <if condition="$show['quickreply'] AND !$show['threadedmode']"> <a href="$post[replylink]" rel="nofollow" id="qr_$post[postid]" onclick="return false"><img src="$stylevar[imgdir_button]/quickreply.gif" alt="$vbphrase[quick_reply_to_this_message]" border="0" /></a> </if> <if condition="$show['moderated']"> <img src="$stylevar[imgdir_misc]/moderated.gif" alt="$vbphrase[moderated_post]" border="0" /> </if> <if condition="$show['deletedpost']"> <img src="$stylevar[imgdir_misc]/trashcan.gif" alt="$vbphrase[deleted_post]" border="0" /> </if> <if condition="$show['redcard']"> <a rel="nofollow" href="infraction.php?$session[sessionurl]do=view&p=$post[postid]"><img src="$stylevar[imgdir_button]/redcard.gif" alt="$vbphrase[received_infraction]" border="0" /></a> <else /> <if condition="$show['yellowcard']"> <a rel="nofollow" href="infraction.php?$session[sessionurl]do=view&p=$post[postid]"><img src="$stylevar[imgdir_button]/yellowcard.gif" alt="$vbphrase[received_warning]" border="0" /></a> </if> </if> <!-- / controls --> </td> Код заключенный между <!-- controls --><!-- / controls --> это ни что иное, как кнопки: Сюда можно добавлять новые, удалить не нужные и т.п. Вот все условия которые присутствуют: <if condition="$post['editlink']"> кнопка Правка, и появление статуса Прогресса (progress.gif) <if condition="$post['forwardlink']"> кнопка Назад <if condition="$post['replylink']"> кнопка Ответить, Цитировать <if condition="$show['multiquote_post']"> кнопка Мультицитирования <if condition="$show['quickreply'] AND !$show['threadedmode']">кнопка Быстрый ответ <if condition="$show['moderated']"> показывается иконка Модерирования, если есть права <if condition="$show['deletedpost']"> показывается, если сообщение Удалено <if condition="$show['redcard']"> показывается, если автору выдана Красная карточка <if condition="$show['yellowcard']"> показывается, если автору выдана Желтая карточка А вот кнопки и соответсвующее им имя файла изображения: Продолжаем двигаться снизу вверх, рассмотрим следующий код: Код HTML:
<td class="alt1"> $post[onlinestatus] <if condition="$show['reportlink']"><a href="report.php?$session[sessionurl]p=$post[postid]" rel="nofollow"><img class="inlineimg" src="$stylevar[imgdir_button]/report.gif" alt="$vbphrase[report_bad_post]" border="0" /></a></if> $post[iplogged] </td> $post[onlinestatus] иконка показывающая Online или Offline пользователь (то есть на форуме он или нет). <if condition="$show['reportlink']"> если вы зарегены на форуме и у вас есть соответствующие права, то вы можете пожаловаться на сообщение форумчанина, показывается иконка images/buttons/report.gif $post[iplogged] показывается иконка с ip адресом пользователя, если есть соответствующие права Вот слева направо по порядку: Далее код: <if condition="$show['postedited']"> То есть после правки сообщения, будет указано Кем, Когда и по какой причине редактировалось сообщение. <hr size="1" style="color:$stylevar[tborder_bgcolor]" /> вычерчивается тонкая линия Ну а дальнейший код логически можно сопоставить с изображением выше. Далее: <if condition="$post['signature']"> Далее код отображения Вложений (attachments):
Так же не буду останавливаться подробно, в коде рассмотрены варианты отображения вложений в зависимости от их типа (jpg, bmp, doc, txt, rar и т.д.) просто выложу скрин: Далее рассмотрим маленький код, и несколько расширим возможности его применения: <!-- message --> $post[message] это само сообщение на форуме Иногда может потребоваться, чтобы например ссылки в сообщении выделялись особым образом, не как на всем форуме, включая меню и подменю и т.д. В этом случае подправим немного код. <!-- message --> Добавим <div class="link_post"> и закроем тег перед </div><!-- / attachments --> назвать класс можно как угодно. Теперь перейдем в админ панель Стили и шаблоны -- Управление стилями -- Обычный стиль -- Основная таблица CSS (а не Все опции стиля), прокручиваем в самый низ до Дополнительные определения CSS и добавляем например следующее (как на скрине) .link_post a {text-decoration: none; color: #0066FF} .link_post a:hover {border-bottom: 1px dashed; color: #0033FF} Теперь посмотрим, как стали отображаться ссылки в наших сообщениях: и при наведении на ссылку: Вот так можно изменить ссылки при помощи CSS. Далее код: <if condition="$show['messageicon'] OR $post['title']"> Это ни что иное как, иконка темы <img class="inlineimg" src="$post[iconpath]" alt="$post[icontitle]" border="0" /> и название самой темы $post[title] + длинная черта <hr size="1" style="color:$stylevar[tborder_bgcolor]" /> Следующий блок кода: <div class="smallfont"> <b>$vbphrase[join_date]:</b> $post[joindate] Регистрация: Дата <b>$vbphrase[location_perm]:</b> $post[field2] местоположение: место (например, Адрес: Москва) <b>$vbphrase[age]:</b> $post[age] Возраст: сам возраст <b>$vbphrase[posts]:</b> $post[posts] Сообщений: кол-во сообщ. $vbphrase[reppower]: $post[reppower] Вес репутации: сам вес $post[reputationdisplay] Кол-во очков репутации <if condition="$show['reputationlink']"> условно иконка добавления репутации <if condition="$show['popups']"> всплывающее окно выставления оценок репутации <if condition="$show['infractionlink']"> условно иконка добавления Предупреждения автору сообщения <div>$post[icqicon] $post[aimicon] $post[msnicon] $post[yahooicon] $post[skypeicon]</div> как видно из названий иконки ICQ, AIM, MSN, Yahoo, Skype Далее код: <if condition="$post['usertitle']"> $post[usertitle] статус пользователя, то есть администратор, модератор, гость, пользователь и т.д. $post[rank] ранг пользователя, например, новичок, эксперт и т.д. <if condition="$show['avatar']"> условия показа Аватара Изменив например класс <div class="smallfont">, например на avatar, то есть PHP код:
и добавив следующий стиль в Дополнительные определения CSS, как было выше показано: .avatar IMG { Получим вот такую рамочку вокруг изображения аватара: Следующий блок кода: <tr valign="top"> <td class="alt1" width="175"> 175px это ширина нашей левой колонки, можно изменить по желанию <if condition="$show['profile']"> <a rel="nofollow" class="bigusername" href="member.php?$session[sessionurl]u=$post[userid]">$post[musername]</a> <script type="text/javascript"> vbmenu_register("postmenu_$post[postid]", true);</script> <else /> $post[musername] </if> Отображение Ника пользователя, для двух случаев, когда выполняется или не выполняется условие if. Заключив это условие в <div class="new_class"><if condition ...>....</if></div>. Можно также поэкспериментировать с CSS. И последняя часть кода: <if condition="$show['announcement']"> Данная часть не столь важна, и поэтому остается не тронутой, как правило. За что она отвечает видно хорошо на скрине: Поэтому не хочу на ней останавливаться подробно. Думаю данная статья внесет некоторую ясность в то, как надо и как довольно несложно редактировать шаблоны в vbulletin. Однако знания html + CSS позволят оформить ваш форум как нельзя лучше.
Удачи. C ув. Vector <!-- Вопросы задаем на форуме, не в ЛС --> |
#2
|
|
Вес репутации:
0
Регистрация: 27.02.2009
Адрес: Москва
Сообщений: 7,302
Сказал(а) спасибо: 578
Спасибок 2,627
в 1,832 сообщениях |
18.08.2010, 14:33
Допустим мы хотим скрыть мини инфо из профиля пользователя, т.е. количество сообщений, адрес, дату регистрации и т.д. Но при нажатии на надпись (например) Подробнее, раскрыть этот скрывающийся список. Ищем в шаблоне postbit_legacy <div class="smallfont"> Вверх нашего нового кода добавим:
<br /> - пропуск между Аватаром и нашей надписью Подробнее class="thead" - это класс оформления надписи Подробнее (можете изменить на другой используя CSS) img - тут указываем адрес на изображение (т.е. те самые стрелочки скрытия, раскрытия) <a rel="nofollow" href="member.php?$session[sessionurl]u=$post[userid]">Подробнее</a> А это наша надпись Подробнее, при нажатии на которую перейдете в профиль автора сообщения. Можно ссылку на профиль не вставлять, а просто написать Подробнее или Инфо или что-то еще. Скрываемую инфо я помещу в таблицу. Для этого Отбрасываем теги <div class="smallfont"> и его закрывающий в низу </div> Все <div> меняем на <tr><td>, а закрывающий </div> соответсвенно на закрывающие </td></tr>, так же добавим дополнительные условия <if></if> и еще несколько переменных заключим в <tr><td> В итоге должны получить: <br /> Смотрится конечно не очень, да и дата регистрации уехала на строчку ниже. Исправим это посредством CSS. Создадим класс с названием например postuserinfo и присвоим его каждому тегу <td> (более простого способа с правильным отображение не нашёл) Получим следующий код: <br />
Если у Вас установлен Хак Спасибо за сообщение (http://pcvector.ru/t839/), то его бы тоже не помешало оформить так же... Для этого придется удалить или закомментировать в postbit_legacy переменную $template_hook[postbit_userinfo_right] То есть за место кода: <if condition="$template_hook['postbit_userinfo_right']"> Вставляем следующий код: <if condition="$post[userid]"> Просто оформить в рамочку без сворачивания Если хотите просто оформить пункты в рамочку, не сворачивая... в шаблоне postbit_legacy найти вот этот кусочек: PHP код:
PHP код:
PHP код:
|
#3
|
|
Вес репутации:
0
Регистрация: 27.02.2009
Адрес: Москва
Сообщений: 7,302
Сказал(а) спасибо: 578
Спасибок 2,627
в 1,832 сообщениях |
Оформляем ссылки в сообщениях -
16.02.2011, 15:31
Давайте красиво оформим ссылки отображаемые в сообщениях, чтобы их легко можно было отличить.
В postbit_legacy найти <!-- message --> Сделать так
Пояснение: Открыть тег <div class="link_post"> после <!-- message --> и закрыть его </div> перед <!-- / attachments --> Теперь перейдем в админ панель Стили и шаблоны -- Управление стилями -- Обычный стиль -- Основная таблица CSS (а не Все опции стиля), прокручиваем в самый низ до Дополнительные определения CSS и вставляем... .link_post a { Цвет изменяется в параметре:color: #3a599d; <!-- Вопросы задаем на форуме, не в ЛС --> |
#4
|
|
Вес репутации:
0
Регистрация: 04.01.2011
Сообщений: 51
Сказал(а) спасибо: 35
Поблагодарили 1 раз
в 1 сообщении |
16.02.2011, 16:25
Админы и модераторы форума: За эту тему отдельное БОЛЬШОЕ спасибо Вам!
А цвет обводки контура можно поменять с синего на ярко-оранжевый например? Код пропишите плиз. |
#5
|
|
Вес репутации:
0
Регистрация: 22.03.2011
Сообщений: 1
Сказал(а) спасибо: 3
Спасибок 0
в 0 сообщениях |
23.03.2011, 14:30
Уважаемый, Vector, большое спасибо за этот топик.
Единственное что хотелось бы узнать (о чём вы не упомянули), названия переменных отвечающих за: 1. Количество поблагодарвших данного пользователя 2. Количество собственных благодарностей пользователя (т.е. скольких он поблагодарил) 3. Количество сообщений, за которых поблагодарили пользователя Вообщем как у Вас |
#6
|
|
Вес репутации:
0
Регистрация: 27.02.2009
Адрес: Москва
Сообщений: 7,302
Сказал(а) спасибо: 578
Спасибок 2,627
в 1,832 сообщениях |
23.03.2011, 16:31
Цитата:
Сообщение от d0b
Единственное что хотелось бы узнать (о чём вы не упомянули), названия переменных отвечающих за: 1. Количество поблагодарвших данного пользователя 2. Количество собственных благодарностей пользователя (т.е. скольких он поблагодарил) 3. Количество сообщений, за которых поблагодарили пользователя
Вообще хак спасибо выводится вот в этой переменной $template_hook[postbit_userinfo_right] Это универсальный контейнер в который обычно помещают свои переменный хаки, те же блоги, помещают вывод в эту же переменную |
#7
|
|
Вес репутации:
0
Регистрация: 13.03.2011
Адрес: Острогожск [36]
Сообщений: 563
Сказал(а) спасибо: 40
Спасибок 70
в 61 сообщениях |
17.04.2011, 18:29
Так как передвинуть кнопку "спасибо"?
|
#8
|
|
Вес репутации:
0
Регистрация: 27.02.2009
Адрес: Москва
Сообщений: 7,302
Сказал(а) спасибо: 578
Спасибок 2,627
в 1,832 сообщениях |
17.04.2011, 23:15
Если у Вас установлен Хак Спасибо за сообщение (http://pcvector.ru/t839/), то его бы тоже не помешало оформить так же...
Для этого придется удалить или закомментировать в postbit_legacy переменную $template_hook[postbit_userinfo_right] То есть за место кода: <if condition="$template_hook['postbit_userinfo_right']"> Вставляем следующий код: <if condition="$post[userid]"> А про передвинуть кнопку... Спасибо... А куда её передвинуть ? |
#9
|
|
Вес репутации:
0
Регистрация: 13.03.2011
Адрес: Острогожск [36]
Сообщений: 563
Сказал(а) спасибо: 40
Спасибок 70
в 61 сообщениях |
18.04.2011, 08:12
Цитата:
Сообщение от Vector
А про передвинуть кнопку... Спасибо... А куда её передвинуть ?
|
#10
|
|
Вес репутации:
0
Регистрация: 27.02.2009
Адрес: Москва
Сообщений: 7,302
Сказал(а) спасибо: 578
Спасибок 2,627
в 1,832 сообщениях |
18.04.2011, 18:33
искать и перемещать в шаблоне postbit_legacy (postbit)
переменную $template_hook[postbit_controls] |
Ответить |
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Статья Изучаем иностранный язык с помощником лингвиста | Cluber | Флейм | 0 | 22.11.2009 21:32 |
Новости Изучаем концепт материнской платы ASUS Marine Cool | Vector | Новости Hardware | 0 | 28.02.2009 22:52 |