в общем есть галерея, ,строим её модулем views, выводим как полные ноды, необходимо, чтобы блок, в котором выводятся фотки имел длинну скажем 700 пикселей и находился по центру, в случае, когда галерея выводится списком всё просто в цсс для класса views-content-gallery ставим нужные значения и всё ок..
Но вот в галерее будет куча категорий и для каждой задавать свой view не хочется...
Идеальным решением было бы в page.tpl.php написать что-то вроде:
если нода = галерее вывести блок class="gallery"
<?php print $content; ?>
если нода = галерее вывести /блок
но как в page.tpl.php передать значения типа ноды, выводимого в <?php print $content; ?>
буду благодарен, если поможете, в аттаче, если кому интересно - картинка
Вложение | Размер |
---|---|
moto-gallery.jpg | 111.01 КБ |
Комментарии
Вопрос сформулирован ужасно. Для тек кто с этим еще не разбирался, ничего не понятно.
"В случае, когда галерея выводится списком всё просто" - а у Вас как выводится?!
"Но вот в галерее будет куча категорий" - и что из этого?
Проблема в чем?
Всем хочется, чтобы не только проблему решили, но чтоб еще и писать поменьше!
да, голодный был.. когда куча категорий логично просто вывести все пункты таксономии, но в этом случае специфического класса у списка не будет.. а поскольку таксономия используется не только для галереи, нужно как то присвоить класс для списков таксономии, относящихся именно к галерее..
Или может быть можно в видах создать выборку из таксономии относящейся только к галерее со своими специфическими настройками?
Опять ничего не понял. Писать нужно чтоб было понятно всем.
А class="класс для списков таксономии views-content-gallery" не поможет?
блин ну если просто таксономией выводить всё подряд то не будет класса галереи... короче чтоб понятно было, нужно на сайте показывать... ща попозже ссылочку кину
если интересно - http://live-in-drive.ru/gallery/auto?page=7 так выглядит галерея, выведенная модулем views
а вот так модулем таксономия - http://live-in-drive.ru/taxonomy/term/5/9
теперь понятней?
в общем решил делать через URL
правда придётся использовать модуль path в обязательном порядке... но... что делать..
к вопросу о том, что я хотел добиться.. в page.tpl.php получаем следующее:
<?php print $content; ?>
<?php if (substr($_SERVER["REQUEST_URI"], 0, 8) == "/gallery") { ?></div><?php }; ?>
аналогичную ситуацию нужно прописать в модулях, которые относятся к галерее, ну и всё..
Вопрос к знатокам: какие недостатки у подобного решения? И смогут поисковиком откуда-нибудь браться системные пути к страница, если им прописаны псевдонимы?
Вообще есть такие вещи как
<?php
$drupal_path = $_GET['q'];
$second_level = arg(1);
?>
"И смогут поисковиком откуда-нибудь браться системные пути к страница, если им прописаны псевдонимы?"
Поисковики не методом тыка же ссылки находят Если поисковики найдут (на других страницах) системные ссылки, то обязательно ими воспользуются
Если найдут одну и ту же страницу с разными ссылками, то, скорее всего, "склеют".
====
Баг на странице галереи.
Разные ссылки:
-- у фотографии - 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
"Поисковики не методом тыка же ссылки находят Если поисковики найдут (на других страницах) системные ссылки, то обязательно ими воспользуются :)"
это понятно, но исходя из особенностей друпала, в случае присвоения каждой ссылке псевдонима, откуда-нибудь системные ссылки смогут взяться?
Разные ссылки это не баг.. это три размера... превью, средний(вызывается по клику на картинку) и оригинал...
насчёт security error у меня всё ок... а не знаешь из-за чего может быть так?
"
Вообще есть такие вещи как
<?php
$drupal_path = $_GET['q'];
$second_level = arg(1);
?>
"
это здорово.., если не сложно, перепиши строки которые у меня в шаблоне таким образом, как это может работать в друпале, тоесть с аргументами..
Вот, пожалуйсто
<?php
//отформатировано в соответствии со стандартами друпала
if (arg(0) == 'gallery') {
echo '
';
} else {
echo $content;
}
//но в темах можно писать и покороче, правда ничего не понятно
echo (arg(0) == 'gallery') ? '
' : $content;
?>
Но вообще мне такое решение как-то не очень.
Но чего добиться нужно теперь понятно?
Ну решение странное, но вариантов не много... если есть более гибкое, с удовольствием применю..
если что в соответствии со стандартами друпала заработало со сравнением >=
в точности мой вариант выглядит так:
<?php print $content; ?>
<?php if (arg(0) >= 'gallery') { ?></div><?php }; ?>
а нет, хрена там...
так он и для галереи блок выводит .. а если == то не выводит.. короче работать будет только так видимо:
<?php print $content; ?>
<?php if (substr($_SERVER["REQUEST_URI"], 0, 8) == "/gallery") { ?></div><?php }; ?>
Должны работать оба мои варианта. Что-то ты там намутил значит... У тебя путь такого вида получается? http://live-in-drive.ru/gallery/auto?page=7 Сделай echo $_GET['q'];
Условие ">=" для строк как-то бредовато выглядит...
ну если бредово то как сделать аналогию в видимости блоков.. можно задавать gallery/*
??
что значить сделать echo $_GET['q']; ??