Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 87 Ответов
  • 54246 Просмотров
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: CSS-класс страницы
« Ответ #30 : 09.10.2012, 15:31:03 »
art-apple Ну чего вы так уперлись. Еше раз ошибка это. Поменяйте doctype на другой сразу увидите.
Уперлись вы, зачем мне менять доктайп? Если не ошибаюсь ни HTML 4.01 Strict, ни XHTML 1.0 Strict не ругается на пустые классы.
*

Leva27

  • Осваиваюсь на форуме
  • 41
  • 3 / 0
  • Дальвебстудия
Re: CSS-класс страницы
« Ответ #31 : 09.11.2012, 07:42:34 »
Что-то запутался...
Делаю шаблон, есть фоновое изображение. Хотелось бы, чтобы на главной оно было одно, на остальных другое.

В CSS это выглядит так:

Код
body{
        margin:0 auto;
padding:0;
width:100%;
min-height:100%;
    background:url(../images/bgin.jpg) top center repeat-x #01273C;
}

В index.php шаблона задал:

Код
<body class="page<?php echo $pageClassSuffix ?>">

В CSS заменил на:
Код
.item-page-glavnaya{
    margin:0 auto;
padding:0;
width:100%;
min-height:100%;
    background:url(../images/bgin.jpg) top center repeat-x #01273C;
}

В админке Joomla для пункта меню "Главная" прописал CSS-класс -glavnaya

Фоновая картинка отображается только в области контента, а не по всей странице. Чего накриворучил?
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: CSS-класс страницы
« Ответ #32 : 09.11.2012, 08:00:55 »
вместо .item-page-glavnaya
надо body.page-glavnaya
*

Leva27

  • Осваиваюсь на форуме
  • 41
  • 3 / 0
  • Дальвебстудия
Re: CSS-класс страницы
« Ответ #33 : 09.11.2012, 09:07:00 »
вместо .item-page-glavnaya
надо body.page-glavnaya

Спасибо, заработало  *DRINK*

Получается работает так (поправьте если что):

Вставил в index.php шаблона:

Код
/*Добавляем суффикс -glavnaya*/
<?php
  $pageClassSuffix = JSite::getMenu()->getActive()? JSite::getMenu()->getActive()->params->get('pageclass_sfx', ' -glavnaya') : ' -glavnaya';
?>
...
/*для тега BODY задаем класс page+суффикс*/
<body class="page<?php echo $pageClassSuffix ?>">


Вставил в CSS шаблона:

Код
/*Задаем свойства для тега BODY класса page-glavnaya*/
body.page-glavnaya{
     background:url(../images/bgin.jpg) top center repeat-x #01273C;
}

В админке Joomla для пункта меню "Главная" прописал CSS-класс -glavnaya

В итоге на Главной он подгружает фоновое изображение, на остальных страницах - нет.

А чтобы задать еще класс - нужно продублировать строку с другим суффиксом?
Код
<?php 
  $pageClassSuffix = JSite::getMenu()->getActive()? JSite::getMenu()->getActive()->params->get('pageclass_sfx', ' -drugaya') : '-drugaya';
?>

И куда лучше эту строку прописать? Я прописал в index.php, в предыдущих постах был разговор за default.php в templates\шаблон\html\com_content\article\.
Лучше туда?
 И если да, то как эта схема работает: если default.php есть в шаблоне, то он подхватывается вместо default.php в system-шаблоне или в дополнение?
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: css-класс страницы
« Ответ #34 : 09.11.2012, 11:48:12 »
Я делаю немного по другому:
в index.php шаблона добавляю
Код
<?
$menuitemid = JRequest::getInt( 'Itemid' );
if ($menuitemid) {
    $menu = JSite::getMenu();
    $bodysuffix = $menu->getParams( $menuitemid )->get('pageclass_sfx');
if ($bodysuffix){ $class = ' class="'.$bodysuffix.'"'; } else { $class = ""; }
}
?>

<body> заменяем на
Код
<body<?php echo $class; ?>>

Все, теперь по умолчанию никакого класса у body нет, а если мы хотим каждую страницу оформить по разному, то добавим суффикс для пункта меню к примеру - для главной добавим суффикс - home

в CSS шаблона пишем
Код
body.home{
/*тут необходимые свойства*/
}

для еще одной страницы, например пункт меню контакты прописываем суффикс - contact и затем в CSS пишем
Код
body.contact{
/*тут необходимые свойства*/
}

для остальных страниц страниц, не имеющих суффикса просто
Код
body{
/*тут необходимые свойства*/
}

+ можно менять оформление любых блоков, допустим у нас есть модуль - Новости и мы хотим чтобы фон данного модуля был разным на страницах главная и контакты и допустим что модуль новости выводится в блоке c классом .module-news, то в CSS пишем
на главной
Код
body.home .module-news{
background:#fff;
}

на странице контактов
Код
body.contact .module-news{
background:#000;
}

для остальных страниц не имеющих суффикса
Код
.module-news{
background:#ff0;
}
« Последнее редактирование: 09.11.2012, 11:53:55 от art-apple »
*

Leva27

  • Осваиваюсь на форуме
  • 41
  • 3 / 0
  • Дальвебстудия
Re: CSS-класс страницы
« Ответ #35 : 16.11.2012, 06:13:05 »
Еще каверзный вопрос ) Теперь надо на главной странице отобразить флеш-анимацию, на остальных - она не нужна.
Прописал в index.php шаблона:

Код
<div id="wrapper" class="page<?php echo $pageClassSuffix ?>">
<div id="cloud" class="page-glavnaya">
<object type="application/x-shockwave-flash" id="chaika" data="/templates/mytemplate/flash/1.swf" class="page<?php echo $pageClassSuffix ?>">
<param name="movie" value="/templates/mytemplate/flash/1.swf" />
<param name="quality" value="high" />
<param name="menu" value="false" />
<param name="wmode" value="transparent">
<img src="/templates/mytemplate/images/index.jpg" width="2000" height="960"  /></object>
</div>
В CSS:
Код
#cloud.page-glavnaya { 
position: absolute;
margin-top:0;
width:100%;
height: 960px;
}

Flash показывает на главной, а на других - нет. Но подгружается везде (Yslow сделал такие глаза O_o ))). Надо чтоб только на главной
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: CSS-класс страницы
« Ответ #36 : 16.11.2012, 12:21:08 »
Проверка на главную
Код
<?php if (JURI::current() == JURI::base()){ ?>
тут все что нужно отобразить только на главной, например вашу флешку
<?php } ?>
*

mvn

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
Re: CSS-класс страницы
« Ответ #37 : 20.11.2012, 04:38:32 »
буду признателен за помощь с суффиксами.
Я так понял что суффикс мы прописываем к пункту меню странице или можно к конкретному материалу (не нашел где)?

Задача следующая:
есть Категория "Акции" в ней материалы, пунктов меню на каждую из Акций не предусмотрено (доступ через Блог категории, модуль - список материалов категории). Возможно ли без создания меню задать им классы? Меняться будет фон и граница  item-page. Может есть в редакторе (jce установлен) функция задать стиль блоку с материалом?
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: css-класс страницы
« Ответ #38 : 20.11.2012, 10:21:52 »
буду признателен за помощь с суффиксами.
Я так понял что суффикс мы прописываем к пункту меню странице или можно к конкретному материалу (не нашел где)?

Задача следующая:
есть Категория "Акции" в ней материалы, пунктов меню на каждую из Акций не предусмотрено (доступ через Блог категории, модуль - список материалов категории). Возможно ли без создания меню задать им классы? Меняться будет фон и граница  item-page. Может есть в редакторе (jce установлен) функция задать стиль блоку с материалом?
Если JCE жмите исходный код  весь свой материал обрамляйте в div, к примеру <div class="akciya1">тут код материала</div> но это будет внутри item-page
Как вариант можно отредактировать шаблон материала com_content и там к примеру подставлять класс=алиасу маетриала
*

mvn

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
Re: CSS-класс страницы
« Ответ #39 : 20.11.2012, 16:35:20 »
Если JCE жмите исходный код  весь свой материал обрамляйте в div, к примеру <div class="akciya1">тут код материала</div> но это будет внутри item-page
Как вариант можно отредактировать шаблон материала com_content и там к примеру подставлять класс=алиасу маетриала
Спасибо. кстати странно что не предусмотренно привязывать стиль именно к материалу. идея с алиасами интересная получить переменную алиаса? мне в идеале нужно дать пользователю. дать список названий стилей и объяснить куда вписывать (без редактирования html). Если com_content не обхитрю наверное просто создам несколько болванок для этих акций через исходный код.

Решил задачку! Использовал art-apple только взял не алиас а имя автора (автор как раз не использовался). провисываем по алгоритму - если автор задан - присвоить значение переменной $pageclass, которую вставляем в class блока с контентом.
« Последнее редактирование: 23.11.2012, 05:31:50 от mvn »
*

Tony Jones

  • Захожу иногда
  • 91
  • 0 / 0
  • Tony jones
Re: CSS-класс страницы
« Ответ #40 : 10.12.2012, 04:00:36 »
А как подобное сделать для Zoo? Чтобы для каждой категории можно было создавать свой стиль
Не могу понять тольлко что и куда вставлять в php??
С отображением в настройках разобрался

новые сss класс надо будет в Layout.css добавлять

Помогите с php!
*

banker7

  • Осваиваюсь на форуме
  • 28
  • 1 / 0
Re: CSS-класс страницы
« Ответ #41 : 25.12.2012, 11:32:58 »
Код: php-brief
<body id="<?php echo JMenuSite::getInstance('site')->getActive()->alias; ?>">
из совета danik.html   ^-^
решение просто шикарное, и ни чего другого не надо, вот только вопрос, как еще и алиас материала к классу подвязать, очень нужно, тогда для каждого материала фон задать можно будет!
*

eklmn

  • Осваиваюсь на форуме
  • 34
  • 2 / 0
Re: CSS-класс страницы
« Ответ #42 : 06.03.2013, 00:37:53 »
Не получается подсунуть в код шаблона переменную pageclass_sfx. Пробовал три варианта с документации Joomla (http://docs.joomla.org/Using_the_Page_Class_Suffix_in_Template_Code). Но суффикс в коде не появляется. В шаблонах компонентов Joomla (например /com_content/views/archive/tmpl/default.php) есть код <div class="archive<?php echo $this->pageclass_sfx;?>">  Я пробовал его вписать в свой шаблон, но это тоже не работает. Единственное что заработало - это код из совета danik.html - но суффикс нужен только на одной странице - а этот код вставляет суффикс (алиас пункта меню) для всех страниц. Делать так как рекомендует art-apple тоже не хочется - надо только один класс изменить для одного пункта меню. Я что-то уже запутался, надо бы чтобы суффикс пункта меню из админки (если он указан) добавлялся в код шаблона (joomla 2.5), подскажите пожалуйста.
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: CSS-класс страницы
« Ответ #43 : 06.03.2013, 08:46:25 »
Мой вариант вам отлично подойдет, чем он вас не устраивает я так и не понял. Не нужен класс - не прописывайте суффикс, нужен - прописывайте. То есть работать будет так как вам и нужно на сколько я понял.
*

eklmn

  • Осваиваюсь на форуме
  • 34
  • 2 / 0
Re: css-класс страницы
« Ответ #44 : 06.03.2013, 18:38:56 »
danik.html Спасибо за помощь! Сделал так
Код
<?
$menuitemid = JRequest::getInt( 'Itemid' );
if ($menuitemid) {
    $menu = JSite::getMenu();
    $bodysuffix = $menu->getParams( $menuitemid )->get('pageclass_sfx');
if ($bodysuffix){ $class = ' class="rt-block'.$bodysuffix.' component-block'.$bodysuffix.'"'; } else { $class = ' class="rt-block component-block"'; }
}
?>
<div<?php echo $class; ?>>-------------------</div>

Это работает, хотя не совсем то, в переменной $class вся запись класса, а надо бы только суффикс пункта меню, но я не знаю, чтобы было так
Код
<div class="rt-block<?php echo $class; ?> component-block<?php echo $class; ?>">-------------------</div>

Все равно спасибо!
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: css-класс страницы
« Ответ #45 : 07.03.2013, 02:03:35 »
ну тогда вместо $class используйте сразу - $bodysuffix(переменная содержит только суффикс)
*

Jane35

  • Новичок
  • 3
  • 0 / 0
Re: [FAQ] CSS-класс страницы
« Ответ #46 : 02.11.2013, 14:55:03 »
Помогите пожалуйста! На сайте требуется реализовать на одних страницах миниатюры товара 154х320, а на других страницах миниатюры 154х498. Подскажите как это возможно сделать? В тех советах по применению суффиксов ничего не поняла, я новичок в сайтостроении. Будьте добры рассказать, так сказать на пальцах, решение проблемы.
За ранее благодарю за помощь!!
« Последнее редактирование: 02.11.2013, 14:59:46 от Jane35 »
*

Blumellochka

  • Новичок
  • 1
  • 0 / 0
Re: [FAQ] CSS-класс страницы
« Ответ #47 : 13.01.2014, 21:59:39 »
Здравствуйте, столкнулась с такой проблемой, дали сайт на доработку, на Joomla 2.5 эту версию не люблю поэтому второй раз с ней работаю и не могу понять причины и где косяк, нужно изменить внешний вид страницы, это что то должно быть похожее на интернет магазин и заказчик хочет что бы было с левой стороны три картинки, а с правой стороны таблица 4х4 вся загвоздка в том, что редактор мне не позволяет поместить их рядом, получается, что либо таблица уползает вниз, либо картинки уползают, прописала код полностью на HTML, создала вид страницы на CSS эффекта ноль в чем может быть причина такого поведения и как это исправить и подскажите возможно ли добавить отдельно файл например stile.css не имея возможности попасть в корневые папки и если можно объясните пожалуйста как для "блондинки" заранее спасибо вам за ответы
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: [FAQ] CSS-класс страницы
« Ответ #48 : 13.01.2014, 22:13:00 »
Blumellochka, на будущее старайтесь следовать правилу «один вопрос == одна тема».

Цитировать
редактор мне не позволяет поместить их рядом, получается, что либо таблица уползает вниз, либо картинки уползают

Потому и картинка и таблица в потоке. Дописывайте к ним float="". См. css-мануалы.

Цитировать
подскажите возможно ли добавить отдельно файл например stile.css не имея возможности попасть в корневые папки

Конечно. Открываете index.php шаблона и дописываете:
Код: php
$templ = $this->baseurl."/templates/".$this->template;
$document->addStyleSheet($templ.'/css/templateplus.css');
*

mess@nger

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: [FAQ] CSS-класс страницы
« Ответ #49 : 04.07.2014, 11:48:06 »
Люди, подскажите, плз, где добавлять классы для страницы в J3.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: [FAQ] CSS-класс страницы
« Ответ #50 : 04.07.2014, 16:08:17 »
В опциях пункта меню
*

mess@nger

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: [FAQ] CSS-класс страницы
« Ответ #51 : 04.07.2014, 18:52:45 »
Хм, пункт меню типа "список всех категорий" и если назначить CSS-стиль статьям в меню, то данный CSS-стиль добавится ко всем статьям которые входят в пункт. Мне же нужно выборочно добавить определенным статьям стиль, возможно такое?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: [FAQ] CSS-класс страницы
« Ответ #52 : 04.07.2014, 19:22:32 »
Если в блоге категории выборочно статьям, то надо шаблон переделывать.
*

mess@nger

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: [FAQ] CSS-класс страницы
« Ответ #53 : 07.07.2014, 12:22:51 »
Много там писать? Я шаблон с нуля делаю в любом случае.
*

mess@nger

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: [FAQ] CSS-класс страницы
« Ответ #54 : 07.07.2014, 12:45:15 »
хм... догадываюсь что нужно добавить параметр в default.xml в com_content/article
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: [FAQ] CSS-класс страницы
« Ответ #55 : 07.07.2014, 14:19:20 »
Не надо XML править. Тем более статьи.
1. В блоке «изображения и ссылки» материала пишите, что хотите. Например в поле «Текст ссылки А» запишем «myclass».
2. В файле templates\шаблон\html\com_content\category\blog_item.php где-нибудь в начале объявляете:

Код: php
$links = json_decode($this->item->urls);

Теперь можно присвоить класс так:

Код: php
$myclass = $links->urlatext;

Не забудьте вставить проверку на случай, если поле пустое.
*

mess@nger

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: [FAQ] CSS-класс страницы
« Ответ #56 : 07.07.2014, 16:08:13 »
Выход, в принципе, единственное эти линки тогда с шаблона отображения статьи надо убирать... они ведь там вылезут.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: [FAQ] CSS-класс страницы
« Ответ #57 : 07.07.2014, 16:11:53 »
Ну там много разных полей, выберите то, которое не используете. Например, псевдоним автора. Или копирайты. Проверяете с помощью var_dump($this->item). В JSON закодированы только линки и имеджи.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: [FAQ] CSS-класс страницы
« Ответ #58 : 07.07.2014, 16:13:08 »
С правкой XML вообще не вариант. Править много всего придётся. Проще плагин простенький написать. Есть же, кстати, MiniCCK. Уже готовое решение для таких задач.
*

mess@nger

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: [FAQ] CSS-класс страницы
« Ответ #59 : 07.07.2014, 17:19:00 »
Пока сделал через url... но на позжа буду разбирать способ с добавлением полей =)
MiniCCK - попробую... Я с Joomla только знакомлюсь, благо есть хоть и небольшой, но опыт чистого php, yii и разработки шаблонов на WP и PrestaShop. Только это и спасает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При прокрутке страницы виджет залезает на меню

Автор coliandra

Ответов: 2
Просмотров: 805
Последний ответ 27.11.2020, 11:33:58
от coliandra
Как поменять CSS класс кнопки «Подробнее»в шаблоне?

Автор shrek_01

Ответов: 2
Просмотров: 1978
Последний ответ 23.12.2016, 20:03:43
от shrek_01
Где найти HTML каждой страницы сайта

Автор Sirius02030

Ответов: 3
Просмотров: 6855
Последний ответ 08.11.2016, 20:43:22
от Sirius02030
фон страницы в Яндекс браузере и Chrome в планшете

Автор a7575859

Ответов: 0
Просмотров: 1189
Последний ответ 21.07.2016, 16:20:56
от a7575859
Как растянуть блок на всю высоту страницы, а не экрана?

Автор ВладимирГребень

Ответов: 3
Просмотров: 2514
Последний ответ 12.06.2016, 18:44:09
от AlekVolsk