[Модуль] Views Dynatree Widget
Дополнительно к Динамическое дерево и Views.
Модуль виджета для полей с иерархическими данными (таксономия, связи чере Entity Reference, Node Reference и User Reference).
Дополнительно к Динамическое дерево и Views.
Модуль виджета для полей с иерархическими данными (таксономия, связи чере Entity Reference, Node Reference и User Reference).
http://www.templatemonster.com/ru/drupal-templates-type/ нашего сайта.Вы можете использовать промокод для получения любого из Drupal шаблонов в разделе
Работать с Друпал я начал чуть более года назад. До этого момента я никогда не занимался разработкой сайтов, не знал ни HTML, ни CSS, ни MySQL, ни PHP и JavaScript. Через три месяца я запустил свой первый сайт, поисковики его обнюхали и запустили в результаты поиска. Даже и посетители пошли (несколько человек в день). Доведение этого, уже работающего сайта, до ума, потребовало ещё три месяца.
Навскидку сущности, для которых результаты выборок Views можно представить в виде дерева: таксономия, комментарии, ноды, связанные через какой-либо вид references, для соцсетей, вероятно, пользователи со всеми своими «друзьями».
Для простых деревьев есть Views tree, для создания динамического меню для таксономии с использованием Dynatree есть модуль dynatree
Предлагаю модуль для создания динамических деревьев на основе выборок Views для разных сущностей (написал бы «для любых», но тестировал только таксономию, комментарии, ноды, связанные через Entity reference)
Модуль добавляет к Views фильтр таксономии с ajax. Т.е. как и Hierarchical Select - зависимые селекты, по одному на каждый уровень словаря таксономии. Работает с включенным ajax для представления, но не работает с включенным autosubmit в настройках стилей Exposed Form.
UPDATE: теперь работает в сочетании сам с собой. То есть можно добавить ещё точно такой же фильтр, но с другим словарем. Будет два на форме.
UPD (29.04.13): Переписал на jQuery, форма теперь на каждый чих не кэшируется.
Демонстрация работы фильтра для Views
Кому нужен, пишите в личку или в аську (в профиле).
В профиле у пользователя различная информация (в том числе на Panels и Views). Часть её должна быть доступна всем, часть — только владельцу профиля. Вот по этой второй части и интересно.
Поискал, вроде ничего не нашел (кроме советов по коду). Для себя написал модуль, добавляющий во Views разрешение просматривать данные только пользователю, чей uid совпадает с uid из адреса, ну и так, для страниц с произвольным адресом (лишь бы в нём uid был).
Может, это вообще ерунда...
Если позволить пользователю выбирать свой часовой пояс, то ему предоставляется для этого select с 455(!) пунктами. Выбор из почти полтысячи значений, причем большинство дублируются по фактическим смещениям часов. Подумал, что неплохо было бы сократить эту дикость до приемлемого уровня. Получилось 39 смещений для выбора. Конечно, убрал из вывода название временной зоны, и может быть это недостаток, не знаю. Да и сами названия перестали соответствовать реальности, но как-то не приходит в голову, где от них была бы реальная польза.
Прикрутил на локалке Sphinx. За основу модуля для Друпал взял Drupal 7.x Sphinx Search module. Ноды у меня помечаются тегами, читай — ключевыми словами и возможность поиска и по ним необходима. Добавил их джойнами и вместе с исходным из sphinxdrupal получилось аж 3 INNER JOIN:
Навеяно вот этим и подобными вопросами — как изменить то, что выводим не мы а, скажем, ядро Drupal. Или сторонние модули.
Смысл нижеописанных действий: найти код, который отвечает за вывод и по возможности изменить его без взлома (т.е. без изменения кода не месте).
Ни в коей мере не претендуя на полноту охвата материала, надеюсь, всё же, что мой скромный опыт кому-нибудь да поможет )
Итак, представим, что нам надо отредактировать блок «Последние материалы». Для тех, кому лень лишний раз кликать, вкратце: необходимо убрать авторов последних нод.
Задача условно разбивается на четыре этапа:
Нет-нет, да всплывает то тут то там вопрос о замене текста сообщения, выводимого пользователю после создания/изменения содержимого. ИМХО, такое сообщение как часть UI должно быть более дружественным к пользователю. Да хотя бы обращение по имени вставить – эффект, несомненно, будет положительным.
Обычно предлагается (и применяется, насколько я понимаю) изменение перевода выводимой строки. Достаточно негибкое решение: нельзя настроить текст по своему желанию, в частности, использовать токены (а значит, и обратиться персонально к пользователю). Кроме того, перевод получается не перевод, а некая отсебятина. Это конечно, не страшно, но как-то не кошерно. Равноценна по гибкости и способу замена строки модулем String Overrides
Как записать данные в одно из полей ноды? Имя поля известно, но находится в переменной. Очевидно, что обратиться напрямую нельзя: $node->$my_field_name.
Есть ли что-нибудь навроде field_get_items('node', $node, $$my_field_name)
, только в обратную сторону? Или я таки правильно ничего не нашел?