Всем привет. На главную выводятся материалы вьюсом(page) с пагинацией. На главной есть еще один блок. Как сделать чтобы его было видно только на 1-й странице, а на остальных node?page=* при перемещении по пагинации не было видно?
А уж отметить в ПОКАЗЫВАТЬ БЛОК НА ОПРЕДЕЛЕННЫХ СТРАНИЦАХ пункт На перечисленных страницах и написать а нем:
<front>
ниче сложного.. и не такой уж это мудреный метод решения вашей задачи.
Попробуйте 10 раз..разными способами..на 11-й раз наверняка получится и будете знать как это делается.Drupal-это сложная штука...экспериментируйте и у вас всё получится!
Перемещение по страницам не через ajax случаем реализовано?
нет
Включен дефолтный вид frontpage , который выводит на главную материалы у которых стоит галка "поместить на главную", аякса нет, пагинация есть. На главной есть еще один блок. В настройках отображения : "показывать на страницах <front>". Надо чтобы при пагинации главной страницы он не отображался, т.е на 1-й отображался, а на следующих - нет
Комментарии
Можно такой проверкой - strcmp(request_uri(),'/') == 0
Спасибо, вот если бы только подробней для не очень шарящих в php
Вьюс блоком отображается или страницей?если блоком-то в настройках видимости напиши в исключениях
node?page=*
страницей frontpage
+1
А лучше разрешить показ на и node?page=0
не работает так
[ ] Замени на кавычки тэгов.
Я конечно очень благодарен за желание помочь, но зачем советовать не проверенные и не работающие варианты?
Вариант не работает:
node?page=0
У меня на сайте куева туча блоков с такими хитровы@$#*&ми условиями показа..
Например с такими:
$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;
А уж отметить в ПОКАЗЫВАТЬ БЛОК НА ОПРЕДЕЛЕННЫХ СТРАНИЦАХ пункт На перечисленных страницах и написать а нем:
ниче сложного.. и не такой уж это мудреный метод решения вашей задачи.
Попробуйте 10 раз..разными способами..на 11-й раз наверняка получится и будете знать как это делается.Drupal-это сложная штука...экспериментируйте и у вас всё получится!
Перемещение по страницам не через ajax случаем реализовано?
нет
Включен дефолтный вид frontpage , который выводит на главную материалы у которых стоит галка "поместить на главную", аякса нет, пагинация есть. На главной есть еще один блок. В настройках отображения : "показывать на страницах
<front>
". Надо чтобы при пагинации главной страницы он не отображался, т.е на 1-й отображался, а на следующих - нетДам еще один непроверенный совет – сдается, что здесь модуль Context может помочь, если стандартные настройками видимости блока не сработали.
Не обижайся, это я виноват, невнятно написал топик, посчитал, что настройки отображения (не php) само собой разумеющееся
контекст пробовал, писал условие патч
node
~node?page=*
ничего не выводит, может что не так писал.
вот нашел http://www.drupal.ru/node/30682 но что то туплю как сделать
Все, осилил:
<?php
if (arg(0) == 'node' && !$_GET['page'] && !arg(1)){
return TRUE;
}
else {
return FALSE;
}
?>
А можно сделать чтобы блок не показывался при этом страницы пейджера выводились AJAX-ом во вьюхе7