Компонент "Новое в новостях", разбить новые новости на две колонки

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#16 8 апреля 2012 в 18:39
если используете дубликаты то присвойте нужному модулю в конфиге (настройки модуля в админке) css префикс типа two_cols_
при этом вам придётся определить в styles.css новые блоки определений для новых классов,
они получаться типа:
  1.  
  2. .two_cols_module {} аналог .module
  3. .two_cols_moduletitle {} аналог .moduletitle
  4. .two_cols_modulebody {} аналог .modulebody
  5.  
  6. потом укажите то что я советовал в посте только через групповой селектор
  7.  
  8. .two_cols_modulebody .mod_latest_entry { ... }
  9.  
#17 8 апреля 2012 в 21:14


если используете дубликаты то присвойте нужному модулю в конфиге (настройки модуля в админке) css префикс типа two_cols_
при этом вам придётся определить в styles.css новые блоки определений для новых классов,
они получаться типа:

  1.  
  2. .two_cols_module {} аналог .module
  3. .two_cols_moduletitle {} аналог .moduletitle
  4. .two_cols_modulebody {} аналог .modulebody
  5.  
  6. потом укажите то что я советовал в посте только через групповой селектор
  7.  
  8. .two_cols_modulebody .mod_latest_entry { ... }
  9.  

• Mike •

А как сам файл mod_latest сделать? Можно подробнее, а то я не понял?
#18 8 апреля 2012 в 22:41
новых файлов никаких не надо создавать…
вам нужно в админке выбрать из дубликатов тот модуль, который будете делать в две колонки — кликнуть на нём (попадёте в настройки) > рядом со вторым полем (справа) где написано «Название модуля отображается в админке» есть маленькое поле «CSS префикс» набирите в нём например: two_cols_
всё сохраняете настройки модуля…
открываете из вашей папки с шаблоном файл styles.css
находите в нём где прописаны свойства для классов

.module
.moduletitle
.modulebody

дублируете их
и переименовываете в

.two_cols_module
.two_cols_moduletitle
.two_cols_modulebody

то есть к имени класса добавляете тот префикс, что вводили в настройках модуля в админке…
потом добавьте то что я советовал в посте только через групповой селектор

.two_cols_modulebody .mod_latest_entry {
float: left;
margin-bottom: 10px;
margin-right: 30px; /*просвет между колонками*/
width: 400px;/*ширина блока подобрать нужную*/
}

всё… сохраняйте файл и у вас будет индивидуально настроенная копия модуля(дубликат)…
#19 8 апреля 2012 в 22:51

.module
.moduletitle
.modulebody

• Mike •

Извините, у меня дефолтный шаблон, но я таких классов не вижу.
#20 8 апреля 2012 в 22:57
в дефолтном они все начинаются тоже с группового селектора (т.е из двух частей состоят)

#main .module
#main .moduletitle
#main .modulebody


соответственно так же и переименуйте с #main…
#21 8 апреля 2012 в 22:57
в styles.css строки где-то ~240-260…
#22 8 апреля 2012 в 22:58
старые классы оставляете как были переименовываете после того как скопируете…
#23 8 апреля 2012 в 23:03
• Mike •

• Mike •:

/templates/_default_/modules/mod_latest.tpl
Код PHP:
1
{foreach key=aid item=article from=$articles}
2
     {*** вот тут ***}
3
        {if $article.image}
4
             

Простите, не совсем понял как это сделать правильно. А как потом "сказать", чтобы определенный модуль выводил данные в этом шаблоне?

Dorimen


А с этим что делать? :)) Извините, что туплю безбожно, но никак не могу сообразить!
#24 8 апреля 2012 в 23:08
если использует дубликаты то ничего не нужно)… это я приводил фрагмент кода шаблона для случая когда модуль у вас один…
#25 8 апреля 2012 в 23:11
#main .module{
margin-bottom:10px;
//margin-bottom:20px;
padding:10px 20px 15px 20px;
//padding-top:0px;
background:#FFF;
/**border-radius:8px;
-moz-border-radius:8px;**/
-moz-box-shadow:0 2px 0 #000;
box-shadow:0 2px 0 #000;
}

#main .moduletitle{
font-size:22px;
height:40px;
line-height:40px;
background:url(../images/modtop.jpg) repeat-x left;
margin-top:-11px;
margin-bottom:10px;
padding-left:14px;
text-shadow:0 1px 0 #1F3147;
color:#FFF;
border-radius: 0px 0px 8px 8px;
-moz-border-radius: 0px 0px 8px 8px;
display:block;
}

#main div:last{
border-bottom:none !important;
}

У меня вот такие классы. Как мне правильно прописать новые, чтоб сделать две колонки?
#26 8 апреля 2012 в 23:14
чтоб совсем стало понятнее…
  1.  
  2. {foreach key=aid item=article from=$articles}
  3. <div class="mod_latest_entry"> {*** когда нет дубликатов, переименовать класс mod_latest_entry ***}
  4. {if $article.image}
  5. <div class="mod_latest_image">
  6.  
например так:
  1. {foreach key=aid item=article from=$articles}
  2. <div class="mod_latest_entry_two_cols"> {*** переименовали в mod_latest_entry_two_cols ***}
  3. {if $article.image}
  4. <div class="mod_latest_image">
  5.  
дальше в styles.css задать для него свойства:
  1.  
  2. .mod_latest_entry_two_cols {
  3. float: left;
  4. margin-bottom: 10px;
  5. margin-right: 30px; /*просвет между колонками*/
  6. width: 400px;/*ширина блока подобрать нужную*/
  7. }
  8.  
  9. но еще раз повторяю, когда не используете дубликаты модуля…
  10.  
#27 8 апреля 2012 в 23:19
  1.  
  2. #main .two_cols_module{
  3. margin-bottom:10px;
  4. //margin-bottom:20px;
  5. padding:10px 20px 15px 20px;
  6. //padding-top:0px;
  7. background:#FFF;
  8. /**border-radius:8px;
  9. -moz-border-radius:8px;**/
  10. -moz-box-shadow:0 2px 0 #000;
  11. box-shadow:0 2px 0 #000;
  12. }
  13.  
  14. #main .two_cols_moduletitle{
  15. font-size:22px;
  16. height:40px;
  17. line-height:40px;
  18. background:url(../images/modtop.jpg) repeat-x left;
  19. margin-top:-11px;
  20. margin-bottom:10px;
  21. padding-left:14px;
  22. text-shadow:0 1px 0 #1F3147;
  23. color:#FFF;
  24. border-radius: 0px 0px 8px 8px;
  25. -moz-border-radius: 0px 0px 8px 8px;
  26. display:block;
  27. }
  28. .two_cols_modulebody .mod_latest_entry {
  29. float: left;
  30. margin-bottom: 10px;
  31. margin-right: 30px; /*просвет между колонками*/
  32. width: 400px;/*ширина блока подобрать нужную*/
  33. }
  34.  
  35.  

в админке в настройках задать префикс two_cols_ <<— так же как тут написано…
#28 8 апреля 2012 в 23:30
то что постом выше ЭТО нужно ДОБАВИТЬ в файл styles.css а не заменить то что там есть…
#29 8 апреля 2012 в 23:33
• Mike •, ничего у меня не получилось :)

Вроде сделал все, как Вы сказали. Вот страница fermer.org.ua/stati, вот что есть: clip2net.com/s/1MQn3
#30 8 апреля 2012 в 23:38
всё вы правильно сделали )
только у вас на 512 строчке в styles.css осталось
  1.  
  2. .mod_latest_entry {
  3. clear: both;
  4. }
  5.  
закомментируйте:
  1.  
  2. .mod_latest_entry {
  3. /*clear: both;*/
  4. }
  5.  
всё заработает…
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.