Надо было глоссарий — views 2 использовал, скопировал стандартную вьюху, как надо поправил, работает.
Как можно этот список букв запихать в блок? Надо на главной сделать только буквы, без списка совсем. Я не полностью понял, как работает atachment во views. Если я добавляю представление типа Блок... но мне не надо в нем ничего выводить... я все поля скрываю, "прикрепляю" к нему тот же аттачмент, что на странице —но такой блок создать не дают — типа, он ничего не выводит.
Картинка во вложении. Кто знает — поделитесь, плиз.
Вложение | Размер |
---|---|
views-glossary-block.jpg | 36.83 КБ |
Комментарии
Первое, что пришло в голову. В таксономии создаете словарь, термины - буквы (от А до Я), каждой выводимой странице присваиваете букву, на которую она должна выводиться. Создаете вьюс по типу term (Taxonomy terms are attached to nodes) по данному словарю, вывод в блоке. Дальше вьюс ваших страниц, и вуаля! Где что как крепить разберетесь.
Гляньте мой сайт http://clients.yustos.com/aquakran, сейчас в разработке. Там внизу вьюс по производителям. Поскольку сайт только делается, примеры есть только для Haiba, Emmevi и Campion
Небольшой оффтоп. Yustos, подскажите, как проще сделать разделение на 2 блока, как у вас сделано - "Сага о смесителе" "Раковины и приспособления"?
Нет, это не наш метод. Можно и еще проще поступить — сделать computed поле CCK, но это тоже не то.
Просто я вижу реально работающую вещь «из коробки» и вполне логично желание эту же работающую вещь прикрутить.
Вероятно, я плохо объяснил суть — на скрине во вложении мой сайт, все здорово, только надо как-то блок с буквами «отцепить» от этого view и засадить в блок.
Буду сам мучиться, если никто не поможет. Что получится — отпишу.
В общем, сделал. Покорежил ту же самую вьюху glossary, выкинул вывод attachment, добавил блок, изменил настройки по-умолчанию — убрал адргумент, поставил summary, sorted ascending. Подробнее во вложениях.
Результат тут: http://habrus.ru блок вверху страницы.
О, блин. Блок-то оно выводит, а как сделать ссылки куда нужно — не понятно.
Как изменить ссылки в summary?
2Vladimirovich
Здесь использовал Panel2. До этого такие вещи делал при помощи composite layout
напоим, согреем, закроем проблемы - зачётный слагон...
Решил задачку. Сделал блок и темизировал summary-unformatted
views-view-summary-unformatted--firms-block.tpl.php (firms-block — название view)
внутри заменил строчку
<?php<a href="<?php print 'firms/'.drupal_strtolower($row->link); ?>"><?php print $row->link; ?></a>
<?php /* было так <a href="<?php print $row->url; ?>"><?php print $row->link; ?></a> */ ?>
firms/X — это путь к другому view, которое отрабатывает собственно вывод нод на каждую букву
так просто можно обойти проблему — $row->url в блоке ничего не возвращает.
Кто может объяснить этот пост подробней, стукните плиз в личку.
Спасибо, земляк
Пригодится
а как совместить фильтры во вьюхе и голоссарий.
что бы по выбраному фильтру голоссарий изменялся и не исчезал со страниц выборок?
Спасибо за изящное решение вопроса.
Есть пара комментариев, хоть это и можно посчитать некропостингом.
Тут правильнее было бы использовать путь '/firms/'.drupal_strtolower($row->link), если пути определяются относительно корня сайта, а не относительно текущего раздела. Иначе можно получить ссылку типа "сайт.ру/каталог/товары/железобетон/firms/a" в глоссарии на странице железобетонных изделий, и точно в том же глоссарии на странице туристических агентств Санкт-Петербурга ссылку "сайт.ру/агентства/санктпетербург/firms/а" в то время как обе организации должны быть доступны по ссылке "сайт.ру/firms/а"
Подробности, если это кому-то пригодится, следующие:
1. Берем стандартную вьюху glossary, имеющееся во views2 (если ваша вьюха называется иначе - запоминаем ее имя - оно нам пригодится в пункте 7)
2. Удаляем из нее дисплеи Page и Attachments
3. Добавляем дисплей Block
4. В свойствах аргумента (там по умолчанию один аргумент "Материал: Заголовок") выбираем "Summary, sorted ascending"
5. Если надо - настраиваем сортировку и фильтры (в моей ситуации надо было сделать несколько алфавитных указателей по разным типам материалов, сортировка всегда была по имени материала по возрастанию)
6. На странице блоков указываем, где нужно показывать созданный только что блок. При просмотре видим, что ссылки в алфавитном указателе не соответствуют тому, что нам нужно.
7. Копируем файл sites/default/modules/views/theme/views-view-summary-unformatted.tpl.php в папку с используемой вами темой (обычно sites/default/themes/имятемы) под именем views-view-summary-unformatted--glossary.tpl.php
7.1. Если имя вашей вьюхи отличается от стандартного (вдруг вы решили не трогать стандартный glossary и сделали его копию), то вот здесь вместо glossary надо подставить название вашей вьюхи из пункта 1
7.2. Если вы создаете больше одного блока с алфавитным указателем, пути у которых должны различаться, то тогда надо вместо файла views-view-summary-unformatted--glossary.tpl.php создать, соответственно, несколько файлов с именами views-view-summary-unformatted--glossary--block-1.tpl.php, views-view-summary-unformatted--glossary--block-2.tpl.php
8. В созданном файле исправляем указанную строку в соответствие исходным рекомендациям
В моем случае для views-view-summary-unformatted--glossary--block-1.tpl.php это было '/authors/'.drupal_strtolower($row->link), а для views-view-summary-unformatted--glossary--block-2.tpl.php - '/books/'.drupal_strtolower($row->link)
Вот, собственно, и все...
Кстати, было бы интересно узнать, может кто делал алфавитный указатель, где русские буквы в путях транслитерируются? Типа как вместо /firms/ж ссылка была бы /firms/zh?