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

Aeronaut

  • Новичок
  • 6
  • 0
Здаров всем!
Парни, в шаблоне нужно реализовать вот что:
Сайт выглядит след образом: Слева меню, справа контент.
Нужно что бы при переходе на фронтпэйдж сайта отображался бэкфон_1 и НЕ отображалось контента. А при клике на ссылку в меню, отображался бэкфон_2 и соответственно выводился контент.
Если не трудно, распишите подробно.
Полазил в поиске, но не нашёл то что нужно.
Заранее благодарен!
*

N2uM

  • Завсегдатай
  • 470
  • 20
Что бы материал не выводился можно назначить в меню вывод на один пустой материал, дальше думаю догадываетесь)

Что бы в А) один фон а в Б) другой фон думаю нужно Суффикс класса страницы подключить (то же в настройках меню есть)
Лучшее спасибо это "+" в карму
*

Dgikar

  • Осваиваюсь на форуме
  • 159
  • 3
А через код как-то можно это сделать? Ну т. е., типа того, как идет проверка на содержание блоком модулей или как-то еще?
Долог путь поучения, короток и успешен путь примеров (Сенека).
*

Efanych

  • Группа развития
  • 4317
  • 605
Цитировать
<?php
$sv = $_SERVER['REQUEST_URI'];
if ($sv == '/') { ?>
<jdoc:include type="component" />
<?php } else { ?>
<jdoc:include type="modules" name="home" style="xhtml" />
<?php } ?>
Типа так. Только главная должна быть только по адресу site.ru/
Если у вас есть ещё адреса главной, например /home, то в условие добавьте этот урл так же
Цитировать
<?php
$sv = $_SERVER['REQUEST_URI'];
if ($sv == '/' or $sv == '/home') { ?>
<jdoc:include type="component" />
<?php } else { ?>
<jdoc:include type="modules" name="home" style="xhtml" />
<?php } ?>
Создание сайтов, шаблонов, помощь в решении проблем.
*

Dgikar

  • Осваиваюсь на форуме
  • 159
  • 3
Ок, спасибо. Тогда еще один вопрос: а можно как-то сделать чтобы в манагере шаблонов, в моем (самописном) шаблоне, был выбор, мол, контент показывать на таких-то страницах, а модули (или не показывать контент) на таких-то страницах?
Долог путь поучения, короток и успешен путь примеров (Сенека).
*

Efanych

  • Группа развития
  • 4317
  • 605
Можно, но уже не так просто. Как вариант посмотрите в сторону advanced module manager. Там есть очень много условий для вывода модулей (может и контента тоже, не пользовался, не знаю)
Создание сайтов, шаблонов, помощь в решении проблем.
*

Dgikar

  • Осваиваюсь на форуме
  • 159
  • 3
Парни, подскажите плз, где ошибка?

Хочу сделать так, чтобы на главной, выводились или только модули, или только контент:

В templateDetails.xml прописал:
Спойлер
[свернуть]

В шаблоне (в index.php), указываю:
Спойлер
[свернуть]

Вроде работает, но, в итоге, или модули, или контент, выводятся на всех страницах, а не только на главной...

Пробовал строку
Код: php
if ($this->params->get('mainbody_frontpage')=='modules') { ?>

прописать так (как посоветовал уважаемый Efanych):

Код: php
if ($sv == '/'  or $sv == 'home' or $sv == '../index.php' and $this->params->get('mainbody_frontpage')=='modules') { ?>

Не получилось :(
Долог путь поучения, короток и успешен путь примеров (Сенека).
*

Fedor Vlasenko

  • Профи
  • 3806
  • 698
  • Все начинается с Value
Код
$menu = & JSite::getMenu();
if ($menu->getActive() == $menu->getDefault()) {// только на главной }
*

Dgikar

  • Осваиваюсь на форуме
  • 159
  • 3
Решил все же (за наводку, спасибо (плюс в репу) Efanych):

Достаточно было посмотреть, что пишеться в $sv...
У меня на денвере, прописывается так: /site/index.php. Если в IF прописать явный путь, то, все работает на ура, и в итоге, для того, чтобы отображать на главной или только модули, или только контент, делаем следующие действия:

В templateDetails.xml прописываем:
Код: xml
<field name="mainbody_frontpage" type="list" default="modules" label="What to display in the main" description="What will be displayed on the home page - modules or content">
<option value="modules">Modules</option>
<option value="content">Content</option>
</field>

В шаблоне (в index.php), указываем:

- Для тех, у кого не включено перенаправление и сайт не мультиязычный:
Код: php-brief
<?php
$sv = $_SERVER['REQUEST_URI'];
if ($sv == '/site/index.php' and $this->params->get('mainbody_frontpage')=='modules') { ?>
Ukazyvaem, chto nujno vyvesti - kakie moduli
<?php } else { ?>
<jdoc:include type="message" />
<jdoc:include type="component" />
<?php } ?>

- Для тех, у кого включено перенаправление и сайт не мультиязычный:
Код: php
<?php
$sv = $_SERVER['REQUEST_URI'];
if ($sv == '/' and $this->params->get('mainbody_frontpage')=='modules') { ?>
Ukazyvaem, chto nujno vyvesti - kakie moduli
<?php } else { ?>
<jdoc:include type="message" />
<jdoc:include type="component" />
<?php } ?>

- Для тех, у кого не включено перенаправление и сайт мультиязычный:
Код: php
<?php
$sv = $_SERVER['REQUEST_URI'];
if ($sv == '/site/index.php/ru/' or $sv == '/site/index.php/en/' and $this->params->get('mainbody_frontpage')=='modules') { ?>
Ukazyvaem, chto nujno vyvesti - kakie moduli
<?php } else { ?>
<jdoc:include type="message" />
<jdoc:include type="component" />
<?php } ?>

- Для тех, у кого включено перенаправление и сайт мультиязычный:
Код: php
<?php
$sv = $_SERVER['REQUEST_URI'];
if ($sv == '/ru/' or $sv == '/en/' and $this->params->get('mainbody_frontpage')=='modules') { ?>
Ukazyvaem, chto nujno vyvesti - kakie moduli
<?php } else { ?>
<jdoc:include type="message" />
<jdoc:include type="component" />
<?php } ?>

Где site - ваш домен без .com или .ru и т. д.

Poznakomlus спасибо за ответ, но, Ваш код заметил уже когда решил задачу, поэтому не стал пробовать

Админы, можно ли прикрепить эту тему?
« Последнее редактирование: 10.02.2012, 18:39:52 от Dgikar »
Долог путь поучения, короток и успешен путь примеров (Сенека).
*

Efanych

  • Группа развития
  • 4317
  • 605
Цитировать
Достаточно было посмотреть, что пишеться в $sv...
У меня на денвере, прописывается так: /site/index.php
Так прописывается, потому что сайт у вас находится в подпапке (скорее всего home/localhost/site)
При переносе на хостинг в основную папку условие работать перестанет. Чтоб избежать путаницы рекомендую сайты на денвере размещать в home/site
Создание сайтов, шаблонов, помощь в решении проблем.
*

Dgikar

  • Осваиваюсь на форуме
  • 159
  • 3
Re: Главная страница без контента, как?
« Ответ #10 : 10.02.2012, 21:15:39 »
"Модные" производители шаблонов, в своих шаблонах, используют конструкцию:
Код: php
<?php $this->loadBlock('modules');  ?>

Люди, подскажите где и как нужно объявить функцию loadBlock, чтобы можно было использовать приведенный выше код? Ато как-то использовать
Код: php
<?php require_once('layouts/blocks/modules.php');?>
(мне так кажется) - не совсем правильно...

Нашел как объявляют:
Код: php
<?php 
class myTemplate {

    public function loadBlock($path) {
        jimport('joomla.filesystem.file');
       
        if(JFile::exists($this->URLtemplatepath(). DS . 'layouts' . DS . 'blocks' . DS . $path . '.php')) {
            include($this->URLtemplatepath(). DS . 'layouts' . DS . 'blocks' . DS . $path . '.php');
        }
    }
}
?>


Когда попробовал вставить в index.php
Код: php
<?php $this->loadBlock('modules');?>

Получил вот такую ошибку:
Fatal error: Call to undefined method JDocumentHTML::loadBlock() in Y:\home\localhost\www\site\templates\mytemplate\index.php on line 324

В PHP не силен совсем, поэтому, не могу понять, что это...
« Последнее редактирование: 10.02.2012, 21:48:06 от Dgikar »
Долог путь поучения, короток и успешен путь примеров (Сенека).
*

Eholov

  • Осваиваюсь на форуме
  • 154
  • 13
Re: Главная страница без контента, как?
« Ответ #11 : 16.02.2016, 10:15:20 »
У меня в этом коде
Код
- Для тех, у кого не включено перенаправление и сайт мультиязычный:
Код

<?php
$sv = $_SERVER['REQUEST_URI'];
if ($sv == '/site/index.php/ru/' or $sv == '/site/index.php/en/' and $this->params->get('mainbody_frontpage')=='modules') { ?>
Ukazyvaem, chto nujno vyvesti - kakie moduli
<?php } else { ?>
<jdoc:include type="message" />
<jdoc:include type="component" />
<?php } ?>

последний язык не работает
Код
$sv == '/site/index.php/en/'
добавил "левый" язык третьим
Код
$sv == '/site/index.php/ok/'
и английский заработал.
И я его применяю для сайта с включенным перенаправлением заменив
Код
$sv == '/site/index.php/en/'
на
Код
$sv == '/site/en/'
*

SeBun

  • Практически профи
  • 3154
  • 193
  • @SeBun48
Re: Главная страница без контента, как?
« Ответ #12 : 16.02.2016, 10:24:26 »
Последний ответ в теме был 4 года назад....
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

Eholov

  • Осваиваюсь на форуме
  • 154
  • 13
Re: Главная страница без контента, как?
« Ответ #13 : 16.02.2016, 11:31:24 »
Ну и что? Многие юзают Joomla 1.7 и у меня на Joomla 3 это решение работает. А альтернатив вывода кодом, а не модулем на главной я не нашел. Если есть рабочее решение в новой теме, буду благодарен за ссылку на пост. И не только я буду благодарен. Я понимаю, что можно поставить модуль и выводить им, как мне надо логотип, на главной. Но это лишние запросы к базе.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При добавлении к адресу главной страницы UTM метки отображается другая страница

Автор Xenoks

Ответов: 4
Просмотров: 369
Последний ответ 28.10.2016, 16:37:22
от Xenoks
Независимая(не привязанная к меню) страница на Joomla 2.5

Автор 13RUS

Ответов: 15
Просмотров: 620
Последний ответ 22.08.2016, 17:02:15
от beliyadm
[FAQ] Как спрятать вывод основного контента на главной

Автор Kumigy

Ответов: 39
Просмотров: 29594
Последний ответ 23.05.2016, 10:14:25
от vadim_na
Шаблон ZT News 4. Не могу изменить часть контента

Автор Geometr

Ответов: 2
Просмотров: 359
Последний ответ 16.02.2016, 15:00:42
от Geometr
Страница по-умолчанию пуста!

Автор GUree

Ответов: 2
Просмотров: 452
Последний ответ 24.06.2015, 08:36:21
от GUree