Advertisement:

Author Topic: [TUTORIAL] Como acrescentar botões ao menu[SMF 1.1.X]  (Read 55432 times)

Offline Costa

  • SMF Hero
  • ******
  • Posts: 3,045
  • Gender: Male
  • Do NOT feed the trolls...
[TUTORIAL] Como acrescentar botões ao menu[SMF 1.1.X]
« on: October 18, 2008, 01:39:21 PM »
QiTeam - Qualidade ao seu serviço!
Soluções de hospedagem! Contacte-nos..

Aqui vou apenas falar do Tema Default do SMF, os outros temas são ligeiramente diferentes e cada um é como cada qual.

Começando

Vão na pasta do vosso tema e abram o index.template.php
Nesse ficheiro vão ter que procurar o menu, procurem pelo seguinte código:
Code: [Select]
// Show the [home] button.
    echo ($current_action=='home' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
                <td valign="top" class="maintab_' , $current_action == 'home' ? 'active_back' : 'back' , '">
                    <a href="', $scripturl, '">' , $txt[103] , '[/url]
                </td>' , $current_action == 'home' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';

Este é o código do botão HOME(ex www.teusite.com/index.php)



Vamos colocar um botão para o pai dos burros, o Google.

Para abrir na mesma aba:
Code: [Select]
     // Um botão novo, para o Google
    echo'
             <td valign="top" class="maintab_back">
                <a href="http://google.com" >Google</a>             
             </td>';

Para abrir em uma nova aba
Code: [Select]
    //  Um botão novo, para o Google
    echo'
             <td valign="top" class="maintab_back">
                <a href="http://google.com" target="_blank">Google</a>             
             </td>';

O resultado abaixo


Se vocês definirem um link DENTRO do fórum (algo que que seja uma ação do tipo ?action=qualquer_coisa_que_queiram ) vocês vão ter que adicionar a ação na chamada abaixo.

Code: [Select]
    if (in_array($context['current_action'], array('search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm', 'links')))
        $current_action = $context['current_action'];

No entanto isto apenas serve se fizerem um botão para um endereço dentro do vosso fórum agregado a uma ação

Espero que seja util.

Farebem
-Costa
« Last Edit: June 13, 2012, 02:25:44 PM by Costa »
Hugo "Costa" Fernandes
Todas as MP's a pedir ajuda são sujeitas a radioactividade, microondas, queimadas e atiradas borda fora.

"At least someone appreciates the fact that I am doing and not thinking..."
"Laziness is counter-revolutionary."

Offline jossanaijr

  • SMF Hero
  • ******
  • Posts: 2,131
  • Gender: Male
    • Netbook Forum
Re: Como acrescentar botões ao menu
« Reply #1 on: October 18, 2008, 03:51:12 PM »
Apenas para complementar que é possível dividir  os botões em 2 linhas ou mais quando já tiverem muitos, inclusive personalizando onde "quebrar" se for convidado, administrador, ou de determinado grupo.
A postagem está em inglês mas acho que dá para entender que o código deve ser colocado onde se quer que ocorra a divisão:
http://www.simplemachines.org/community/index.php?topic=131924.msg1303723#msg1303723

Offline Jumper™

  • Semi-Newbie
  • *
  • Posts: 90
Re: Como acrescentar botões ao menu
« Reply #2 on: October 19, 2008, 05:50:26 AM »
Como faço para alinhar o botão à esquerda?

coloquei o código como indica o amigo Costa, mas o botão aparece à direita do monitor, e os outros que já lá estavam estão à esquerda.

Cumps



PS: excelente poste, deveria ser colocado no indice.
« Last Edit: October 19, 2008, 05:52:11 AM by Jumper™ »

Offline Costa

  • SMF Hero
  • ******
  • Posts: 3,045
  • Gender: Male
  • Do NOT feed the trolls...
Re: Como acrescentar botões ao menu
« Reply #3 on: October 19, 2008, 09:58:44 AM »
Jumper, os botões aparecem em ordem, para botar o botão há esquerda basta colocálo na ordem

Anexa aí o teu index.template.php que eu dou uma olhada e depois posto explicando como fazer e anexo o arquivo já modificado
Hugo "Costa" Fernandes
Todas as MP's a pedir ajuda são sujeitas a radioactividade, microondas, queimadas e atiradas borda fora.

"At least someone appreciates the fact that I am doing and not thinking..."
"Laziness is counter-revolutionary."

Offline Jumper™

  • Semi-Newbie
  • *
  • Posts: 90
Re: Como acrescentar botões ao menu
« Reply #4 on: October 19, 2008, 10:34:11 AM »
Eu já adicionei (quase no fim do ficheiro) Tópicos recentes, só que aparece do lado direito e eu queria que aparecesse junto aos outros botões para que depois eu pudesse fazer um botão identico, não sei se me fiz entender lol.

Offline Costa

  • SMF Hero
  • ******
  • Posts: 3,045
  • Gender: Male
  • Do NOT feed the trolls...
Re: Como acrescentar botões ao menu
« Reply #5 on: October 19, 2008, 10:44:32 AM »
Vê se agora dá, e me adiciona no msn

hugomf[a]live.com.pt
Se estiver certo agora eu explico todo o processo
Hugo "Costa" Fernandes
Todas as MP's a pedir ajuda são sujeitas a radioactividade, microondas, queimadas e atiradas borda fora.

"At least someone appreciates the fact that I am doing and not thinking..."
"Laziness is counter-revolutionary."

Offline Costa

  • SMF Hero
  • ******
  • Posts: 3,045
  • Gender: Male
  • Do NOT feed the trolls...
Re: Como acrescentar botões ao menu
« Reply #6 on: October 19, 2008, 11:17:32 AM »
Resolviddo, hehe

é simples
Code: (encontra) [Select]
// Edit Profile... [profile]
    if ($context['allow_edit_profile'])
        echo '
                <a href="', $scripturl, '?action=profile">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/profile.gif" alt="' . $txt[79] . '" border="0" />' : $txt[467]), '</a>', $context['menu_separator'];

Code: (Acrescenta a seguir) [Select]
    // Here we go some new button, new mensages.
    echo '
                <a href="', $scripturl, '?action=unread;all;start=0">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/topico.gif" alt="' . $txt['Tópicos não lidos'] . '" border="0" />' : $txt['Tópicos não lidos']), '</a>', $context['menu_separator'];


Tens que fazer uma imagem para ficar tudo em harmonia, e depois voilá!
fica como a imagem em anexo
OBS: editei o botão com o paint, precisas de alguém que manje de PS  :P
Hugo "Costa" Fernandes
Todas as MP's a pedir ajuda são sujeitas a radioactividade, microondas, queimadas e atiradas borda fora.

"At least someone appreciates the fact that I am doing and not thinking..."
"Laziness is counter-revolutionary."

Offline Jumper™

  • Semi-Newbie
  • *
  • Posts: 90
Re: Como acrescentar botões ao menu
« Reply #7 on: October 19, 2008, 05:22:46 PM »
Obrigado amigo Costa, já resolvi o problema do botão, tá 5*****.

Um abraço
jumper

Offline margarett

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 19,761
  • Gender: Male
Re: Como acrescentar botões ao menu
« Reply #8 on: October 20, 2008, 06:52:50 AM »
Bom tópico ;) Vai já a caminho do indíce ;)
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

Quote
Over 90% of all computer problems can be traced back to the interface between the keyboard and the chair

Offline migueldefender

  • Semi-Newbie
  • *
  • Posts: 81
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #9 on: November 20, 2008, 05:03:00 PM »
Costa, diz-me uma coisa. Eu consegui perfeitamente instalar o botão (tendo em conta a minha cultura informatica, acho que foi uma grande proeza lol), mas, aconteceu-me outra coisa.

De facto o botão ficou instalado, mas ficou a destoar da barra. Olha a seguinte imagem:
http://img152.imageshack.us/img152/6898/probox7.jpg


Há alguma coisa que se possa fazer? :)


Um abraço,
« Last Edit: November 20, 2008, 05:04:36 PM by migueldefender »

Offline migueldefender

  • Semi-Newbie
  • *
  • Posts: 81
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #10 on: November 20, 2008, 05:08:05 PM »
ahh, já agora, o meu texto não está igual ao teu, será por causa disso?

// Show the [home] and [help] buttons.
   echo $tab1, $ca== 'home' ? '1' : '2' , '"><a href="', $scripturl, '">'.$txt[103]. '</a></td>';
   echo $tab1, $ca== 'help' ? '1' : '2' , '"><a href="', $scripturl, '?action=help" >'.$txt[119]. '</a></td>';

   // How about the [search] button?
   if ($context['allow_search'])
      echo $tab1, $ca== 'search' ? '1' : '2' , '"><a href="', $scripturl, '?action=search">'.$txt[182]. '</a></td>';

   // Is the user allowed to administrate at all? ([admin])
   if ($context['allow_admin'])
      echo $tab1, $ca== 'admin' ? '1' : '2' , '"><a href="', $scripturl, '?action=admin">'.$txt[2]. '</a></td>';


   // Edit Profile... [profile]
   if ($context['allow_edit_profile'])
      echo $tab1, $ca== 'profile' ? '1' : '2' , '"><a href="', $scripturl, '?action=profile">'.$txt[467]. '</a></td>';

   // Go to PM center... [pm]
   if ($context['user']['is_logged'] && $context['allow_pm'])
      echo $tab1, $ca== 'pm' ? '1' : '2' , '"><a href="', $scripturl, '?action=pm">' , $txt['pm_short'] , ' ', $context['user']['unread_messages'] > 0 ? '[<strong>'. $context['user']['unread_messages'] . '</strong>]' : '' , '</a></td>';

        // Here we go some new button.
    echo'
             <td valign="top" class="maintab_' , $current_action == 'Google' ? 'active_back' : 'back' , '">
                <a href="http://google.pt" target="_blank">' , 'GOOGLE' , '</a>             
             </td>';

   // The [calendar]!
   if ($context['allow_calendar'])
      echo $tab1, $ca== 'calendar' ? '1' : '2' , '"><a href="', $scripturl, '?action=calendar">'.$txt['calendar24']. '</a></td>';

   // If the user is a guest, show [login] and [register] buttons.
   if ($context['user']['is_guest'])
   {
      echo $tab1, $ca== 'login' ? '1' : '2' , '"><a href="', $scripturl, '?action=login">'.$txt[34]. '</a></td>';
      echo $tab1, $ca== 'register' ? '1' : '2' , '"><a href="', $scripturl, '?action=register">'.$txt[97]. '</a></td>';
   }
   // Otherwise, they might want to [logout]...
   else
      echo $tab1, $ca== 'logout' ? '1' : '2' , '"><a href="', $scripturl, '?action=logout;sesc='.$context['session_id'].'">'.$txt[108]. '</a></td>';


   echo '<td><img src="'.$settings['images_url'].'/img/tab_last.jpg" alt="" style="margin: 0;" /></td></tr></table>';
}


Um abraço,

Offline margarett

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 19,761
  • Gender: Male
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #11 on: November 21, 2008, 06:12:33 AM »
Isso acontece-te porque o código que o Costa colocou é para o tema default, e usa classes de CSS diferentes do teu (naturalmente).

Experimenta assim:
Code: [Select]
echo $tab1, $ca== 'home' ? '1' : '2' , '"><a href="http://google.pt" target="_blank">' , 'GOOGLE' , '</a></td>';

Miguel, vou remover o outro tópico, OK? ;) Entretanto já fico de olho neste

edit: Esta nota fica para todos os que pretenderem usar a informação deste tutorial: O problema do migueldefender vai acontecer a toda a gente que não use o tema default (a larga maioria). Não basta copiar/colar, é sempre preciso alguma adaptação.
« Last Edit: November 21, 2008, 06:15:49 AM by margarett »
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

Quote
Over 90% of all computer problems can be traced back to the interface between the keyboard and the chair

Offline Costa

  • SMF Hero
  • ******
  • Posts: 3,045
  • Gender: Male
  • Do NOT feed the trolls...
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #12 on: November 21, 2008, 06:36:17 AM »
Code: [Select]
    // Aqui vai aparecer um novo botão, o pai dos burros, Google
   echo $tab1, $ca== 'home' ? '1' : '2' , '"><a href="http://google.com.br" target="_blank">' , 'GOOGLE' , '</a></td>';

Aí está teu código

Eu avisei no início, este código é para o tema default
Têm que olhar para o código dos vossos temas e adaptar

Para o teu é simples

    // Aqui vai aparecer um novo botão
   echo $tab1, $ca== 'home' ? '1' : '2' , '"><a href="http://google.com.br" target="_blank">' , 'GOOGLE' , '</a></td>';

O que está em vermelho é p link (este código é para abrir em uma nova aba)
O que está a verde a o nome que vai aparecer no menu
Hugo "Costa" Fernandes
Todas as MP's a pedir ajuda são sujeitas a radioactividade, microondas, queimadas e atiradas borda fora.

"At least someone appreciates the fact that I am doing and not thinking..."
"Laziness is counter-revolutionary."

Offline migueldefender

  • Semi-Newbie
  • *
  • Posts: 81
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #13 on: November 21, 2008, 01:24:46 PM »
Já consigo!!!! :D :D :D :D :D  Eu bem andava a tentar interpretar os códigos, mas não estava a perceber onde é que colocava o link, pois não tinha outras referências dentro do que lá estava. :)


Um abraço,

Offline Costa

  • SMF Hero
  • ******
  • Posts: 3,045
  • Gender: Male
  • Do NOT feed the trolls...
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #14 on: November 21, 2008, 01:27:07 PM »

Aleuluia irmão!!!

hueheuehueheuheu

qqer coisa posta de novo
Hugo "Costa" Fernandes
Todas as MP's a pedir ajuda são sujeitas a radioactividade, microondas, queimadas e atiradas borda fora.

"At least someone appreciates the fact that I am doing and not thinking..."
"Laziness is counter-revolutionary."

Offline migueldefender

  • Semi-Newbie
  • *
  • Posts: 81
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #15 on: November 21, 2008, 01:38:01 PM »
Estou orgulhoso de mim próprio!!! :D Tinha de facto conseguido colocar os links que queria, mas a cor de fundo ficava mais escura (cor igual ao fundo do "home"). Andei a analisar e reparei que o vosso link tinha "home", substitui-o por outro (o "calendário") e voilá, fiquei com a cor igual. :D he he he Acreditem, para vós este pode ser uma coisa banalíssima, mas para mim é um feito enorme. he he

Um abraço e obrigado ;)

Offline Costa

  • SMF Hero
  • ******
  • Posts: 3,045
  • Gender: Male
  • Do NOT feed the trolls...
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #16 on: November 21, 2008, 02:05:52 PM »
e é assim que se aprende, fuçar nos códigos, tentativa e erro

Isto deu errado umas vezes pra mim, só após algumas tentativas eu consegui acertar :P
Hugo "Costa" Fernandes
Todas as MP's a pedir ajuda são sujeitas a radioactividade, microondas, queimadas e atiradas borda fora.

"At least someone appreciates the fact that I am doing and not thinking..."
"Laziness is counter-revolutionary."

Offline migueldefender

  • Semi-Newbie
  • *
  • Posts: 81
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #17 on: November 21, 2008, 02:08:57 PM »
Just in case agora faço uma coisa simples para proteger o fórum. Sempre que vou alterar códigos copio o ficheiro para duas pastas diferentes, assim tenho sempre uma como backup em caso de dar raia. :)

Um abraço,

Offline Ederson Lima

  • Semi-Newbie
  • *
  • Posts: 74
  • Gender: Male
  • > Admin do Fórum Designer Pro <
    • sDesigner Pro
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #18 on: January 02, 2009, 04:52:22 PM »
Olá, não estou conseguindo adicionar os botões ao meu fórum, sei que esse tutorial é para o tema default, mas gostaria que me desse uma ajuda no meu tema!

TEMA: FS Pro Red

Vou deixar anexado para dárem uma olhada, e à propósito estava à querer adicionar um botão com a lista da Staff e outro com as Regras do meu fórum!!!

Offline Cast08

  • Semi-Newbie
  • *
  • Posts: 30
Re: [TUTORIAL] Como acrescentar botões ao menu
« Reply #19 on: January 02, 2009, 05:36:56 PM »
Para adicionar o botão da staff procuras por:

Code: [Select]
// Show the [home] button.
echo '<li><a' , $current_action=='home' ? ' class="current"' : '' , ' href="', $scripturl, '"><span>' , $txt[103] , '</span></a></li>';

Adicionas depois:

Code: [Select]
// Show the [staff] button.
echo '<li><a' , $current_action=='staff' ? ' class="current"' : '' , ' href="', $scripturl, '"><span>' , $txt['smfstaff_stafflist'] , '</span></a></li>';


E o de regras tem que ir ao ficheiro:

/public_html/forum/Themes/default/languages/modifications.sualingua.php e se não tiver feito essa parte da modificação que encontra na instalção de MOD vais ter que fazer :P, mas acho que antes de perguntar isto tu deve ter feito, espero eu :P

e encontras:

Code: [Select]
$txt['rules'] = 'Rules';
Trocas por:

Code: [Select]
$txt['rules'] = 'Regras';
E vais no ficheiro index.template.php novamente e encontras:

Code: [Select]
// Show the [staff] button.
echo '<li><a' , $current_action=='staff' ? ' class="current"' : '' , ' href="', $scripturl, '"><span>' , $txt['smfstaff_stafflist'] , '</span></a></li>';

Adiciona depois:

Code: [Select]
/ Show the [rules] button.
echo '<li><a' , $current_action=='rules ? ' class="current"' : '' , ' href="', $scripturl, '"><span>' , $txt['rules'] , '</span></a></li>';

E não te esqueças de fazer um backup do ficheiro original ;). E veja se consegues.
« Last Edit: January 02, 2009, 05:38:51 PM by Cast08 »