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

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Ты супер!  Все отлично и именно так, как и нужно было.  :D  :D  :D

Может сделать отдельный топик с этой реализацией для таких новичков как я. Можно инструкцию расширить под категории-блоги-материалы-отдельные страницы и т.д.

Блин такие элементарные вещи стыдно мне не знать в php...  Буду наверстывать.
Еще раз огромное спасибо

*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Незачто. Да аналогичное много раз на форуме обсуждалось. Ничего особо нового не напрограммил. ^-^
*

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Ну я штудировал форум и прямой инструкции не нашел ни где. Только отдельные куски кода для программеров, которые сразу понимают что и куда нужно воткнуть. А как прямая инструкция - ни где не нашел
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Скрыла модуль с материалов zoo
Код
if(showPage(array('option'=>'com_zoo', 'view'=>'category'))):?>
<?php if($this->API->modules('top')) : ?>
<div id="Top">
<jdoc:include type="modules" name="top" style="<?php echo $this->module_styles['top']; ?>" />
</div>
<?php endif; ?>
                  <?php endif;?>
Теперь если перейти на следующую страницу с тизерами то модуль не выводится.
Как оставить его на страницах пагинации?
Надо добавить ещё  'view'=>'*****' ?
что дописать подскажите
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Отключите SEF и покажите, как выглядит УРЛ.
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
следующая страница
Код
/index.php?option=com_zoo&view=category&layout=category&Itemid=103&page=2
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Должно выводиться. Попробуйте это условие убрать <?php if($this->API->modules('top')) : ?>. Может модулей просто нет?
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
с отключенным SEF выводится, а с включенным почему-то нет. Если убрать <?php if($this->API->modules('top')) : ?>  то ошибку выдает
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Попробуйте заменить условие:

Код: php
<?
$input = JFactory::getApplication()->input;
$option   = $input->getCmd('option', '');
$view= $input->getCmd('view', '');
if($option == 'com_zoo' && $view== 'category'){
?>
<?php if($this->API->modules('top')) : ?>
<div id="Top">
<jdoc:include type="modules" name="top" style="<?php echo $this->module_styles['top']; ?>" />
</div>
<?php endif; ?>
<?php
}
?>
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Спасибо, сейчас попробую
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Так ошибку выдает, невозможно отобразить страницу.

Правильно же я поняла? ))

Код
if(showPage(array('option'=>'com_zoo', 'view'=>'category'))):?>
<?php if($this->API->modules('top')) : ?>
<div id="Top">
<jdoc:include type="modules" name="top" style="<?php echo $this->module_styles['top']; ?>" />
</div>
<?php endif; ?>
                  <?php endif;?>


заменила на

Код
<?
$input = JFactory::getApplication()->input;
$option   = $input->getCmd('option', '');
$view= $input->getCmd('view', '');
if($option == 'com_zoo' && $view== 'category'){
?>
<?php if($this->API->modules('top')) : ?>
<div id="Top">
<jdoc:include type="modules" name="top" style="<?php echo $this->module_styles['top']; ?>" />
</div>
<?php endif; ?>
<?php
}
?>
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Блин, а до обновления помоему всё норм было
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Что за ошибка?
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Ошибка сервера 500
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Так тут условие не при делах. Проверьте файл htaccess, сравните с дефолтным. Возможно ошибка там. Либо запрос на формирование страницы очень тяжёлый, проверьте на локальном сервере. Вообще, включите полное отображение ошибок в админке, так будет наглядней видно.
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Содержимое htaccess меняла на родной, полное отображение ошибок ничего не показывает - Ошибка сервера 500 и всё.

Я думаю что это я что-то не так вставила, вот как я вставила, это кусок default.php, 100% что-то не так сделала )))

Код
<?php if($this->API->modules('breadcrumb') || $this->getToolsOverride()) : ?>
<div id="gkBreadcrumb">
<?php if($this->API->modules('breadcrumb')) : ?>
<jdoc:include type="modules" name="breadcrumb" style="<?php echo $this->module_styles['breadcrumb']; ?>" />
<?php endif; ?>
<?php if($this->getToolsOverride()) : ?>
<?php $this->layout->loadBlock('tools/tools'); ?>
<?php endif; ?>
</div>
<?php endif; ?>
                  <?php
function showPage($x = array()){
    return array_intersect_assoc($x,  $_REQUEST) == $x;
}
                 
                 <?
$input = JFactory::getApplication()->input;
$option   = $input->getCmd('option', '');
$view= $input->getCmd('view', '');
if($option == 'com_zoo' && $view== 'category'){
?>
<?php if($this->API->modules('top')) : ?>
<div id="Top">
<jdoc:include type="modules" name="top" style="<?php echo $this->module_styles['top']; ?>" />
</div>
<?php endif; ?>
<?php
}
?>
                 
<div id="gkMainbody">
<?php if(($this->layout->isFrontpage() && !$this->API->modules('mainbody')) || !$this->layout->isFrontpage()) : ?>
<jdoc:include type="component" />
<?php else : ?>
<jdoc:include type="modules" name="mainbody" style="<?php echo $this->module_styles['mainbody']; ?>" />
<?php endif; ?>
</div>
*

gumisu

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
А если просто со страницы full материала скрывать содержимое модуля с помощью display: none то это будет не самое умное решение? )
*

Makewebs

  • Захожу иногда
  • 50
  • 2 / 0
Подскажите, как сделать условие, чтобы модуль выводился только на внутренних страницах блога, а в категории не выводился? Перепробовал кучу всего, пока без результатно, туплю где-то.

Есть такая конструкция:

<?php if($this->countModules('rightm')) : ?>
<div class="container">
<div class="row">
<div class="col-md-8">
...
</div>

<div class="col-md-4 right">

<jdoc:include type="modules" name="rightm" />


</div>
</div></div>
<?php else: ?>

Нужно чтобы позиция rightm выводилась только на внутренних страницах блога.
*

Makewebs

  • Захожу иногда
  • 50
  • 2 / 0
Тупанул, не прописал:

$option = JRequest::getVar('option', null);
$view = JRequest::getVar('view', null);

Всем спасибо :)
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
 ^-^
« Последнее редактирование: 14.02.2017, 15:00:31 от newvideo »
*

mufosali

  • Захожу иногда
  • 77
  • 3 / 0
  • Щаз бы палЫчку шашлыГа...
Приветствую! Друзья помогите вывести разные модули для разных доменных имен. Где-то видел такую фишку да запамятовал.
*

martini

  • Захожу иногда
  • 102
  • 1 / 0
Подскажите, как сделать условие, чтобы модуль выводился только на внутренних страницах блога, а в категории не выводился? Перепробовал кучу всего, пока без результатно, туплю где-то.

Есть такая конструкция:

<?php if($this->countModules('rightm')) : ?>
<div class="container">
<div class="row">
<div class="col-md-8">
...
</div>

<div class="col-md-4 right">

<jdoc:include type="modules" name="rightm" />


</div>
</div></div>
<?php else: ?>

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


Тупанул, не прописал:

$option = JRequest::getVar('option', null);
$view = JRequest::getVar('view', null);

Всем спасибо :)

вы не могли бы привести полный код условия ? Не могу разобраться в этих двух фрагментах. У меня точно такая же задача. Модуль нужно выводить в статьях категории, но не выводить при этом в блоге категории
*

djumfan

  • Захожу иногда
  • 243
  • 13 / 0
Подскажите, а как сделать условие по заданным материалу меткам?
Я вот сделал такую обвёртку, чтоб левые компоненты отсечь:
Код
if ( $option == 'com_content' && $view == 'article' ) {
    if ( $tagId == 25 ) {
        // код
    }
}
А вот как получить id меток материала (переменная $tagId) ?
Делаю в индексном файле шаблона. Отображение меток на сайте отключено через настройки (не нужно чтобы они выводились).
*

Akeksandr

  • Захожу иногда
  • 390
  • 10 / 0
Уважаемые господа! Хочу отметить, что есть прекрасный раздел для условий Различные условия в шаблонах Joomla 1.5
Предлагаю вам универсальное решение
И так при включенном SEF, чтобы узнать не SEF ссылку достаточно в шаблоне написать
Код: php-brief
<?php echo $_SERVER["HTTP_HOST"].'/index.php?' . http_build_query($_REQUEST); ?>
выведет не SEF ссылку.
Предлагаю вам воспользоватся функцией showPage, которая даст вам легко, без использования api Joomla, контролировать вывод на разных страницах того или иного элемента. Функция должна быть объявлена выше ее применения.
Функция возвращает два значения. True или false (разрешено или запрещено)

Код: php-brief
function showPage($x = array()){
    return array_intersect_assoc($x,  $_REQUEST) === $x;
}

Как видите, код достаточно прост. Единственный аргумент функции, это массив параметров которые нужно сравнить. Присутствуют ли они в адресе вашей страницы (не SEF ссылке). Анализируя ссылки ваших страниц вы легко можете задать ваши условия.

Магазин JoomShopping
Код: php-brief
<?php if(showPage(array('option'=>'com_jshopping')) && !showPage(array('controller'=>'product'))):?>
На всех страницах магазина кроме продуктов
<?php endif;?>
Подскажите пожалуйста как правильно прописать для Джумшопинга, чтобы модуль с определённым ID не показывался в карточке товара.
*

dron

  • Завсегдатай
  • 1580
  • 16 / 10
День добрый! Прошу помощи... Мне необходимо для одной страницы (Блог категории) реализовать такую штуку... Если страницу открывает гость - выводить сообщение о закрытой странице или жёстко отдать 404, если открывает редактор - показывать конкретный материал, если админ - открывать все материалы категории.

Мне посоветовали реализовать это так:
"переопределить макет вывода блога категории и обернуть вывод в условие с проверкой на права пользователя".

Подскажите, пожалуйста, как это сделать?
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
День добрый! Прошу помощи... Мне необходимо для одной страницы (Блог категории) реализовать такую штуку

Идите по условиям от объекта $user
https://docs.joomla.org/Accessing_the_current_user_object
Смотрите и там будут все параметры, гость\не гость, уровень доступа, группа и тд
Код
echo '<pre>';
var_dump($user);
echo '</pre>';
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
JoomShoping
В ЖШ выводится Open Graph но на основном сайте Open Graph не віводится. Дописал в шаблоне пхп-код, но теперь на страницах ЖШ віводится Open Graph от ЖШ и прописаный пхп-кодом.

Если для главной страницы условие вывода
Код
<?php if (JFactory::getURI()->toString() == JURI::base()) : ?>
Для не главной страницы
Код
<?php if (JFactory::getURI()->toString()!== JURI::base()) : ?>

Вожможно ли прописать условие для страниц --- com_content?
Есть не что аналогичное (вывод по меню), но каждое меню перечислять так это ....

Но наверное можно точно также вписать условие на страницы ЖШ, если страница ЖШ то вписаный код не выводить. Как реализовать такой вариант? (есть вариант, но он исключает продукты)
Код
<?php if(showPage(array('option'=>'com_jshopping')) && !showPage(array('controller'=>'product'))):?>
На всех страницах магазина кроме продуктов
<?php endif;?>
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Вожможно ли прописать условие для страниц --- com_content?
Код
$task = JFactory::getApplication()->input->get('task');
if ($task == 'com_content') {
bla bla
}
Добавляете эту проверку на $task к своему условию как угодно, проверять можно на любой компонент
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код
<?php
 if(showPage(['option'=>'com_content'])):?>
    На всех страницах компонента com_content
<?php endif;?>
beliyadm
task -> это задача, название метода вызываемого контроллера
тогда по ходу так
Код
$option = JFactory::getApplication()->input->get('option');
if ($option === 'com_content') {
echo 'bla bla';
}
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
task -> это задача, название метода вызываемого контроллера
Какая разница как назвать переменную, если она ранее не обозначена? ))
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Шаблоны Joomlart, Gavick, Yootheme, RocketTheme для Joomla: легально и с обновлениями, no warez

Автор _ib_

Ответов: 168
Просмотров: 198948
Последний ответ 15.04.2023, 18:26:50
от AS1969
Где в Joomla 3.4.3 шаблон материала? Шаблон Yootheme Organic

Автор annushka

Ответов: 13
Просмотров: 4817
Последний ответ 13.09.2022, 11:14:56
от tuztref
Master3 – современный удобный гибкий шаблон для Joomla! 3 на фреймворке UIkit 3

Автор dron

Ответов: 81
Просмотров: 7628
Последний ответ 11.09.2021, 03:12:59
от vasileк
Как убрать tooltip в регистрации в Joomla 3?

Автор KoloS

Ответов: 13
Просмотров: 8106
Последний ответ 24.08.2021, 19:00:51
от coolplaymaster
Сменить текст placeholder в поле поиска Joomla 3.x

Автор Poincare

Ответов: 7
Просмотров: 1552
Последний ответ 09.06.2021, 15:39:26
от Akeksandr