Форум русской поддержки Joomla!® CMS
06.12.2016, 14:20:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Правильная установка суффикса CSS-класса модуля

 (Прочитано 10824 раз)
0 Пользователей и 1 Гость смотрят эту тему.
staticway
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 174


Мыслю простенько и со вкусом


« : 22.09.2011, 11:59:15 »

У меня версия 1.7, шаблон Themza_17_04, делаю верхнее меню, в подключаемом файле CSS за дизайн меню отвечает элемент #topnav и все внутрь вложенные элементы, хочу прикрутить свой дизайн через подключение через суффикс CSS-класса модуля, в админке прописал -topmenu, затем скопировал всё описание класса #topnav и добавил к нему -topmenu, получилось #topnav-topmenu, но так ничего и не получилось. Новое описание класса имеет вид

#topnav-topmenu ul li li { width:auto; height: 35px; }

Вопрос, почему не работает, или к каждому вложенному элементу-тегу надо дописывать -topmenu?
Записан
Shustry
Moderator
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #1 : 22.09.2011, 12:08:23 »

Ссылку на сайт выложите.
Записан
Shustry
Moderator
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #2 : 22.09.2011, 13:27:33 »

Поглядел. Нет суффикса.
Записан
staticway
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 174


Мыслю простенько и со вкусом


« Ответ #3 : 22.09.2011, 19:11:11 »

А сама процедура какова? Прописал классы, в админке тоже прописал, не нужно ли прописывать где-то ещё параметры, например в xml-файле модуля? Вот что в админке

« Последнее редактирование: 22.09.2011, 19:35:02 от staticway » Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #4 : 22.09.2011, 19:51:36 »

меню генерируется Joomla и выводится с классом .moduletable
вот к нему суффикс и дописывается

поэтому стили нужно прописывать для .moduletable-topmenu{.....}
Записан
staticway
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 174


Мыслю простенько и со вкусом


« Ответ #5 : 22.09.2011, 20:10:37 »

меню генерируется Joomla и выводится с классом .moduletable
вот к нему суффикс и дописывается

поэтому стили нужно прописывать для .moduletable-topmenu{.....}

не пойму, изначально имеется

#topnav ul li a{.....

а в итоге вместо этого должно быть, так?

.moduletable-topmenu ul li a{.....}

или так

.moduletable-topmenu#topnav ul li a{.....
« Последнее редактирование: 22.09.2011, 20:54:19 от staticway » Записан
staticway
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 174


Мыслю простенько и со вкусом


« Ответ #6 : 22.09.2011, 21:17:27 »

Ну неужели элементарных вещей никто не знает, гуру где Вы, ни один способ не работает, что делать?
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #7 : 23.09.2011, 00:14:28 »

да не так...

ты вставляешь свой блок для меню <div id="topnav">
Joomla генерирует свой блок <div class="moduletable"> и вставляет в твой
если указан суффикс, то вставляется <div class="moduletable-суффикс">


Код:
<div id="topnav">
   <div class="moduletable-topmenu">

        твое меню

   </div>
</div>

Поэтому CSS прописывается: #topnav .moduletable-topmenu ul li a{ ...}

потому что не известно, что у тебя там в #topnav наворочано..
есть такая штука - специфичность...
но это отдельная долгая и безумно печальная тема Azn
« Последнее редактирование: 23.09.2011, 01:14:39 от fbr » Записан
staticway
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 174


Мыслю простенько и со вкусом


« Ответ #8 : 23.09.2011, 12:59:50 »

да не так...

ты вставляешь свой блок для меню <div id="topnav">
Joomla генерирует свой блок <div class="moduletable"> и вставляет в твой
если указан суффикс, то вставляется <div class="moduletable-суффикс">


Код:
<div id="topnav">
   <div class="moduletable-topmenu">

        твое меню

   </div>
</div>

Поэтому CSS прописывается: #topnav .moduletable-topmenu ul li a{ ...}

потому что не известно, что у тебя там в #topnav наворочано..
есть такая штука - специфичность...
но это отдельная долгая и безумно печальная тема Azn


Отличная логика, именно к такому выводу пришел ещё вчера и попробовал такую же конструкцию

#topnav .moduletable-topmenu ul li a {.......}

Но к сожелению это не работает, сами стили не подхватываются, смотрю через FireBug, да у меню которое в левой колонке видны div class="moduletable", и некоторые имеют суффикс .moduletable_menu. А в моем случае, т.е. в верхнем меню все классы как были так и остаются #topnav и все свойства остаются прежними, такое впечатление, что сам шаблон не может. Хотя в в template.css вижу для главного меню

#leftcolumn div.moduletable_menu{
а в админке для этого же меню в суффиксе стоит _menu

и это работает.
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #9 : 23.09.2011, 15:26:33 »

открой просмотр кода страницы и посмотри как у тебя меню выводится

если class="moduletable_menu" - значит ты свой суффикс куда-то не туда в админке прикрутил

если class="moduletable-topmenu" - значит  в ccs что-то не там или не так прописал

чудес не бывает
Записан
AlexSF
Завсегдатай
*****

Репутация: +68/-0
Offline Offline

Пол: Мужской
Сообщений: 678


В споре истина рождается


« Ответ #10 : 23.09.2011, 16:13:47 »

и ещё маленькая деталь - суффиксы обычно пропиываются через подчёркивание( _ ), а не через дефис ( - )
 
Цитировать
не внимательно читали даже свои посты

#leftcolumn div.moduletable_menu{
а в админке для этого же меню в суффиксе стоит _menu

и это работает.

Соответственно , писать нужно было так _topmenu =       #topnav .moduletable_topmenu ul li a{ ...}
Записан
staticway
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 174


Мыслю простенько и со вкусом


« Ответ #11 : 23.09.2011, 20:13:18 »

и ещё маленькая деталь - суффиксы обычно пропиываются через подчёркивание( _ ), а не через дефис ( - )
 
Соответственно , писать нужно было так _topmenu =       #topnav .moduletable_topmenu ul li a{ ...}
Да, почитав несколько тем, думал, что именно в этом баг, попробовал, - плодов не принесло, не работает

Цитировать
открой просмотр кода страницы и посмотри как у тебя меню выводится

если class="moduletable_menu" - значит ты свой суффикс куда-то не туда в админке прикрутил

если class="moduletable-topmenu" - значит  в ccs что-то не там или не так прописал

Таких классов в исходнике вообще нет, все классы остаются старыми, и суффикс в упор не хочет прикручиваться, вот что вижу в исходниках верхнего меню

<div id="topnav">
<ul class="menu">
<li class="item-112 current active">

и чудеса по всей вероятности бывают.

Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #12 : 23.09.2011, 23:10:59 »

зайди в templates/system/ там должен быть файл modules.php, а в нем

Код:
<div class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx')); ?>">

это то, что должно выводить <div class="moduletable"> + суффикс, если прописан

зайди в свой шаблон и в папке HTML найди такой же modules.php

сравни код файлов, может разработчик шаблона его переписал?

чудес не бывает стопудово
« Последнее редактирование: 23.09.2011, 23:23:23 от fbr » Записан
staticway
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 174


Мыслю простенько и со вкусом


« Ответ #13 : 24.09.2011, 11:56:10 »

зайди в templates/system/ там должен быть файл modules.php, а в нем

Код:
<div class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx')); ?>">

это то, что должно выводить <div class="moduletable"> + суффикс, если прописан

зайди в свой шаблон и в папке HTML найди такой же modules.php

сравни код файлов, может разработчик шаблона его переписал?

чудес не бывает стопудово

Вот код tempates/system/html/modules.php 63 строка

<div class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx')); ?>">

и вот код в шаблоне templates/themza_j17_04/html/modules.php 22 строка

<div class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx')); ?>">
Записан
Rumb16
Гость
« Ответ #14 : 24.09.2011, 19:02:39 »

.
« Последнее редактирование: 25.09.2011, 10:57:46 от Rumb16 » Записан
staticway
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 174


Мыслю простенько и со вкусом


« Ответ #15 : 26.09.2011, 21:45:34 »

Ну всё идеи кончились? Здесь почему-то всё вращается вокруг class="moduletable а если меню имеет другой класс, тогда как?
Записан
AlexSF
Завсегдатай
*****

Репутация: +68/-0
Offline Offline

Пол: Мужской
Сообщений: 678


В споре истина рождается


« Ответ #16 : 26.09.2011, 21:53:24 »

тогда ссылку на сайт и скриншот с отметкой места где пытаетесь править

и полистать пару страниц форума , авось и найдется решение. например тут http://joomlaforum.ru/index.php/topic,176155.0.html
« Последнее редактирование: 26.09.2011, 21:58:19 от AlexSF » Записан
midav
Живу я здесь
******

Репутация: +113/-1
Offline Offline

Пол: Мужской
Сообщений: 946



« Ответ #17 : 03.10.2011, 18:47:13 »

Цитировать
Ну всё идеи кончились? Здесь почему-то всё вращается вокруг class="moduletable а если меню имеет другой класс
Какие идеи ? Это что , гадание на кофейной гуще ?
Просто нужно через исходный код посмотреть какие классы присваиваются нужному модулю . И потом настраивать стили , так как Вам необходимо , для достижения нужного результата .
Научитесь пользоваться FireBug , тогда гадать не придется .
Записан
midav
Живу я здесь
******

Репутация: +113/-1
Offline Offline

Пол: Мужской
Сообщений: 946



« Ответ #18 : 03.10.2011, 18:56:59 »

Цитировать
и ещё маленькая деталь - суффиксы обычно пропиываются через подчёркивание( _ ), а не через дефис ( - )
Хм... а какая разница ? Кому как удобнее , тот так и прописывает .
Можно вообще через пробел прописывать . Тогда у модуля будет два класса .
Записан
Nikitos
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #19 : 09.02.2012, 00:30:35 »

В template.css есть следующие записи для меню:
Код
a.NAVI_mymenu    {
 color:#663;
 display: block;
 text-decoration: none;
 font-size: 14px;
 font-family: Arial, Helvetica, sans-serif;
 font-weight: bold;
 background-image: url(images/bg_btt.jpg);
 padding-left: 15px;
 padding-top: 7px;
 padding-bottom: 7px;
 padding-right: 5px;
 background-repeat: no-repeat;
}
a.NAVI_mymenu:hover    {
 color:#F60;
 text-decoration: none;
}
В суффиксе CSS-класса соответственно прописано "_mymenu".
Код элемента выдает следующее:
<!-- The class on the root UL tag was changed to match the Blueprint nav style -->
<ul class=​"joomla-nav">​
<li id=​"current" class=​"selected item435">​
<a href=​"/​">​123​</a>​

В чем ошибка?
Заранее благодарен!
« Последнее редактирование: 09.02.2012, 01:05:29 от Nikitos » Записан
Shustry
Moderator
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #20 : 09.02.2012, 00:44:05 »

Кириллицей чтоли классы-айдишники прописаны? О_о
Записан
Nikitos
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #21 : 09.02.2012, 01:00:18 »

В коде символы выскакивают почему-то...
Выглядит так:
<!-- The class on the root UL tag was changed to match the Blueprint nav style -->
<ul class=​"joomla-nav">​
<li id=​"current" class=​"selected item435">
<a href=​"/​">​123​</a>
Записан
Nikitos
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #22 : 09.02.2012, 12:54:31 »

Помогите! 2 дня разбираюсь - спать не могу!=)
Записан
vasiliy999
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #23 : 22.05.2012, 12:04:04 »

День добрый. У меня была похожая проблема. Я добавлял _суффикс к модулю, потом смотрел через FireBug. Класс принимал имя class="module m_suffix", в .css при вставки данного имени также ничего не происходило. Потом дошло, что имя класса при добавление суффикса формируется с пробелом. В этой же теме нашел где лежит файл modules.php, отыскал строку отвечавшую за формирование имени (там действительно к module прибавлялась m через пробел. Заменил пробел на нижнее подчеркивание и все решилось. В .css соответственно тоже выглядело как module_m_suffix.
Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #24 : 22.05.2012, 12:13:37 »

Заменил пробел на нижнее подчеркивание и все решилось. В .css соответственно тоже выглядело как module_m_suffix.
А зачем. Через пробел даже лучше так два класса получается и использовать надо было так
.module{}
.m_suffix{}
Записан
vasiliy999
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #25 : 23.05.2012, 11:00:11 »

А зачем. Через пробел даже лучше так два класса получается и использовать надо было так
.module{}
.m_suffix{}
Так ни в какую не получалось. Хотя за совет спасибо, попробую этим способом более внимательно, может это я косячил.
Записан
GTitan
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 35



« Ответ #26 : 24.03.2015, 00:09:28 »

Ребята окажите помощь.
Суфикс класса модуля не прилипает, остается один пробел.
А при просмотре кода, после ликвидации пробела, становиться все норм.
Joomla 3.3.6
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6457



« Ответ #27 : 24.03.2015, 00:13:23 »

Ребята окажите помощь.
Суфикс класса модуля не прилипает, остается один пробел.
А при просмотре кода, после ликвидации пробела, становиться все норм.
Joomla 3.3.6
1) не в том разделе - вам сюда, создайте топик там.
2) смотря что за модуль и как реализован вывод, надо смотреть код шаблона модуля
Записан
GTitan
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 35



« Ответ #28 : 24.03.2015, 00:24:38 »

2) смотря что за модуль и как реализован вывод, надо смотреть код шаблона модуля
Спасибо, создал.
Модули штатные, вывода новостей и HTML, на обеих одинаковая проблема.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet