Вывод названия меню отдельно от модуля меню

Тема в разделе "Внешний вид, шаблоны, графика", создана пользователем aoglib, 04.12.2007.

  1. aoglib
    Offline

    aoglib Недавно здесь

    Регистрация:
    19.10.2007
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    мне необходимо вывести название меню ( например: Главная, о компании, контакты....) в любом месте шаблона. Возможно даже всередине mosMainBody().

    подскажите пожалуйста. Вообще не представляю как.

    Вот код куда нужно вставить название меню.

    Код (CODE):
    1. <table width="100%" cellpadding="0" cellspacing="0" border="0">
    2.     <tr>
    3.         <td align="left" valign="top" id="pagecontent">
    4.              <div id="menuName">здесь нужно вывести Название меню соответствующее выбранному меню</div>
    5.             <?php mosMainBody(); ?>
    6.             <p>&nbsp;</p>
    7.         </td>
    8.   </tr>
    9. </table>
     
  2.  
  3. ekamaster
    Offline

    ekamaster Недавно здесь

    Регистрация:
    11.06.2007
    Сообщения:
    176
    Симпатии:
    4
    Пол:
    Мужской
    Ответ: Вывод названия меню отдельно от модуля меню

    так сделай и ставь модуль в позицию user7
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tr>
    <td align="left" valign="top" id="pagecontent">
    <div id="menuName"><?php mosLoadModules ( 'user7' ); ?></div>
    <?php mosMainBody(); ?>
    <p>&nbsp;</p>
    </td>
    </tr>
    </table>
     
  4. aoglib
    Offline

    aoglib Недавно здесь

    Регистрация:
    19.10.2007
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Вывод названия меню отдельно от модуля меню

    Мне не нужно вывод меню (mainmenu,othermenu...) в этой позиции.
    А сделать самостоятельно модуль для вывода только названия меню соответствующего раздела - я не в силах.

    мне нужно чтобы при нажатии на основном меню на ссылку "контакты" - в указанной мной позиции отображалось "Контакты". а если я нажму на ссылку меню " О компании" - там отображалось "О компании". ну и так далеее.
     
  5. ekamaster
    Offline

    ekamaster Недавно здесь

    Регистрация:
    11.06.2007
    Сообщения:
    176
    Симпатии:
    4
    Пол:
    Мужской
    Ответ: Вывод названия меню отдельно от модуля меню

    в таком случае самое простое - это создать новые модули с названиями разделов меню ,вставить все в user7 и
    назначить на нужные страницы.
     
  6. aoglib
    Offline

    aoglib Недавно здесь

    Регистрация:
    19.10.2007
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Вывод названия меню отдельно от модуля меню

    спасибо. попробую.

    Однако хочу спросить.
    Добавление такого модуля меню делает тяжелее сайт при загрузке? ведь добаляются куча запросов на SQL? оправдано ли это?
     
  7. ekamaster
    Offline

    ekamaster Недавно здесь

    Регистрация:
    11.06.2007
    Сообщения:
    176
    Симпатии:
    4
    Пол:
    Мужской
    Ответ: Вывод названия меню отдельно от модуля меню

    думаю,никто не заметит никакой разницы.
     
  8. Schemer
    Offline

    Schemer Недавно здесь

    Регистрация:
    26.11.2007
    Сообщения:
    49
    Симпатии:
    1
    Пол:
    Мужской
    Ответ: Вывод названия меню отдельно от модуля меню

    О, кстати, сам не далее как пару дней назад искал себе такой модуль.
    Нашел только вот что - http://ext.joom.ru/mod-ludo-show-item-info.html
    Как видно из описания, он немного для другого создан. Но, у него есть возможность выводить Титлы статей, поэтому я сделал следующем образом - в качестве title статей, на которые ссылаются пункты меню, я указывал именно названия этих пунктов. Ну и в итоге получилось то, что нужно, то есть, допустим, нажимаю на пункт меню "О компании", и в нужной позиции этот модуль показывает эту же надпись.

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

    P.S. Но вообще, я хочу попробовать переписать малось этот модуль, чтобы он мог еще отображать и активные пункты меню.
     
  9. aoglib
    Offline

    aoglib Недавно здесь

    Регистрация:
    19.10.2007
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Вывод названия меню отдельно от модуля меню

    да, неплохое решение. но как раз у меня да все наоборот. мне нужно именно выводить названия меню, поскольку они короче чем названия (темы) контента.
    наверное в моем случае будет проще создать еще один модуль меню, скопировать туда необходимые пункты меню и назначить им страницы где отображатся. ну в общем вот так. хотя такое решение добавляет кучу sql-запросов.
    поэтому, если будет решение попроще - буду рад помощи! :)
     
  10. Schemer
    Offline

    Schemer Недавно здесь

    Регистрация:
    26.11.2007
    Сообщения:
    49
    Симпатии:
    1
    Пол:
    Мужской
    Ответ: Вывод названия меню отдельно от модуля меню

    Ну вот ekamaster тоже хороший способ посоветовал.
     
  11. aoglib
    Offline

    aoglib Недавно здесь

    Регистрация:
    19.10.2007
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Вывод названия меню отдельно от модуля меню

    Вот еще один продуктивный метод показа названия пункта меню в необхомимом мне месте. вставляем в шапку шаблона

    Код (CODE):
    1. global $database;
    2. $br='';
    3. $error=false;
    4.       if ( isset($_REQUEST['Itemid']) ) {
    5.         $curr_Itemid = $_REQUEST['Itemid'];
    6.       }
    7.     $query = "SELECT name"
    8.     . "\n FROM #__menu"
    9.     . "\n WHERE id = '".$curr_Itemid."'"
    10.     . "\n AND menutype = 'mainmenu'"
    11.     . "\n AND published = 1"
    12.     ;
    13.  
    14.    $database->setQuery( $query);
    15.  
    16.    if (!$database->query()) {
    17.       $error = true;
    18.    }
    19.  
    20.     if ( $error ) {// если произошли какие-то ошибки выводим их с сообщениями
    21.     echo $br;
    22.     echo "<script> alert('".$database->stderr()."')</script>\n";
    23.     } else {
    24.             // если все прошло без ошибок - выводим результат поиска по таблице
    25.             $res = $database->loadObjectList();
    26.             $cnt = count($database->loadObjectList()); // кол-во найденых строк
    27.  
    28.                 if ( $cnt == 0) {//ничего не нашли
    29.                     echo $br;
    30.                 } else {
    31.                      foreach ($res as $row){
    32.                     $tbl_title = $row->name;
    33.              }
    34.             }
    35.          }

    вставляем в необходимое нам место
    Код (CODE):
    1. <?php echo $tbl_title; ?>
     

Поделиться этой страницей

Загрузка...