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

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Всем доброго времени суток :-)

Есть на Joomla 1.5 такая неприятность, когда создаешь модуль и активируешь его, к примеру, только на одной странице, то на других страницах на месте этого модуля будет "светится" пустота или если есть стили, то будут выводится только они без содержимого самого модуля.

Как-то раньше закрывал на это глаза, но теперь возникла необходимость разобраться в этом вопросе.

В моем случае нужно вывести модуль breadcrumb (хлебные крошки) на всех страницах, кроме главной. И вот на главной странице в той же позиции остается просто пустое место, которое никак убрать пока не получается.

Пользовал поиск по форуму и нашел похожую тему, вот: http://joomlaforum.ru/index.php?topic=235006.0.

В моем случае подобное решение не подходит...или возможно я неправильно правлю код. Я почти ничего не понимаю в PHP, делаю все методом тыка :-)
Вот кусок кода, который отвечает за вывод той позиции, в которую публикую модуль Хлебные крошки:

Код
// output pathway
if ($option != 'com_frontpage') {
echo ' <div id="pathway">' . "\n";
echo '<jdoc:include type="modules" name="breadcrumb" />';
echo ' </div>' . "\n";
}

Делал разные манипуляции (опять же методом тыка) с кодом по типу решения, которое предложил Fedor Vlasenko в вышеуказанной мною похожей теме, но сайт вообще переставал открываться.

Тому, кто поможет решить вопрос + в карму и символическое вознаграждение в 1$ на Вебманьку. Заранее спасибо!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php if (JURI::current()!== JURI::base()): ?>
<div id="pathway">
<jdoc:include type="modules" name="breadcrumb" />
</div>
<?php endif; ?>
коль упомянул  ;D
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Код: php-brief
<?php if (JURI::current()!== JURI::base()): ?>
<div id="pathway">
<jdoc:include type="modules" name="breadcrumb" />
</div>
<?php endif; ?>
коль упомянул  ;D
Большущее спасибо Вам за попытку помочь!
Я так понимаю, что по Вашему примеру нужно было просто заменить мною указанный кусок кода на тот, что Вы написали?
Я так и сделал. То есть это:
Код
if ($option != 'com_frontpage') {
echo ' <div id="pathway">' . "\n";
echo '<jdoc:include type="modules" name="breadcrumb" />';
echo ' </div>' . "\n";
}
Поменял на:
Код
<?php if (JURI::current()!== JURI::base()): ?>
<div id="pathway">
<jdoc:include type="modules" name="breadcrumb" />
</div>
<?php endif; ?>
Но сайт слег, открывается белая страница. Возможно я как-то неправильно вставил код?
ЗЫ. Чувствуется мне, что тут какая-то замануха из этими echo '. У меня в index.php все позиции модулей прописаны с этим вот echo '. И еще в индексном файле только после тега <body> встречается открывающих тег <?php и в конце закрывающий ?> (возможно в этом тоже есть нюанс).
Если есть еще варианты, буду рад   ^-^ Спасибо!
*

Davidich

  • Захожу иногда
  • 179
  • 7 / 1
Нюанс в том, как бы надо переместить верхний класс модуля, который образует пустоту, во внутрь самого модуля, чтобы при отключении модуля не публиковался он.
« Последнее редактирование: 09.05.2014, 15:03:03 от Davidich »
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Нюанс в том, как бы надо переместить верхний класс модуля, который образует пустоту, во внутрь самого модуля, чтобы при отключении модуля не публиковался он.
Спасибо! А как оно делается? Мне совсем непонятно...
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Fedor Vlasenko, пробовал вставлять по Вашему примеру вот так:
Код
// output pathway
echo ' <?php if (JURI::current()!== JURI::base()): ?><div id="pathway">' . "\n";
echo '<jdoc:include type="modules" name="breadcrumb" />';
echo ' </div><?php endif; ?>' . "\n";
Но ничего не происходит, сайт и не падает, но пустота все равно остается.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Fedor Vlasenko, пробовал вставлять по Вашему примеру вот так:
Цитировать
Возможно я как-то неправильно вставил код
да неправильно
я вам привел рабочий код
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
да неправильно
я вам привел рабочий код
Fedor, спасибо! А что именно я сделал неправильно? Я просто заменял стандартный кусок кода на тот, что Вы порекомендовали. Как его вставить иначе, правильно, я не знаю.
Если Вам не трудно, то подскажите, пожалуйста.
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Наконец удалось решить этот вопросик :-) Помогли на Нулледе.
Решение оказалось следующим, нужно было заменить мой кусок кода на вот этот:
Код
$menu = & JSite::getMenu();
if ($menu->getActive()!= $menu->getDefault()) {
echo ' <div id="pathway">' . "\n";
echo '<jdoc:include type="modules" name="breadcrumb" />';
echo ' </div>' . "\n";
}
И не остаются никакой пустоты :-))))
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Good_user, внимательно тему
Joomla 2.5 - проверка на главную страницу
все что там написано подходит и для Joomla 1.5
$menu = & JSite::getMenu(); некорректно в версии 5,4 не работает передача по ссылке да и здесь это не нужно
зачем писать 3 раза echo
Код: php-brief
$html = <<<CODE
<div id="pathway">
<jdoc:include type="modules" name="breadcrumb" />
</div>
CODE;
if (JURI::current()!== JURI::base()) echo $html;
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Код
$html = <<<CODE
<div id="pathway">
<jdoc:include type="modules" name="breadcrumb" />
</div>
CODE;
if (JURI::current()!== JURI::base()) echo $html;
Попробовал...Получилось! Выходит и так тоже работает :-) Fedor, благодарю! Если так более корректно, то пусть лучше так и будет. Хотя если честно, я совсем не понимаю чем эти варианты отличаются, работает и слава Богу :-))))
Цитировать
Joomla 2.5 - проверка на главную страницу
все что там написано подходит и для Joomla 1.5
Мне из того сложно что-либо понять. С PHP раньше дела почти не имел и все эти манипуляции с кодом очень трудно даются. Хотя есть уже успехи, в вашем последнем коде в последней строчке поменял это !== на вот это ===, и понял, что это дает обратный результат, т.е. первое кроме главной, а второе только на главной. И это мне пригодится в будущем. Прогресс есть :-)

Пользуясь случаем (не сочтите за наглость) хотел еще спросить, а можно ли как-то так само исключать показ определенного модуля только для одного материала или категории материалов?
По примеру Вашего кода пробовал сварганить что-то свое, только пробовал уже на другом модуле :-) Вот, что у меня получилось:
Код
// output topenblok
$html = <<<CODE
<div class="topenblok">
<jdoc:include type="modules" name="topenblok" />
</div>
CODE;
if ($this->article->catid != 20) echo $html;
Из этого должно было получится, что модуль не должен отображаться во всех материалах 20-й категории. Правда оно не дает результата, но и ошибок никаких не вылазит :)
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Good_user, пользуйтесь поиском по форуму, смотрите FAQ разделов
Различные условия в шаблонах Joomla 3.0 и 2.5
Различные условия в шаблонах Joomla 1.5
Читал, еле осилил всю ветку "Различные условия в шаблонах Joomla 1.5", но решения для своей ситуации не нашел. Так что до сих пор вопрос по исключению показа модуля из материалов определенной категории или какого-то одного материала по его ID остается открытым.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 1861
Последний ответ 12.11.2023, 23:37:03
от all_zer
Как поменять основные цвета модуля

Автор aisedora21

Ответов: 7
Просмотров: 2801
Последний ответ 24.06.2021, 20:23:06
от Moysha
Как убрать ссылку на allforjoomla.ru из модуля SimpleForm2?

Автор Loh

Ответов: 3
Просмотров: 2656
Последний ответ 20.06.2017, 11:17:28
от ZyX
Ошибка 500 ( errcode 28) Нужна ваша помощь!

Автор pavelmang

Ответов: 1
Просмотров: 1216
Последний ответ 25.04.2017, 12:14:49
от ProtectYourSite
Подскажите - сайт стал в фронтэнде выводить ошибку. Как ее убрать

Автор vovchikku

Ответов: 7
Просмотров: 1651
Последний ответ 30.01.2017, 10:35:49
от vovchikku