Блок только для списков определённого вида

29 ноября 2006 в 13:22

в общем есть галерея, ,строим её модулем views, выводим как полные ноды, необходимо, чтобы блок, в котором выводятся фотки имел длинну скажем 700 пикселей и находился по центру, в случае, когда галерея выводится списком всё просто в цсс для класса views-content-gallery ставим нужные значения и всё ок..

Но вот в галерее будет куча категорий и для каждой задавать свой view не хочется...

Идеальным решением было бы в page.tpl.php написать что-то вроде:

если нода = галерее вывести блок class="gallery"

<?php print $content; ?>

если нода = галерее вывести /блок

но как в page.tpl.php передать значения типа ноды, выводимого в <?php print $content; ?>

буду благодарен, если поможете, в аттаче, если кому интересно - картинка

ВложениеРазмер
Иконка изображения moto-gallery.jpg111.01 КБ

Комментарии

Вопрос сформулирован ужасно. Для тек кто с этим еще не разбирался, ничего не понятно.

"В случае, когда галерея выводится списком всё просто" - а у Вас как выводится?!
"Но вот в галерее будет куча категорий" - и что из этого?

Проблема в чем?

Всем хочется, чтобы не только проблему решили, но чтоб еще и писать поменьше!

29 ноября 2006 в 13:32

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

Или может быть можно в видах создать выборку из таксономии относящейся только к галерее со своими специфическими настройками?

29 ноября 2006 в 14:24

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

29 ноября 2006 в 14:50

в общем решил делать через URL

правда придётся использовать модуль path в обязательном порядке... но... что делать..

к вопросу о том, что я хотел добиться.. в page.tpl.php получаем следующее:

<?php if (substr($_SERVER["REQUEST_URI"], 0, 8) == "/gallery") { ?><div id="gall"><?php }; ?>

      <?php print $content; ?> 
         
<?php if (substr($_SERVER["REQUEST_URI"], 0, 8) == "/gallery") { ?></div><?php }; ?>   

аналогичную ситуацию нужно прописать в модулях, которые относятся к галерее, ну и всё..

Вопрос к знатокам: какие недостатки у подобного решения? И смогут поисковиком откуда-нибудь браться системные пути к страница, если им прописаны псевдонимы?

29 ноября 2006 в 17:12
Аватар пользователя Dan Dan 0

"И смогут поисковиком откуда-нибудь браться системные пути к страница, если им прописаны псевдонимы?"

Поисковики не методом тыка же ссылки находят Smile Если поисковики найдут (на других страницах) системные ссылки, то обязательно ими воспользуются Smile
Если найдут одну и ту же страницу с разными ссылками, то, скорее всего, "склеют".
====
Баг на странице галереи.
Разные ссылки:
-- у фотографии - http://live-in-drive.ru/files/imagecache/gallery_img_big/files/audi_s4_2...
-- у ссылки "Смотреть оригинал" - http://live-in-drive.ru/files/audi_s4_2006_cabriolet_1.jpg
Если попытаться перейти по ссылке на фоторафии, то выдаётся ошибка: [Error: name: ReferenceError, message: Security error: attempted to read protected variable]
Смотрю: Opera 9.02

29 ноября 2006 в 17:46

"Поисковики не методом тыка же ссылки находят Smile Если поисковики найдут (на других страницах) системные ссылки, то обязательно ими воспользуются :)"

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

Разные ссылки это не баг.. это три размера... превью, средний(вызывается по клику на картинку) и оригинал...

насчёт security error у меня всё ок... а не знаешь из-за чего может быть так?

"

Вообще есть такие вещи как
<?php
$drupal_path = $_GET['q'];

$second_level = arg(1);
?>
"
это здорово.., если не сложно, перепиши строки которые у меня в шаблоне таким образом, как это может работать в друпале, тоесть с аргументами..

29 ноября 2006 в 17:55

Вот, пожалуйсто

<?php

//отформатировано в соответствии со стандартами друпала
if (arg(0) == 'gallery') {
echo '

' . $content . '

';
} else {
echo $content;
}

//но в темах можно писать и покороче, правда ничего не понятно Smile
echo (arg(0) == 'gallery') ? '

' . $content . '

' : $content;

?>

Но вообще мне такое решение как-то не очень.

29 ноября 2006 в 20:08

Но чего добиться нужно теперь понятно?

Ну решение странное, но вариантов не много... если есть более гибкое, с удовольствием применю..

30 ноября 2006 в 10:35

если что в соответствии со стандартами друпала заработало со сравнением >=

в точности мой вариант выглядит так:

<?php if (arg(0) >= 'gallery') { ?><div id="gall"><?php }; ?>

      <?php print $content; ?> 
         
<?php if (arg(0) >= 'gallery') { ?></div><?php }; ?>   

30 ноября 2006 в 10:48

а нет, хрена там...

так он и для галереи блок выводит .. а если == то не выводит.. короче работать будет только так видимо:

<?php if (substr($_SERVER["REQUEST_URI"], 0, 8) == "/gallery") { ?><div id="gall"><?php }; ?>

<?php print $content; ?>

<?php if (substr($_SERVER["REQUEST_URI"], 0, 8) == "/gallery") { ?></div><?php }; ?>

30 ноября 2006 в 10:53

Должны работать оба мои варианта. Что-то ты там намутил значит... У тебя путь такого вида получается? http://live-in-drive.ru/gallery/auto?page=7 Сделай echo $_GET['q'];

Условие ">=" для строк как-то бредовато выглядит...

30 ноября 2006 в 11:46

ну если бредово то как сделать аналогию в видимости блоков.. можно задавать gallery/*

??

что значить сделать echo $_GET['q']; ??

30 ноября 2006 в 12:51