В шаблоне joomla, как сделать первую страницу отличной от страниц со статьями? - PullRequest
0 голосов
/ 01 февраля 2011

Я создаю шаблон Joomla 1.6, и я хотел бы, чтобы первая страница отличалась от других (я говорю, другие со статьями). Я ожидаю что-то вроде этого:

<?php
if(this_page_link_to_an_artcile || this_page_is_not_the_main) {
   ?> <jdoc:include type="component" /> <?php
}
?>

Я заглянул в один из стандартных шаблонов и несколько растерялся, пытаясь найти «если», которое не показывается на некоторых страницах.

Ответы [ 4 ]

3 голосов
/ 28 ноября 2012

Если вы хотите иметь индивидуальный стиль для каждой страницы или группы страниц, то вы можете добавить это в свой шаблон index.php / head:

 <?php $active = JFactory::getApplication()->getMenu()->getActive();?>

После этого создайте div-обертку, которая покрывает всю вашу страницу в тегах body, например:

<body>
<div class="<?php  echo $active->alias; ?> ">
----- PAGE CONTENT-----
</div>
</body>

Таким образом, вы можете стилизовать любую страницу с индивидуальным стилем. Например, для «домашней» страницы в вашем css-файле вы должны установить свойства для

.home .footer {}

чтобы установить свойства для .footer div, который появляется только на домашней странице.

1 голос
/ 02 февраля 2011
// Is Frontpage?
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');

$frontpage = ($option == 'com_content' && $view == 'featured')
$is_article = ($option == 'com_content');
if ($is_article && !$frontpage)
{
    // ...
}

( РЕДАКТИРОВАТЬ : теперь работает в Joomla! 1.6)

($is_article || !$frontpage всегда должно возвращать true ... потому что, если это не статья, это неглавная страница. Зависит от того, как вы определяете «это статья», конечно.)

1 голос
/ 01 февраля 2011

Вы можете иметь несколько шаблонов с Joomla, и назначить их для различных пунктов меню / страниц.Например, вы можете иметь свой основной шаблон (со статьями) и другой шаблон только для домашней страницы, т.е.связанный с пунктом меню «Домой».

Вы можете выполнить назначение пункта меню / шаблона с помощью Менеджера шаблонов.

0 голосов
/ 01 февраля 2011

Что вы подразумеваете под другим?Страницы в Joomla выглядят по-разному в зависимости от того, какой компонент и модули загружаются.Какой контент вы планируете иметь на своей домашней странице?Возможно, вам просто нужно изменить меню по умолчанию на другой тип.

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

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

<?php if ($this->countModules('left')) : ?>
    <div id="leftcolumn">
        <jdoc:include type="modules" name="left" style="xhtml" />
    </div>
<?php endif; ?>

Вы также захотите воспользоваться параметром суффикса класса страницы, который можно добавить в меню.Предметы.Это позволяет вам добавлять стили, которые специфичны для каждой страницы.Я обычно добавляю его в тег BODY в моем шаблоне index.php.

<?php
$menu = &JSite::getMenu();
$active = $menu->getActive();
$pageclass = "";
if (is_object( $active )) :
    $params = new JParameter( $active->params );
    $pageclass = $params->get( 'pageclass_sfx' );
endif;
?>
<body id="<?php echo $pageclass ? $pageclass : 'default'; ?>">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...