Кнопка форума

Автор grom117, 06 декабря 2009, 12:02:58

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

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

grom117

Извините, видимо тупой я. У меня стоит SMF версия 1.1.11 темов накачал много, и лишь в трех темах есть кнопка ФОРУМ а в остальных которые нравятся нет ее, помогите пожалуйста чайнику. Как, в каой директории какой файл и что там надо прописать.
Заранее огромное спасибо за помощь, здесь все перечитал и не понял. Тему напрмерр которую хочу риредактировать поставить кнопку Форум movies07_11, а потом научившись на этой теме поставлю на других, много их закачал и многие нравятся, вместо Тинипортала установил SimplePortal 2.3.1 и руссифицировал

Пожалуйста помогите кто знает как поставить кнопку.

Drakonsa

FAQ как поставить доп. кнопку.

grom117

Цитата: Drakonsa от 06 декабря 2009, 14:45:19
FAQ как поставить доп. кнопку.

Извините! Но здесь http://www.simplemachines.ru/index.php?topic=1527.0  ответа нет на мой вопрос облазил весь форум у вас и не нашел

grom117

Вот попытался прописать, но здесь не так как тут пишут все по другому где нужно исправить

<?php
// Version: 1.1; index

/*   This template is, perhaps, the most important template in the theme. It
   contains the main template layer that displays the header and footer of
   the forum, namely with main_above and main_below. It also contains the
   menu sub template, which appropriately displays the menu; the init sub
   template, which is there to set the theme up; (init can be missing.) and
   the linktree sub template, which sorts out the link tree.

   The init sub template should load any data and set any hardcoded options.

   The main_above sub template is what is shown above the main content, and
   should contain anything that should be shown up there.

   The main_below sub template, conversely, is shown after the main content.
   It should probably contain the copyright statement and some other things.

   The linktree sub template should display the link tree, using the data
   in the $context['linktree'] variable.

   The menu sub template should display all the relevant buttons the user
   wants and or needs.

   For more information on the templating system, please see the site at:
   http://www.simplemachines.org/
*/

// Initialize the template... mainly little settings.
function template_init()
{
   global $context, $settings, $options, $txt;

   /* Use images from default theme when using templates from the default theme?
      if this is 'always', images from the default theme will be used.
      if this is 'defaults', images from the default theme will only be used with default templates.
      if this is 'never' or isn't set at all, images from the default theme will not be used. */
   $settings['use_default_images'] = 'never';

   /* What document type definition is being used? (for font size and other issues.)
      'xhtml' for an XHTML 1.0 document type definition.
      'html' for an HTML 4.01 document type definition. */
   $settings['doctype'] = 'xhtml';

   /* The version this template/theme is for.
      This should probably be the version of SMF it was created for. */
   $settings['theme_version'] = '1.1';

   /* Set a setting that tells the theme that it can render the tabs. */
   $settings['use_tabs'] = true;

   /* Use plain buttons - as oppossed to text buttons? */
   $settings['use_buttons'] = true;

   /* Show sticky and lock status seperate from topic icons? */
   $settings['seperate_sticky_lock'] = true;
   
   // load custom language strings
   loadLanguage('ThemeStrings');

   // make sure undefined actions use their own template
   $settings['catch_action'] = array('layers' => array('main','pages'));
   // split up the links if any
   $context['sitemenu']=array();
      
   if(!empty($settings['custom_pages']))
   {
      $pag=explode('|',$settings['custom_pages']);
      foreach($pag as $menu => $value)
      {
         $what=explode(',',$value);
         $context['sitemenu'][]=array($what[0],$what[1],$what[2]);
      }
   }
}

// any special pages?
function template_pages_above()
{
   global $context, $settings, $options, $scripturl, $txt;
   
   echo '<div id="pages">';
   if(isset($_GET['action']))
      $what=$_GET['action'];
   loadtemplate('pages/'.$what);
}

function template_pages_below()
{
   echo '</div>';
}

// The main sub template above the content.
function template_main_above()
{
   global $context, $settings, $options, $scripturl, $txt, $modSettings;
   if($context['page_title']=='' && isset($_GET['action']))
      $context['page_title']=$context['forum_name'].' - '.$_GET['action'];
   elseif($context['page_title']=='' && !isset($_GET['action']))
      $context['page_title']=$context['forum_name'];

   // Show right to left and the character set for ease of translating.
   echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"', $context['right_to_left'] ? ' dir="rtl"' : '', '><head>
   <meta http-equiv="Content-Type" content="text/html; charset=', $context['character_set'], '" />
   <meta name="description" content="', $context['page_title'], '" />', empty($context['robot_no_index']) ? '' : '
   <meta name="robots" content="noindex" />', '
   <meta name="keywords" content="PHP, MySQL, bulletin, board, free, open, source, smf, simple, machines, forum" />
   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/script.js?fin11"></script>
   <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
      var smf_theme_url = "', $settings['theme_url'], '";
      var smf_images_url = "', $settings['images_url'], '";
      var smf_scripturl = "', $scripturl, '";
      var smf_iso_case_folding = ', $context['server']['iso_case_folding'] ? 'true' : 'false', ';
      var smf_charset = "', $context['character_set'], '";
   // ]]></script>
   <title>', $context['page_title'], '</title>';

   if(empty($settings['movie']))
      $settings['movie'] = '';

   // The ?fin11 part of this link is just here to make sure browsers don't cache it wrongly.
   echo '
   <link rel="stylesheet" type="text/css" href="', $settings['theme_url'], '/style' . $settings['movie'] . '.css?fin11" />
   <link rel="stylesheet" type="text/css" href="', $settings['default_theme_url'], '/print.css?fin11" media="print" />
   ';
   if(!empty($settings['width']))
      echo '<link rel="stylesheet" type="text/css" href="', $settings['theme_url'], '/',$settings['width'],'.css?fin11" />';

   /* Internet Explorer 4/5 and Opera 6 just don't do font sizes properly. (they are big...)
      Thus, in Internet Explorer 4, 5, and Opera 6 this will show fonts one size smaller than usual.
      Note that this is affected by whether IE 6 is in standards compliance mode.. if not, it will also be big.
      Standards compliance mode happens when you use xhtml... */
   if ($context['browser']['needs_size_fix'])
      echo '
   <link rel="stylesheet" type="text/css" href="', $settings['default_theme_url'], '/fonts-compat.css" />';

   // Show all the relative links, such as help, search, contents, and the like.
   echo '
   <link rel="help" href="', $scripturl, '?action=help" target="_blank" />
   <link rel="search" href="' . $scripturl . '?action=search" />
   <link rel="contents" href="', $scripturl, '" />';

   // If RSS feeds are enabled, advertise the presence of one.
   if (!empty($modSettings['xmlnews_enable']))
      echo '
   <link rel="alternate" type="application/rss+xml" title="', $context['forum_name'], ' - RSS" href="', $scripturl, '?type=rss;action=.xml" />';

   // If we're viewing a topic, these should be the previous and next topics, respectively.
   if (!empty($context['current_topic']))
      echo '
   <link rel="prev" href="', $scripturl, '?topic=', $context['current_topic'], '.0;prev_next=prev" />
   <link rel="next" href="', $scripturl, '?topic=', $context['current_topic'], '.0;prev_next=next" />';

   // If we're in a board, or a topic for that matter, the index will be the board's index.
   if (!empty($context['current_board']))
      echo '
   <link rel="index" href="' . $scripturl . '?board=' . $context['current_board'] . '.0" />';

   // We'll have to use the cookie to remember the header...
   if ($context['user']['is_guest'])
      $options['collapse_header'] = !empty($_COOKIE['upshrink']);

   // Output any remaining HTML headers. (from mods, maybe?)
   echo $context['html_headers'], '
        <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
                var current_leftbar = ', empty($options['collapse_leftbar']) ? 'false' : 'true', ';

                function shrinkHeaderLeftbar(mode)
                {';

        // Guests don't have theme options!!
        if ($context['user']['is_guest'])
                echo '
                        document.cookie = "upshrink=" + (mode ? 1 : 0);';
        else
                echo '
                        smf_setThemeOption("collapse_leftbar", mode ? 1 : 0, null, "', $context['session_id'], '");';
        echo '
                        document.getElementById("upshrinkLeftbar").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

                        document.getElementById("leftbarHeader").style.display = mode ? "none" : "";

                        current_leftbar = mode;
                }
          // ]]></script>
       <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
                var current_rightbar = ', empty($options['collapse_rightbar']) ? 'false' : 'true', ';

                function shrinkHeaderRightbar(mode)
                {';

        // Guests don't have theme options!!
        if ($context['user']['is_guest'])
                echo '
                        document.cookie = "upshrink=" + (mode ? 1 : 0);';
        else
                echo '
                        smf_setThemeOption("collapse_rightbar", mode ? 1 : 0, null, "', $context['session_id'], '");';

        echo '
                        document.getElementById("upshrinkRightbar").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

                        document.getElementById("rightbarHeader").style.display = mode ? "none" : "";

                        current_rightbar = mode;
                }
        // ]]></script>

   <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
      var current_header = ', empty($options['collapse_header']) ? 'false' : 'true', ';

      function shrinkHeader(mode)
      {';

   // Guests don't have theme options!!
   if ($context['user']['is_guest'])
      echo '
         document.cookie = "upshrink=" + (mode ? 1 : 0);';
   else
      echo '
         smf_setThemeOption("collapse_header", mode ? 1 : 0, null, "', $context['session_id'], '");';

   echo '
         document.getElementById("upshrink").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

         document.getElementById("upshrinkHeader").style.display = mode ? "none" : "";
         document.getElementById("upshrinkHeader2").style.display = mode ? "none" : "";

         current_header = mode;
      }
   // ]]></script>';

   // the routine for the info center upshrink
   echo '
      <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
         var current_header_ic = ', empty($options['collapse_header_ic']) ? 'false' : 'true', ';

         function shrinkHeaderIC(mode)
         {';

   if ($context['user']['is_guest'])
      echo '
            document.cookie = "upshrinkIC=" + (mode ? 1 : 0);';
   else
      echo '
            smf_setThemeOption("collapse_header_ic", mode ? 1 : 0, null, "', $context['session_id'], '");';

   echo '
            document.getElementById("upshrink_ic").src = smf_images_url + (mode ? "/expand.gif" : "/collapse.gif");

            document.getElementById("upshrinkHeaderIC").style.display = mode ? "none" : "";

            current_header_ic = mode;
         }
      // ]]></script>
   <script type="text/javascript" src="'.$settings['theme_url'].'/styleswitch.js"></script>
   <script type="text/javascript">
window.onload=function(){
var formref=document.getElementById("switchform")
indicateSelected(formref.choice)
}
</script>
</head>
<body>';
// check for some mods if they are indeed loaded :P
   checkmods();
   echo '
   <div id="bot">
      <div id="bot_footer">
         <div id="top_mid">
            <div id="top_r">
               <div id="top_l">
                  <div id="topparea">
                     <h1><a href="' . $scripturl . '">' . $context['forum_name'] .  '</a></h1>';
   template_menu();


   topmenu();

   // If the user is logged in, display stuff like their name, new messages, etc.
   if ($context['user']['is_logged'])
   {
      echo '<div class="whitetext">
                  ', $txt['hello_member'], ' <b>', $context['user']['name'], '</b>';

      // Only tell them about their messages if they can read their messages!
      if ($context['allow_pm'])
         echo ', ', $txt[152], ' <a href="', $scripturl, '?action=pm">', $context['user']['messages'], ' ', $context['user']['messages'] != 1 ? $txt[153] : $txt[471], '</a>', $txt['newmessages4'], ' ', $context['user']['unread_messages'], ' ', $context['user']['unread_messages'] == 1 ? $txt['newmessages0'] : $txt['newmessages1'];
      echo '.</div>';

      // Is the forum in maintenance mode?
      if ($context['in_maintenance'] && $context['user']['is_admin'])
         echo '
                  <b>', $txt[616], '</b><br />';

      // Are there any members waiting for approval?
      if (!empty($context['unapproved_members']))
         echo '
                  ', $context['unapproved_members'] == 1 ? $txt['approve_thereis'] : $txt['approve_thereare'], ' <a href="', $scripturl, '?action=viewmembers;sa=browse;type=approve">', $context['unapproved_members'] == 1 ? $txt['approve_member'] : $context['unapproved_members'] . ' ' . $txt['approve_members'], '</a> ', $txt['approve_members_waiting'], '<br />';

      echo '
                  <a href="', $scripturl, '?action=unread">', $txt['unread_since_visit'], '</a><br />
                  <a href="', $scripturl, '?action=unreadreplies">', $txt['show_unread_replies'], '</a><br />
                  <span class="smalltext">', $context['current_time'] , '</span>';
   }
   // Otherwise they're a guest - so politely ask them to register or login.
   else
   {
      echo '
                  ', $txt['welcome_guest'], '<br />
                  ', $context['current_time'], '<br />
                  <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/sha1.js"></script>
                     <form action="', $scripturl, '?action=login2" method="post" accept-charset="', $context['character_set'], '" style="margin: 3px 1ex 1px 0;"', empty($context['disable_login_hashing']) ? ' onsubmit="hashLoginPassword(this, \'' . $context['session_id'] . '\');"' : '', '>
                     <div style="margin-bottom: 5px;">
                           <input type="text" name="user" size="10" /> <input type="password" name="passwrd" size="10" />
                           <select name="cookielength">
                              <option value="60">', $txt['smf53'], '</option>
                              <option value="1440">', $txt['smf47'], '</option>
                              <option value="10080">', $txt['smf48'], '</option>
                              <option value="43200">', $txt['smf49'], '</option>
                              <option value="-1" selected="selected">', $txt['smf50'], '</option>
                           </select>
                           <input type="submit" value="', $txt[34], '" /><br />
                           ', $txt['smf52'], '
                           <input type="hidden" name="hash_passwrd" value="" />
                        </div>
                     </form>';
   }

   echo '      
                  </div>';
   if (!empty($context['user']['avatar']))
      echo '      <div id="avatar">', $context['user']['avatar']['image'], '</div>';


   echo '         <div id="innerframe2">      
                     <table width="100%" cellspacing="0" cellpadding="2">
                        <tr>';

   //Display ads on the top of the page
   if (!empty($settings['use_ads']) && function_exists("show_topofpageAds"))
   {
      $ads = show_topofpageAds();   
      if(!empty($ads))
         if($ads['type']==0)
            echo $ads['content'];
         else
            eval($ads['content']);   
         unset($ads);
   }
   if(!empty($settings['use_ads']) && function_exists("show_towerleftAds"))
   {
      $ads = show_towerleftAds();   
      if(!empty($ads))
      {
         echo '            <td valign="top">';
         if($ads['type']==0)
            echo $ads['content'];
         else
            eval($ads['content']);
         echo '            </td>';
      }
      unset($ads);
   }

   // TinyPortal integrated bars
   if(!empty($settings['use_tp']) && $context['TPortal']['leftbar'])
   {
      echo '               <td width="' ,$context['TPortal']['leftbar_width'], '" style="padding: ' , isset($context['TPortal']['padding']) ? $context['TPortal']['padding'] : '4' , 'px; padding-top: 4px;padding-right: 1ex;" valign="top">
                           <div id="leftbarHeader"', empty($options['collapse_leftbar']) ? '' : ' style="display: none;"', ' style="padding-top: 5px; width: ' ,$context['TPortal']['leftbar_width'], 'px;">';
                              TPortal_sidebar('left');
        echo '               </div>
                           </td>';
   }


   echo '                  <td valign="top" width="100%">
                              <table width="100%" cellpadding="0" cellspacing="0" border="0">
                                 <tr>';

   // shoutbox mod
   if(!empty($settings['use_shoutbox']) && function_exists("smfshout"))
   {
      echo '                        <td width="20%" valign="top"style="padding: 10px 3px 10px 0; ">
                                       <div style="padding: 3px;" class="titlebg">Shoutbox</div><div id="smfshout" class="windowbg2">' , smfshout() , '</div>
                                    </td>';
      $sidebar=true;
   }
   else
      $sidebar=false;

   echo '
                                    <td width="', $sidebar ? '80%' : '100%' , '" align="left" valign="top" style="padding-top: 10px; padding-bottom: 10px;">';
   if(!empty($settings['use_tp']) && $context['TPortal']['centerbar'])
      echo '                           <div>' , TPortal_sidebar('center') , '</div>';

   echo '                              <div id="bodyarea">';
}

function template_main_below()
{

   global $context, $settings, $options, $scripturl, $txt;

   echo  '                              </div>
                                    </td>
                                 </tr>
                              </table>
                           </td>';
   // TinyPortal integrated bars
   if(!empty($settings['use_tp']) && $context['TPortal']['rightbar'])
   {
      echo '               <td width="' ,$context['TPortal']['rightbar_width'], '" style="padding: ' , isset($context['TPortal']['padding']) ? $context['TPortal']['padding'] : '4' , 'px; padding-top: 4px;padding-right: 1ex;" valign="top">
                              <div id="rightbarHeader"', empty($options['collapse_rightbar']) ? '' : ' style="display: none;"', ' style="padding-top: 5px; width: ' ,$context['TPortal']['rightbar_width'], 'px;">';
                              TPortal_sidebar('right');
        echo '                  </div>
                           </td>';
   }

   if(!empty($settings['use_ads']) && function_exists("show_towerrightAds"))
   {
      $ads = show_towerrightAds();   
      if(!empty($ads))
      {
         echo '            <td valign="top">';
         if($ads['type']==0)
            echo $ads['content'];
         else
            eval($ads['content']);
         echo '            </td>';
      }
      unset($ads);
   }
   echo '               </tr>
                     </table>
                  </div>';

   if(!empty($settings['use_ads']) && function_exists("show_bottomAds"))
   {
      $ads = show_bottomAds();   
      if(!empty($ads))
      {
         echo '
                  <div>';
         if($ads['type']==0)
            echo $ads['content'];
         else
            eval($ads['content']);
         echo '
                  </div>';
      }
      unset($ads);
   }

   // Show the "Powered by" and "Valid" logos, as well as the copyright. Remember, the copyright must be somewhere!
   echo '
                  <div id="footerarea">', theme_copyright(), '
                     <div class="smalltext"><b>Movies07</b> design by <a href="http://www.tinyportal.net">Bloc</a> ';

      // Show the load time?
   if ($context['show_load_time'])
      echo '
      | ', $txt['smf301'], $context['load_time'], $txt['smf302'], $context['load_queries'], $txt['smf302b'];

   if (!empty($settings['use_gb']) && isset($context['ob_googlebot_stats']))
      echo '
      <br /><br /><span class="smalltext">', $txt['ob_googlebot_stats_lastvisit'], timeformat($context['ob_googlebot_stats']['Googlebot']['lastvisit']), '</span>';
   
   echo '
                     </div>';
   // This is an interesting bug in Internet Explorer AND Safari. Rather annoying, it makes overflows just not tall enough.
   if (($context['browser']['is_ie'] && !$context['browser']['is_ie4']) || $context['browser']['is_mac_ie'] || $context['browser']['is_safari'] || $context['browser']['is_firefox'])
   {
      // The purpose of this code is to fix the height of overflow: auto div blocks, because IE can't figure it out for itself.
      echo '
      <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[';

      // Unfortunately, Safari does not have a "getComputedStyle" implementation yet, so we have to just do it to code...
      if ($context['browser']['is_safari'])
         echo '
         window.addEventListener("load", smf_codeFix, false);

         function smf_codeFix()
         {
            var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

            for (var i = 0; i < codeFix.length; i++)
            {
               if ((codeFix.className == "code" || codeFix.className == "post" || codeFix.className == "signature") && codeFix.offsetHeight < 20)
                  codeFix.style.height = (codeFix.offsetHeight + 20) + "px";
            }
         }';
      elseif ($context['browser']['is_firefox'])
         echo '
         window.addEventListener("load", smf_codeFix, false);
         function smf_codeFix()
         {
            var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

            for (var i = 0; i < codeFix.length; i++)
            {
               if (codeFix.className == "code" && (codeFix.scrollWidth > codeFix.clientWidth || codeFix.clientWidth == 0))
                  codeFix.style.overflow = "scroll";
            }
         }';         
      else
         echo '
         var window_oldOnload = window.onload;
         window.onload = smf_codeFix;

         function smf_codeFix()
         {
            var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

            for (var i = codeFix.length - 1; i > 0; i--)
            {
               if (codeFix.currentStyle.overflow == "auto" && (codeFix.currentStyle.height == "" || codeFix.currentStyle.height == "auto") && (codeFix.scrollWidth > codeFix.clientWidth || codeFix.clientWidth == 0) && (codeFix.offsetHeight != 0 || codeFix.className == "code"))
                  codeFix.style.height = (codeFix.offsetHeight + 36) + "px";
            }

            if (window_oldOnload)
            {
               window_oldOnload();
               window_oldOnload = null;
            }
         }';

      echo '
      // ]]></script>';
   }

   echo '
                  </div>
               </div>
            </div>
         </div>
      </div>
   </div>';

   // The following will be used to let the user know that some AJAX process is running
   echo '
   <div id="ajax_in_progress" style="display: none;', $context['browser']['is_ie'] && !$context['browser']['is_ie7'] ? 'position: absolute;' : '', '">', $txt['ajax_in_progress'], '</div>
</body></html>';
}

// Show a linktree. This is that thing that shows "My Community | General Category | General Discussion"..
function theme_linktree()
{
   global $context, $settings, $options;

   echo '<div class="nav" style="font-size: smaller; margin-bottom: 2ex; margin-top: 2ex; text-align: center;">';

   // Each tree item has a URL and name. Some may have extra_before and extra_after.
   foreach ($context['linktree'] as $link_num => $tree)
   {
      // Show something before the link?
      if (isset($tree['extra_before']))
         echo $tree['extra_before'];

      // Show the link, including a URL if it should have one.
      echo '<b>', $settings['linktree_link'] && isset($tree['url']) ? '<a href="' . $tree['url'] . '" class="nav">' . $tree['name'] . '</a>' : $tree['name'], '</b>';

      // Show something after the link...?
      if (isset($tree['extra_after']))
         echo $tree['extra_after'];

      // Don't show a separator for the last one.
      if ($link_num != count($context['linktree']) - 1)
         echo '&nbsp;>&nbsp;';
   }

   echo '</div>';
}

// Show the menu up top. Something like [Forum] [home] [help] [profile] [logout]...
function template_menu()
{
   global $context, $settings, $options, $scripturl, $txt;

   // add buttons here
   $context['menubox'] = array();

   /*
      'title' - the string the link will have
      'link' - the actual link
      'chosen' - which "current_action" this button belongs to.
      'memberonly' - show it JUST for members
      'guestonly' - show it JUST for guests
      'permission' - any permission you want to check before displaying the button

   */

   // home button
   $context['menubox'][]=array(
            'title' => $txt[103],
            'link' => $scripturl,
            'chosen' => '',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );

// TP
   if (!empty($settings['use_tp']))
      $context['menubox'][]=array(
            'title' => $txt['tp-forum'],
            'link' => $scripturl.'?action=forum',
            'chosen' => 'forum',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );

// help button
   $context['menubox'][]=array(
            'title' => $txt[119],
            'link' => $scripturl.'?action=forum',
            'chosen' => 'forum',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );


   // search button
   $context['menubox'][]=array(
            'title' => $txt[182],
            'link' => $scripturl.'?action=search',
            'chosen' => 'search',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );

   // admin button.This one have permission check for admin as well
   $context['menubox'][]=array(
            'title' => $txt[2],
            'link' => $scripturl.'?action=admin',
            'chosen' => 'admin',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => 'allow_admin',
            );

   // profile button
   $context['menubox'][]=array(
            'title' => $txt[79],
            'link' => $scripturl.'?action=profile',
            'chosen' => 'profile',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => 'allow_edit_profile',
            );

   // PM button
   $context['menubox'][]=array(
            'title' => $txt['pm_short'] . ' '. ($context['user']['unread_messages'] > 0 ? '[<strong>'. $context['user']['unread_messages'] . '</strong>]' : ''),
            'link' => $scripturl.'?action=pm',
            'chosen' => 'pm',
            'memberonly' => true,
            'guestonly' => false,
            'permission' => 'allow_pm',
            );

   // calendar button
   $context['menubox'][]=array(
            'title' => $txt['calendar24'],
            'link' => $scripturl.'?action=calendar',
            'chosen' => 'calendar',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => 'allow_calendar',
            );

   // SMF Arcade
   if (!empty($settings['use_arcade']))
      $context['menubox'][]=array(
            'title' => $txt['arcade'],
            'link' => $scripturl.'?action=arcade',
            'chosen' => 'arcade',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );

   // SMF Gallery
   if (!empty($settings['use_smfgallery']))
      $context['menubox'][]=array(
            'title' => $txt['smfgallery_menu'],
            'link' => $scripturl.'?action=gallery',
            'chosen' => 'gallery',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );
   
   // SMFshop
   if (!empty($settings['use_shop']))
      $context['menubox'][]=array(
            'title' => 'Shop',
            'link' => $scripturl.'?action=shop',
            'chosen' => 'shop',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );
   
   
   // login button - just for guests
   $context['menubox'][]=array(
            'title' => $txt[34],
            'link' => $scripturl.'?action=login',
            'chosen' => 'login',
            'memberonly' => false,
            'guestonly' => true,
            'permission' => '',
            );

   // register button - just for guests
   $context['menubox'][]=array(
            'title' => $txt[97],
            'link' => $scripturl.'?action=register',
            'chosen' => 'register',
            'memberonly' => false,
            'guestonly' => true,
            'permission' => '',
            'last' => true,
            );

   // logout button - just for members
   $context['menubox'][]=array(
            'title' => $txt[108],
            'link' => $scripturl.'?action=logout;sesc='. $context['session_id'],
            'chosen' => 'logout',
            'memberonly' => true,
            'guestonly' => false,
            'permission' => '',
            'last' => true,
            );

   // now render it
   template_menu_render();
}

// the actual rendering "machine" of the menu
function template_menu_render()
{
   global $context, $settings, $options, $scripturl, $txt;

   $current_action = $context['current_action'];
   if (isset($_GET['dl']))
      $current_action = 'dlmanager';

   if ((isset($_GET['board']) || isset($_GET['topic'])) && empty($settings['use_tp']))
      $current_action = 'home';
   elseif ((isset($_GET['board']) || isset($_GET['topic'])) && !empty($settings['use_tp']))
      $current_action = 'forum';

   // Begin SMFShop code
   if ($context['current_action'] == 'shop')
      $current_action = 'shop';

   echo '
<div id="menubox">
   <ul>';

   foreach($context['menubox'] as $button){
      $show_button=false;
      // are we logged in?
      if($context['user']['is_logged'])
         if($button['guestonly'])
            $show_button = false;
         else
            $show_button = true;
      // just a guest then...
      else
      {
         if($button['memberonly'])
            $show_button = false;
         elseif($button['guestonly'] && !$button['memberonly'])
            $show_button = true;
         elseif(!$button['memberonly'])
            $show_button = true;
      }
      // can we show the button?
         if($show_button)
         {
         if(!empty($button['permission']) && $context[$button['permission']])
            echo '<li ', $current_action == $button['chosen'] ? 'id="chosen"' : '' , isset($button['last']) ? ' class="last"' : '' , '><a href="' , $button['link'] , '">' , $button['title'] , '</a></li>';
         elseif(empty($button['permission']))
            echo '<li ', $current_action == $button['chosen'] ? 'id="chosen"' : '' , isset($button['last']) ? ' class="last"' : '' , '><a href="' , $button['link'] , '">' , $button['title'] , '</a></li>';
      }
   }

   echo '
   </ul>
</div>';

}

// Generate a strip of buttons.
function template_button_strip($button_strip, $direction = 'top', $force_reset = false, $custom_td = '')
{
   global $settings, $buttons, $context, $txt, $scripturl;

   // Create the buttons...
   foreach ($button_strip as $key => $value)
   {
      if (isset($value['test']) && empty($context[$value['test']]))
      {
         unset($button_strip[$key]);
         continue;
      }
      elseif (!isset($buttons[$key]) || $force_reset)
         $buttons[$key] = '<a href="' . $value['url'] . '" ' .( isset($value['custom']) ? $value['custom'] : '') . '>' . $txt[$value['text']] . '</a>';

      $button_strip[$key] = $buttons[$key];
   }

   if (empty($button_strip))
      return '<td>&nbsp;</td>';

   echo '
      <td class="', $direction == 'top' ? 'main' : 'mirror', 'tab_' , $context['right_to_left'] ? 'last' : 'first' , '">&nbsp;</td>
      <td class="', $direction == 'top' ? 'main' : 'mirror', 'tab_back">', implode(' &nbsp;|&nbsp; ', $button_strip) , '</td>
      <td class="', $direction == 'top' ? 'main' : 'mirror', 'tab_' , $context['right_to_left'] ? 'first' : 'last' , '">&nbsp;</td>';

}
function topmenu()
{
   global $context, $txt, $scripturl, $settings;

   $current_action='forum';
   if (!empty($settings['use_tp']) && (isset($_GET['board']) || isset($_GET['topic'])))
      $current_action = 'forum';

   if(sizeof($context['sitemenu'])>0)
   {
      echo '<div id="topmenu"><ul>';
      foreach($context['sitemenu'] as $menu => $val)
      {
         if($val[2]=='page')
            echo '<li' , $menu!=count($context['sitemenu'])-1 ? '' : ' class="last"' , '><a href="',$scripturl,'?action='.$val[0].'">'.$val[1].'</a></li>';
         elseif($val[2]=='link')
            echo '<li' , $menu!=count($context['sitemenu'])-1 ? '' : ' class="last"' , '><a href="'.$val[0].'">'.$val[1].'</a></li>';
      }
      echo '</ul></div>';
   }
}

function template_content_above()
{
   global $context, $settings, $options, $scripturl, $txt;

   if(isset($_GET['action']))
      echo '
   <div id="content2"><div id="content2-l"><div id="content2-r"><div class="mpad">';
   else
      echo '<div class="content3">';

}
function template_content_below()
{
   global $context, $settings, $options, $scripturl, $txt;

   if(isset($_GET['action']))
      echo '
   </div></div></div></div>';
   else
      echo '</div>';

}
function checkmods()
{
   global $context, $settings, $options, $scripturl, $txt;

   if($context['user']['is_admin'])
   {
      $error='';
      // TP
      if(!empty($settings['use_tp']) && !isset($context['TPortal']['showtop']))
         $error .= '<div class="errorbar">You have turned on theme support for <b>TinyPortal</b>, but the mod itself is NOT installed!</div>';
      // Shoutbox
      if(!empty($settings['use_shoutbox']) && !function_exists('smfshout'))
         $error .= '<div class="errorbar">You have turned on theme support for <b>Ultimate Shoutbox</b>, but the mod itself is NOT installed!</div>';
      // ads
      if(!empty($settings['use_ads']) && !function_exists("show_topofpageAds"))
         $error .= '<div class="errorbar">You have turned on theme support for <b>Ad Management</b>, but the mod itself is NOT installed!</div>';
      // googlebots
      if(!empty($settings['use_gb']) && !isset($context['ob_googlebot_stats']))
         $error .= '<div class="errorbar">You have turned on theme support for <b>Google Bots and Spiders</b>, but the mod itself is NOT installed!</div>';

      // render it
      if(!empty($error))
         echo '<div id="errorpanel">'.$error.'</div>';
   }
}
?>

grom117

Очень жаль так никто и не помог, видимо очень сложная проблемма.


0daliska

#6
А мне не понятно одно... Кнопка Домой Вас чем не устраивает?... Она, вообще-то на форум приводит... То бишь к началу, если форум в корне... 'link' => $scripturl,  Или кнопка тинипортала ТП
'link' => $scripturl.'?action=forum', если ТП указан в настройках...
// TP
   if (!empty($settings['use_tp'])) // Если "использовать тини-портал" в настройках не пусто, то отображается кнопка тинипортала, которая приводит на форум, а именно выполняется это:
      $context['menubox'][]=array(
            'title' => $txt['tp-forum'],
            'link' => $scripturl.'?action=forum',
            'chosen' => 'forum',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );

Вы же
Цитироватьвместо Тинипортала установил SimplePortal 2.3.1 и руссифицировал
Следовательно, по-английски читать умеете... И понимаете, что Вам пишут...

А добавление кнопок в этой теме, ясно по-английски прописано:
// add buttons here = добавлять кнопки здесь!!!
   $context['menubox'] = array();

   /*
      'title' - the string the link will have
      'link' - the actual link
      'chosen' - which "current_action" this button belongs to.
      'memberonly' - show it JUST for members
      'guestonly' - show it JUST for guests
      'permission' - any permission you want to check before displaying the button

   */
Раскомментируете (удаляете /*  и */) и пишите, что Вам надобно и куда надобно!!!
По аналогии с тем, что прописано ниже для остальных кнопок...
// home button
   $context['menubox'][]=array(
            'title' => $txt[103],
            'link' => $scripturl,
            'chosen' => '',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

grom117

Цитата: 0daliska от 08 декабря 2009, 22:28:28
А мне не понятно одно... Кнопка Домой Вас чем не устраивает?... Она, вообще-то на форум приводит... То бишь к началу, если форум в корне... 'link' => $scripturl,  Или кнопка тинипортала ТП
'link' => $scripturl.'?action=forum', если ТП указан в настройках...
// TP
   if (!empty($settings['use_tp'])) // Если "использовать тини-портал" в настройках не пусто, то отображается кнопка тинипортала, которая приводит на форум, а именно выполняется это:
      $context['menubox'][]=array(
            'title' => $txt['tp-forum'],
            'link' => $scripturl.'?action=forum',
            'chosen' => 'forum',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );

Вы же Следовательно, по-английски читать умеете... И понимаете, что Вам пишут...

А добавление кнопок в этой теме, ясно по-английски прописано:
// add buttons here = добавлять кнопки здесь!!!
   $context['menubox'] = array();

   /*
      'title' - the string the link will have
      'link' - the actual link
      'chosen' - which "current_action" this button belongs to.
      'memberonly' - show it JUST for members
      'guestonly' - show it JUST for guests
      'permission' - any permission you want to check before displaying the button

   */
Раскомментируете (удаляете /*  и */) и пишите, что Вам надобно и куда надобно!!!
По аналогии с тем, что прописано ниже для остальных кнопок...
// home button
   $context['menubox'][]=array(
            'title' => $txt[103],
            'link' => $scripturl,
            'chosen' => '',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );

Я добавил как вы писали и кнопка Форум так и не появилось, зато кнопка помощь стала пользовать кнопку Форум, нажимаешь на Помощь и попадаешь на форум что делать?
// add buttons here
   $context['menubox'] = array();

   /*
      'title' - the string the link will have
      'link' - the actual link => $scripturl,'?action=forum',
      'chosen' - which "current_action" this button belongs to.
      'memberonly' - show it JUST for members
      'guestonly' - show it JUST for guests
      'permission' - any permission you want to check before displaying the button

   */

   // home button
   $context['menubox'][]=array(
            'title' => $txt[113],
            'link' => $scripturl,'?action=forum',
            'chosen' => '',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );

// TP
   if (!empty($settings['use_tp']))
      $context['menubox'][]=array(
            'title' => $txt['tp-forum'],
            'link' => $scripturl.'?action=forum',
            'chosen' => 'forum',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );

// help button
   $context['menubox'][]=array(
            'title' => $txt[119],
            'link' => $scripturl.'?action=forum',
            'chosen' => 'forum',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );


0daliska

#8
У-х, Вы почитайте внимательно, что Вам написали!!!!
Раскомментируете (удаляете /*  и */) и пишите, что Вам надобно и куда надобно!!!
По аналогии с тем, что прописано ниже для остальных кнопок...
В Вашем случае, заметьте, кнопка помощь у Вас и была прописана на форум: Вот Ваша цитата...
Цитата: grom117 от 07 декабря 2009, 17:10:37
Вот попытался прописать, но здесь не так как тут пишут все по другому где нужно исправить

// help button
   $context['menubox'][]=array(
            'title' => $txt[119],
            'link' => $scripturl.'?action=forum',
            'chosen' => 'forum',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );


Неужели непонятно, что в линке '?action=forum' - означает ссылку на форум
Помощь прописывается как '?action=help'

По-моему, я Вам достаточно ясно объяснила назначение кнопки тини-портала...
Что она появится, если в настройках указано, что использовать тини-портал!!!

Добавлять в код я Вам вообще-то не рекомендовала то, что Вы прописали в Вашем последнем ответе... Я сказала, что надо расскоментировать блок и прописать в нем то, что хотите увидеть в своей кнопке...
Расскоментировать - это удалить закрывающие код теги /* и */
И это прописывается не так, как Вы сделали, а как прописана любая кнопка ниже.
Комментарии на английском читать будете? Или так и будете копировать, не понимая, что делаете?
Вот еще более наглядно с русскими комментариями:
$context['menubox'] = array(
'title' => 'Название кнопки',
      'link' => 'Сюда пишем ссылку',
      'chosen' => 'Сюда пишем выбор',
      'memberonly' => 'false',  // или можем написать true, если хотим только зарегистрированным показывать
      'guestonly' => 'false', // или можем написать true, если хотим только гостям показывать
      'permission' => '',
);


В итоге, Ваша кнопка для форума будет выглядеть так:
// Forum button
$context['menubox'][]=array(
'title' => 'Форум',
'link' => $scripturl.'?action=forum',
'chosen' => 'forum',
'memberonly' => false,
'guestonly' => false,
'permission' => '',
);


Но это делать не обязательно, поскольку есть кнопка тини-портала, которую можно активировать настройками... Ищите настройки :) Не найдете, тогда пробуйте прописать дополнительную кнопку... Или вообще можно у блока Тинипортала убрать условие
if (!empty($settings['use_tp'])), поставив перед ним в начале строки два слэша...

.....
Ну и соответственно исправьте свой код на кнопку помощь... Раз уж у Вас там ошибка...
Если еще не сообразили как, то в блоке:
// help button
   $context['menubox'][]=array(
            'title' => $txt[119],
            'link' => $scripturl.'?action=forum',
            'chosen' => 'forum',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );


замените 'link' => $scripturl.'?action=forum', на 'link' => $scripturl.'?action=help',
Удачи!!! И пытайтесь понять, о чем вам толкуют, а не тупо копировать код... Я вообще-то, когда писала, рассчитывала на то, что Вы захотите сами понять, поскольку написали, что собираетесь и дальше темы править... А для этого надо разобраться, что к чему... А не просто копипаст использовать...
Что ж, надеюсь сейчас Вы поняли все правильно  ;)
Учитесь :)
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

grom117

0daliska У меня нет Тинипртала вместо него SimplePortal 2.3.1 Большая просьба хоть в одной теме пропишите как должно быть, а в других темах я по вашему методу буду.
Помогите пожалуйста, вставьте то что нужно вставить
Заранее Спасибо!

SMF 1.1.11


0daliska

#11
Да к в остальных темах может быть по-другому  ^-^
Если Вы вообще ничего не поняли из того, что я Вам объяснила, то навряд ли по аналогии что-то сможете делать...

Хотя я посмотрела... Проблема не в теме, а в том, что Вы симплпортал поставили, а изменения в свою тему не внесли... Жесть!!!! Там как раз вносятся изменения по прописыванию кнопок...
Как все грустно...  :coolsmiley:
Вы больше никакие моды ставить не будете в дальнейшем?
Просто все моды ставятся на дефолтную тему, и если в дефолте вносятся изменения и такие же файлы есть в Вашей теме, то менять надо и файлы Вашей темы, но уже вручную... и как в вашем случае, не всегда так же, как в дефолте... wallbash

И поскольку Вы еще не понимаете ничего, то поставьте себе дефолтную тему и не мучайтесь... Вот когда подучитесь, тогда и поставите другую тему, или смотришь, свою создадите... На Вашу тему надо будет соображать, что куда вписывать, чтобы  поставить мод, если он изменяет файлы темы... Или Вы с каждым модом потом еще будете вопросы задавать, а почему нету? И как переделать под Вашу тему?... Сомневаюсь, что кто-то кинется Вам тут же все переделывать...

Ну и в ответ на Ваш вопрос - ради того, чтобы поставить два слэша не вижу смысла что-то снова выкладывать... Кнопка помощь в прикрепленном файле правильно прописана... А для кнопки Форум - Самый простой вариант:
В куске кода:
// TP
   if (!empty($settings['use_tp']))
      $context['menubox'][]=array(
            'title' => $txt['tp-forum'],
            'link' => $scripturl.'?action=forum',
            'chosen' => 'forum',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );

Вот так сделайте:
// TP
//   if (!empty($settings['use_tp']))
      $context['menubox'][]=array(
            'title' => $txt['tp-forum'],
            'link' => $scripturl.'?action=forum',
            'chosen' => 'forum',
            'memberonly' => false,
            'guestonly' => false,
            'permission' => '',
            );


И кодировка форума какая?
В языковых файлах должна быть переменная $txt['tp-forum']='Форум';

:)

Кроме этого,  может и еще что-то будет не работать на Вашей теме... Например, управление порталом, поскольку  в индекс.темплейт вносится еще и кнопка управления порталом ;)
Удачи!!!
И последуйте совету... Ставьте дефолт и учитесь менять тему под себя...
Это принесет гораздо больше пользы и меньше головной боли на начальном этапе... http://www.simplemachines.ru/index.php?topic=7551.0
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

0daliska

Цитата: digger от 10 декабря 2009, 05:54:35
Поставьте уже какой-нибудь мод типа Custom Tab, который вам добавит кнопку.
мод типа Custom Tab Не подойдет, поскольку в них кнопка прописывается так же, как в дефолте... А у него по-другому в индекс-темплейт...
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only