Отключить блок на страницах при пагинации

Аватар пользователя zazen zazen 21 октября 2011 в 12:49

Всем привет. На главную выводятся материалы вьюсом(page) с пагинацией. На главной есть еще один блок. Как сделать чтобы его было видно только на 1-й странице, а на остальных node?page=* при перемещении по пагинации не было видно?

0 Thanks

Комментарии

Аватар пользователя Chyvakoff Chyvakoff 21 октября 2011 в 14:28

Вьюс блоком отображается или страницей?если блоком-то в настройках видимости напиши в исключениях
node?page=*

Аватар пользователя q2_faith q2_faith 21 октября 2011 в 16:02
"Chyvakoff" wrote:

Вьюс блоком отображается или страницей?если блоком-то в настройках видимости напиши в исключениях
node?page=*

+1

Аватар пользователя Chyvakoff Chyvakoff 22 октября 2011 в 11:07
zazen wrote:
"Chyvakoff" wrote:

А лучше разрешить показ на [front] и node?page=0

не работает так

[ ] Замени на кавычки тэгов.

Аватар пользователя zazen zazen 22 октября 2011 в 11:17
"Chyvakoff" wrote:

[ ] Замени на кавычки тэгов.

Я конечно очень благодарен за желание помочь, но зачем советовать не проверенные и не работающие варианты?
Вариант не работает:

<front>
node?page=0
Аватар пользователя Chyvakoff Chyvakoff 23 октября 2011 в 2:23
zazen wrote:
"Chyvakoff" wrote:

[ ] Замени на кавычки тэгов.

Я конечно очень благодарен за желание помочь, но зачем советовать не проверенные и не работающие варианты?
Вариант не работает:

<front>
node?page=0

У меня на сайте куева туча блоков с такими хитровы@$#*&ми условиями показа..
Например с такими:

$in_razd=drupal_get_path_alias();
$arg=explode('/',$in_razd);
$in_razd=$arg[0];
$raza=@$arg[1];
if($raza=='zdorove-muzhchiny'){return true;}

$alias=drupal_get_path_alias();
$ali=explode('/',$alias);
if(count($ali)==2){
        if($ali[0]=='stati'){

                $n=current_path();
                $nid=end(explode('/',$n));
                $n_type=' ';
                $q=db_select('node','n');
                $q->condition('n.nid',$nid);
                $q->fields('n',array('type'));
                $res=$q->execute();
                while($rec=$res->fetchAssoc()){
                        $n_type=$rec['type'];
                }
                //debug($n_type);
                if($n_type=='article_zdorov_life'){
                        $q=db_select('taxonomy_index','ti');
                        $q->condition('ti.nid',$nid);
                        $q->condition('t.vid',13);
                        $q->rightJoin('taxonomy_term_data','t','t.tid=ti.tid');
                        $q->fields('ti',array('tid'));
                        $q->fields('t',array('name','vid'));
                        $q->range(0,1);
                        $res=$q->execute();
                        while($rec=$res->fetchAssoc()){
                                $n_main_tid=$rec['tid'];
                                $n_main_tid_title=$rec['name'];
                        }

                        if($n_main_tid==59){return true;}              
                }
               
        }
}

return false;

А уж отметить в ПОКАЗЫВАТЬ БЛОК НА ОПРЕДЕЛЕННЫХ СТРАНИЦАХ пункт На перечисленных страницах и написать а нем:

<front>

ниче сложного.. и не такой уж это мудреный метод решения вашей задачи.

Попробуйте 10 раз..разными способами..на 11-й раз наверняка получится и будете знать как это делается.Drupal-это сложная штука...экспериментируйте и у вас всё получится!

Аватар пользователя v1adimir@drupal.org v1adimir@drupal.org 23 октября 2011 в 2:51
"zazen" wrote:

при перемещении по пагинации не было видно?

Перемещение по страницам не через ajax случаем реализовано?

Аватар пользователя zazen zazen 23 октября 2011 в 10:47
"<a href="mailto:v1adimir@drupal.org">v1adimir@drupal.org</a>" wrote:

Перемещение по страницам не через ajax случаем реализовано?

нет

Включен дефолтный вид frontpage , который выводит на главную материалы у которых стоит галка "поместить на главную", аякса нет, пагинация есть. На главной есть еще один блок. В настройках отображения : "показывать на страницах <front>". Надо чтобы при пагинации главной страницы он не отображался, т.е на 1-й отображался, а на следующих - нет

Аватар пользователя v1adimir@drupal.org v1adimir@drupal.org 23 октября 2011 в 11:17

Дам еще один непроверенный совет – сдается, что здесь модуль Context может помочь, если стандартные настройками видимости блока не сработали.

Аватар пользователя zazen zazen 23 октября 2011 в 11:31
"Chyvakoff" wrote:

Drupal-это сложная штука...экспериментируйте и у вас всё получится!

Не обижайся, это я виноват, невнятно написал топик, посчитал, что настройки отображения (не php) само собой разумеющееся

Аватар пользователя zazen zazen 23 октября 2011 в 11:34
"<a href="mailto:v1adimir@drupal.org">v1adimir@drupal.org</a>" wrote:

контекст пробовал, писал условие патч
node
~node?page=*
ничего не выводит, может что не так писал.

вот нашел http://www.drupal.ru/node/30682 но что то туплю как сделать

Аватар пользователя zazen zazen 4 ноября 2011 в 11:05

Все, осилил:


<?php
if (arg(0) == 'node' && !$_GET['page'] && !arg(1)){
  return 
TRUE;
}
else {
   return 
FALSE;
}
?>
Аватар пользователя VasyOK VasyOK 14 октября 2013 в 23:00

А можно сделать чтобы блок не показывался при этом страницы пейджера выводились AJAX-ом во вьюхе7