ser_house: Блог

Главные вкладки

[Модуль] Views Dynatree Widget

31 марта 2013 в 11:44

Дополнительно к Динамическое дерево и Views.

Модуль виджета для полей с иерархическими данными (таксономия, связи чере Entity Reference, Node Reference и User Reference).

Скрин со страницы демки:

Продаю промокод Template Monster $50

29 ноября 2012 в 4:06

Quote:
Вы можете использовать промокод для получения любого из Drupal шаблонов в разделе http://www.templatemonster.com/ru/drupal-templates-type/ нашего сайта.

Мне без надобности.

Druplicon - мне страшно...

22 октября 2012 в 17:24

Логотип Drupal — какая-то жуть) Какая-то агрессивная, да к тому же ещё и слепая голова, смотрящая вниз. Как демон из ночных облаков смотрит на нас (цвет не демонский, но это легко поправимо))
Она (голова), конечно, улыбается, но как-то это... не помогает)
Никто не замечал?
druplicon

Друпал: личное мнение

21 октября 2012 в 15:15

Работать с Друпал я начал чуть более года назад. До этого момента я никогда не занимался разработкой сайтов, не знал ни HTML, ни CSS, ни MySQL, ни PHP и JavaScript. Через три месяца я запустил свой первый сайт, поисковики его обнюхали и запустили в результаты поиска. Даже и посетители пошли (несколько человек в день). Доведение этого, уже работающего сайта, до ума, потребовало ещё три месяца.
Количество результатов в Гугле

Динамическое дерево и Views

5 октября 2012 в 18:43

Навскидку сущности, для которых результаты выборок Views можно представить в виде дерева: таксономия, комментарии, ноды, связанные через какой-либо вид references, для соцсетей, вероятно, пользователи со всеми своими «друзьями».

Для простых деревьев есть Views tree, для создания динамического меню для таксономии с использованием Dynatree есть модуль dynatree

Предлагаю модуль для создания динамических деревьев на основе выборок Views для разных сущностей (написал бы «для любых», но тестировал только таксономию, комментарии, ноды, связанные через Entity reference)

Модуль фильтра таксономии для Views по типу Hierarchical Select (забирайте)

31 августа 2012 в 16:41

Модуль добавляет к Views фильтр таксономии с ajax. Т.е. как и Hierarchical Select - зависимые селекты, по одному на каждый уровень словаря таксономии. Работает с включенным ajax для представления, но не работает с включенным autosubmit в настройках стилей Exposed Form.

UPDATE: теперь работает в сочетании сам с собой. То есть можно добавить ещё точно такой же фильтр, но с другим словарем. Будет два на форме.

UPD (29.04.13): Переписал на jQuery, форма теперь на каждый чих не кэшируется.

Демонстрация работы фильтра для Views

Кому нужен, пишите в личку или в аську (в профиле).

Ограничение доступа к страницам пользователя

21 июля 2012 в 22:20

В профиле у пользователя различная информация (в том числе на Panels и Views). Часть её должна быть доступна всем, часть — только владельцу профиля. Вот по этой второй части и интересно.

Поискал, вроде ничего не нашел (кроме советов по коду). Для себя написал модуль, добавляющий во Views разрешение просматривать данные только пользователю, чей uid совпадает с uid из адреса, ну и так, для страниц с произвольным адресом (лишь бы в нём uid был).

Сокращение выбора часовых поясов

21 июля 2012 в 10:01

Может, это вообще ерунда...

Если позволить пользователю выбирать свой часовой пояс, то ему предоставляется для этого select с 455(!) пунктами. Выбор из почти полтысячи значений, причем большинство дублируются по фактическим смещениям часов. Подумал, что неплохо было бы сократить эту дикость до приемлемого уровня. Получилось 39 смещений для выбора. Конечно, убрал из вывода название временной зоны, и может быть это недостаток, не знаю. Да и сами названия перестали соответствовать реальности, но как-то не приходит в голову, где от них была бы реальная польза.

Как было:

Как стало:

Код:

/**
 * Implements hook_form_alter
 *
 */

Sphinx и теги

12 июля 2012 в 23:30

Прикрутил на локалке Sphinx. За основу модуля для Друпал взял Drupal 7.x Sphinx Search module. Ноды у меня помечаются тегами, читай — ключевыми словами и возможность поиска и по ним необходима. Добавил их джойнами и вместе с исходным из sphinxdrupal получилось аж 3 INNER JOIN:

sql_query =
  SELECT node.nid AS ID, node.title, node.status, node.created, f.body_value, taxonomy_term_data.name \
  FROM node \
  INNER JOIN field_data_field_tags ON node.nid = field_data_field_tags.entity_id \
  INNER JOIN taxonomy_term_data ON field_data_field_tags.field_tags_tid = taxonomy_term_data.tid \
  INNER JOIN field_data_body f ON (node.nid = f.entity_id) \

Как искать, что и где изменить или немного фантазии не помешает.

23 июня 2012 в 18:21

Навеяно вот этим и подобными вопросами — как изменить то, что выводим не мы а, скажем, ядро Drupal. Или сторонние модули.

Смысл нижеописанных действий: найти код, который отвечает за вывод и по возможности изменить его без взлома (т.е. без изменения кода не месте).

Ни в коей мере не претендуя на полноту охвата материала, надеюсь, всё же, что мой скромный опыт кому-нибудь да поможет )

Итак, представим, что нам надо отредактировать блок «Последние материалы». Для тех, кому лень лишний раз кликать, вкратце: необходимо убрать авторов последних нод.

Задача условно разбивается на четыре этапа:

Модуль настройки сообщений для авторов

13 мая 2012 в 17:58

Нет-нет, да всплывает то тут то там вопрос о замене текста сообщения, выводимого пользователю после создания/изменения содержимого. ИМХО, такое сообщение как часть UI должно быть более дружественным к пользователю. Да хотя бы обращение по имени вставить – эффект, несомненно, будет положительным.

Обычно предлагается (и применяется, насколько я понимаю) изменение перевода выводимой строки. Достаточно негибкое решение: нельзя настроить текст по своему желанию, в частности, использовать токены (а значит, и обратиться персонально к пользователю). Кроме того, перевод получается не перевод, а некая отсебятина. Это конечно, не страшно, но как-то не кошерно. Равноценна по гибкости и способу замена строки модулем String Overrides

[Решено]Сохранить значение в поле ноды

20 января 2012 в 12:53

Как записать данные в одно из полей ноды? Имя поля известно, но находится в переменной. Очевидно, что обратиться напрямую нельзя: $node->$my_field_name.

Есть ли что-нибудь навроде field_get_items('node', $node, $$my_field_name), только в обратную сторону? Или я таки правильно ничего не нашел?