1

Тема: Как создать выпадающее меню в дефолтной теме

Сначала нужно установить плагин I18n, включить его на вкладке Плагины и заменить в файле header.inc.php код

<?php get_navigation(return_page_slug()); ?>

на

<?php get_i18n_navigation(return_page_slug(),0,99, I18N_SHOW_MENU); ?>

затем нужно добавить в файл style.css примерно такой код:

header nav ul li{ 
position:relative; 
}
header nav ul li.currentpath > a { 
    color:#FFF;
    background:#7096B6;
    background:rgba(255,255,255,.2);
    text-decoration:none;
    border-radius:40px;
    -moz-border-radius:40px;
    -khtml-border-radius:40px;
    -webkit-border-radius:40px;
}
header nav ul li ul { 
position:absolute; 
background: White;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
 z-index : 9999;
 min-width : 150px;
display:none;
 padding: 5px 10px 5px 0;
 border : 1px solid #DCDCDC;
}
header nav ul li ul li ul{
    left : 99%;
    top : -5px;
}
header nav ul li ul li{ 
float:none;  
}
header nav ul li ul li+li{
    border-top : 1px dashed #4878A1;
}
header nav ul li ul li a:link, 
header nav ul li ul li a:visited{
    background-color : transparent;
    color : Black;
    text-shadow: 0px 0px 0px rgba(0,0,0, .3);
    padding-top : 5px;
    padding-bottom : 5px;
}
header nav ul li:hover ul { 
display:block; 
}
header nav ul li:hover ul li ul{ 
display: none; 
}
header nav ul li ul li:hover ul{ 
display: block; 
}
header nav ul li ul li:hover ul li ul{ 
display: none; 
}
header nav ul li ul li ul li:hover ul{ 
display: block; 
}
header nav ul li ul li.current > a { 
color:#4878A1; 
font-weight:800;
background-color : transparent!important;

 } 

только добавляйте этот код в самом низу этого файла
это позволяет добавить три уровня вложенных меню, если вам лень изучать CSS, вы можете скачать программку http://css3menu.com/ , она поможет вам генерировать код с любым количеством уровней

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

2

Re: Как создать выпадающее меню в дефолтной теме

А не подскажите как сделать это в нестандартной теме, прописал в template.php данный код, меню встало но второй уровень не появляется?

Поделиться

3

Re: Как создать выпадающее меню в дефолтной теме

вы какой код-то прописали? замените теги header и nav в коде CSS на теги записанные в вашем template.php

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

4

Re: Как создать выпадающее меню в дефолтной теме

<?php get_i18n_navigation(return_page_slug(),0,99, I18N_SHOW_MENU); ?>

Хорошо сейчас буду менять теги

Поделиться

5

Re: Как создать выпадающее меню в дефолтной теме

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

Тяжело в учении, а в бою вообще могут убить нафиг.

Поделиться

6

Re: Как создать выпадающее меню в дефолтной теме

не подскажете, в каком описании вы видели подобное? если на моем сайте, дайте ссылку, пожалуйста, я исправлю

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

7 (2015-02-12 08:27:50 отредактировано masik)

Re: Как создать выпадающее меню в дефолтной теме

olsv64 пишет:

не подскажете, в каком описании вы видели подобное? если на моем сайте, дайте ссылку, пожалуйста, я исправлю

olsv64 пишет:

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

Внимание: для создания выпадающего меню вы должны знать языки CSS и JS.

Так как GetSimple CMS может показывать в адресной строке только два уровня вложенности, Мартин добавил возможность показывать ВСЕ уровни.

http://getsimplecms.ru/plaginy-dlya-get … lagin-i18n

С уважением...

Тяжело в учении, а в бою вообще могут убить нафиг.

Поделиться

8

Re: Как создать выпадающее меню в дефолтной теме

давайте сравним ваш текст и мой

masik пишет:

В описании СМС написано, что в самом коде ГС зашита возможность создания двухуровневого меню.

в моем тексте про меню ни слова, в нем только про уровни в адресной строке

masik пишет:

Так как GetSimple CMS может показывать в адресной строке только два уровня вложенности

вы не пробовали без использования плагинов создавать дочерние страницы?
пример
http://business-website.ru/demo/01/novosti/projects/
http://prntscr.com/642rns
но второго уровня меню здесь нет, здесь есть родительская и дочерняя страница, дочернюю страницу можно вообще не добавлять в меню, а разместить ссылку на нее на родительской странице.

если вы хотите получить многоуровневое меню, используйте плагины

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

9

Re: Как создать выпадающее меню в дефолтной теме

а какой файл содержит меню, которое создается в системе, с этими тэгами <ul>, <li> ?

С уважением...

Тяжело в учении, а в бою вообще могут убить нафиг.

Поделиться

10

Re: Как создать выпадающее меню в дефолтной теме

используйте плагин I18N, он позволяет создавать многоуровневые меню и использовать рендеринг
http://getsimplecms.ru/plaginy-dlya-get … agin-i18n/

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

11 (2015-02-13 13:20:08 отредактировано st_brat)

Re: Как создать выпадающее меню в дефолтной теме

masik пишет:

а какой файл содержит меню, которое создается в системе, с этими тэгами <ul>, <li> ?

С уважением...

Добрый день. Немного дополню ответ г-на Олега. Меню в стандартном случае содержится в основном файле Вашей темы. В стандартных темах этот файл называется template.php.
Найти этот файл Вы без затруднений можете в папке Вашей темы. В файле Вы найдете тег, выводящий меню, он называется get_navigation(). Олег рекомендует для Ваших целей заменить его и прописать другой тег, используемый для подключения плагина навигации.

P.S. Некоторые темы автоматически собираются CMS из нескольких файлов, тогда меню скорее всего будет храниться в файле header.inc.php. Подробнее Вы можете посмотреть в русской версии ВиКи

B.R.G.D.S.

Сайт st_brat

Поделиться

12 (2015-02-14 10:32:21 отредактировано masik)

Re: Как создать выпадающее меню в дефолтной теме

В стандартных темах этот файл называется template.php.
Найти этот файл Вы без затруднений можете в папке Вашей темы. В файле Вы найдете тег, выводящий меню, он называется get_navigation().

Спасибо всем за помощь. Но Вы говорите о теге, выводящем меню.

А я имел в виду другое.

Сейчас распишу подробно:
1. Создаем новую страницу.
2. Заходим в свойства.
3. Маркируем чекбокс "Добавить в меню".
4. В поле "название" пишем название страницы.
5. Сохраняем новую страницу.

Так вот, меня интересует, как называется тот файл, в который записываются названия всех страниц, которые мы создаем.

1 вопрос: Из какого файла выводится меню тэгом "get_navigation()" ?

С уважением...

Тяжело в учении, а в бою вообще могут убить нафиг.

Поделиться

13

Re: Как создать выпадающее меню в дефолтной теме

позвольте узнать, вам это зачем? хотите поковыряться в коде CMS? а зачем? может быть просто изучить ее возможности? я же дал вам ссылку на плагин smile

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

14

Re: Как создать выпадающее меню в дефолтной теме

olsv64 пишет:

позвольте узнать, вам это зачем? хотите поковыряться в коде CMS? а зачем? может быть просто изучить ее возможности?

Извините, я не знал, что это секретная информация.

С уважением...

Тяжело в учении, а в бою вообще могут убить нафиг.

Поделиться

15

Re: Как создать выпадающее меню в дефолтной теме

masik пишет:

...А я имел в виду другое.

Сейчас распишу подробно:
1. Создаем новую страницу.
2. Заходим в свойства.
3. Маркируем чекбокс "Добавить в меню".
4. В поле "название" пишем название страницы.
5. Сохраняем новую страницу.

Так вот, меня интересует, как называется тот файл, в который записываются названия всех страниц, которые мы создаем.
1 вопрос: Из какого файла выводится меню тэгом "get_navigation()" ?...

Похоже к русскому сообществу любителей CMS GetSimple присоединился еще один профессионал, умеющий делать чудеса на PHP.

Не уверен на 100%, но судя по всему, названия всех созданных страниц и названия пунктов меню (как Вы знаете, они могут отличаться), хранятся в файле .../data/other/pages.xml.
А также названия страницы хранится в файле самой страницы .../data/pages/stranica.xml

Вам, как программисту, возможно пригодится другая функция для создания меню:
menu_data()

<?php menu_data(); ?>, <?php menu_data('page-slug'); ?>

Эта функция выводит массив параметров меню и предназначена для разработчиков, которым необходимо создание собственного меню, а не использование встроенной функции get_navigation(). Это как раз Ваш случай. Если в качестве параметра передается постоянная ссылка страницы (slug), функция выведет массив параметров меню, связанных только с этой страницей.
Источник: Русская ВиКи CMS GetSimple (ссылка в шапке этого форума).

B.R.G.D.S.

Сайт st_brat

Поделиться

16

Re: Как создать выпадающее меню в дефолтной теме

Что такое "дефолтная тема" и "нестандартная тема"?
И чем они отличаются друг от друга?

С уважением...

Тяжело в учении, а в бою вообще могут убить нафиг.

Поделиться

17

Re: Как создать выпадающее меню в дефолтной теме

masik пишет:

Что такое "дефолтная тема" и "нестандартная тема"?
И чем они отличаются друг от друга?

С уважением...

Спасибо за интересный и неожиданный вопрос.

Термин "дефолтная тема" - произошел от англ. "default" (по умолча́нию), используется как разговорное обозначение для тем, включенных разработчиками в сборку. Это значит, что тема "идет в комплекте" с CMS.

Понятие "нестандартная тема" гораздо менее изучено и документировано, но если коротко, то можно сформулировать так:
В отличии от стандартных тем, нестандартные темы - это темы, которые реализованы разработчиком с использованием одного или нескольких нестандартных решений. В частности в таких темах может использоваться множество дополнительных функций, не входящих в стартовый состав функций CMS при обычной установке. Нестандартная тема может предусматривать возможность её использования только в связке с каким-либо дополнительным плагином. Или для правильного отображения темы обязательно использование компонентов с заранее оговоренными конкретными параметрами.

И еще одно определение: Нестандартная тема - это тема, сделанная без соблюдения правил создания тем для GetSimple. Предвидя Ваш возможный следующий вопрос "Что такое "правила создания тем?": http://get-simple.info/wiki/ru:themes:creation

B.R.G.D.S.

Сайт st_brat

Поделиться

18 (2016-03-30 22:05:07 отредактировано miron)

Re: Как создать выпадающее меню в дефолтной теме

olsv64 помогите создать выпадающее меню. Пошагово. В какиз файлах изинить код ?

Getsimple 338

Поделиться

19

Re: Как создать выпадающее меню в дефолтной теме

для многоуровневого выпадающего меню вы можете использовать JS http://www.dynamicdrive.com/dynamicindex1/indexc.html
или CSS http://www.dynamicdrive.com/style/cssli … tegory/C1/
http://css3menu.com/
информации в инете много
https://yandex.ru/search/?text=css3%20m … mp;win=201

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

20

Re: Как создать выпадающее меню в дефолтной теме

olsv64 спасибо. Но я был уже на этих сайтах, сделал менюшки, но как их подключить в шаблон ..
тк и не понял в каком файле править код. Вразумите, плиз.

Поделиться

21

Re: Как создать выпадающее меню в дефолтной теме

разместите созданные вами файлы css и js в папке темы и включите их в в файле template.php или header.inc.php, посмотрите, что там у вас есть
пример:

<link href="<?php get_theme_url(); ?>/css/jquery.smartmenus.bootstrap.css" rel="stylesheet" type="text/css">

надеюсь вы используете плагин I18N, ибо без него у вас ничего не получится

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

22

Re: Как создать выпадающее меню в дефолтной теме

Да плагин I18N использую, только с его помощтб еше не создал меню.

Поделиться

23

Re: Как создать выпадающее меню в дефолтной теме

возможно вам придется воспользоваться рендерингом http://getsimplecms.ru/plaginy-dlya-get … ринг)-меню

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

24

Re: Как создать выпадающее меню в дефолтной теме

olsv64 пишет:

Сначала нужно установить плагин I18n, включить его на вкладке Плагины и заменить в файле header.inc.php код

<?php get_navigation(return_page_slug()); ?>

на

<?php get_i18n_navigation(return_page_slug(),0,99, I18N_SHOW_MENU); ?>

затем нужно добавить в файл style.css примерно такой код:

header nav ul li{ 
position:relative; 
}
header nav ul li.currentpath > a { 
    color:#FFF;
    background:#7096B6;
    background:rgba(255,255,255,.2);
    text-decoration:none;
    border-radius:40px;
    -moz-border-radius:40px;
    -khtml-border-radius:40px;
    -webkit-border-radius:40px;
}
header nav ul li ul { 
position:absolute; 
background: White;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
 z-index : 9999;
 min-width : 150px;
display:none;
 padding: 5px 10px 5px 0;
 border : 1px solid #DCDCDC;
}
header nav ul li ul li ul{
    left : 99%;
    top : -5px;
}
header nav ul li ul li{ 
float:none;  
}
header nav ul li ul li+li{
    border-top : 1px dashed #4878A1;
}
header nav ul li ul li a:link, 
header nav ul li ul li a:visited{
    background-color : transparent;
    color : Black;
    text-shadow: 0px 0px 0px rgba(0,0,0, .3);
    padding-top : 5px;
    padding-bottom : 5px;
}
header nav ul li:hover ul { 
display:block; 
}
header nav ul li:hover ul li ul{ 
display: none; 
}
header nav ul li ul li:hover ul{ 
display: block; 
}
header nav ul li ul li:hover ul li ul{ 
display: none; 
}
header nav ul li ul li ul li:hover ul{ 
display: block; 
}
header nav ul li ul li.current > a { 
color:#4878A1; 
font-weight:800;
background-color : transparent!important;

 } 

только добавляйте этот код в самом низу этого файла
это позволяет добавить три уровня вложенных меню, если вам лень изучать CSS, вы можете скачать программку http://css3menu.com/ , она поможет вам генерировать код с любым количеством уровней


Добрый день, вставил код в CSS но не смог разобраться какие теги поменять на какие (прошу прощения не силен).
Подскажите какие теги нужно заменить на мои в вашем кусочке CSS ???

Вот вырезка из моего header.inc.php (тема Boom):

        <!-- navigation -->
        <nav>
            <div class="container">
                <div class="col-12">
                    <div id="navigation">
                        <ul id="nav">
                      <?php get_i18n_navigation(return_page_slug(),0,99, I18N_SHOW_MENU); ?>
                        </ul>
                    </div>
                    <div class="clearfix"></div>       
                </div>
                <div class="clearfix"></div>
            </div>
        </nav>
        <!-- /navigation -->

Заранее спасибо !!!

Поделиться

25 (2016-05-18 12:16:35 отредактировано scooternsk)

Re: Как создать выпадающее меню в дефолтной теме

Так ... ну с выпадением меню справился, сори за предыдущий длинный пост )))
Осталась одна маленькая проблема (а может она и большая), итак - как раскрасить в черный цвет выделенный кружочком текст ?

http://f2.s.qip.ru/~xvshx6OM.jpg

В строке 194 (style.css / boom theme), нашел вот такой код, при изменении color - меняются цвет текста во всех трех местах меню!

#navigation ul li a {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    padding: 17px 25px;
}

Я понимаю что надо поставить параметр color где то в том кусочке кода, который приведен в первом сообщении, но вот где - я не знаю! Посему прошу Вашей помощи товарищи )))

P.S. видимо проблема из той же оперы, когда жмешь на пункт меню, в котором есть подпункты то зеленеют все пункты выпадающего меню, а если наводишь только, то в выпадающем меню все ок. Как подлечить ?
http://f4.s.qip.ru/~xvshx6OO.jpg


Заранее спасибо товарищи !!! )))

Поделиться