Блог пользователя - Strycker

Выбор модуля карт для друпала

14 января 2014 в 13:46

Подскажите, пожалуйста, с помощью каких модулей можно решить такую задачу:

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

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

3. На крупном масштабе карты (когда видно всю страну) объединить маркеры в т.н. кластеры, когда под одним маркером скрываются другие маркеры, находящиеся в этом регионе. А в объединяющем маркере указано число собранных в один меток. Подобное реализовано здесь http://pandus.molparlam.ru/

[Решено]Не отображается результат работы функций в Chrome

12 июля 2013 в 13:04

Коллеги!

Наблюдается странное поведение двух штатных функций Drupal 7, при работе через браузер Chrome. В ФФ и опере работает ожидаемо.

Симптомы. При вызове drupal_set_message() в Chrome сообщение не отображается (в разметке нет div'ов, которые оформляют это сообщение).

При вызове функции form_set_error в Chrome подкрашиваются только поля, в которых данные не прошли валидацию, а текстовое сообщение вверху страницы не выводится.

Кто с этим сталкивался, как это лечить?

Создание новой ревизии при редактировании документа

5 июля 2013 в 20:31

Добрый вечер, коллеги!

Никак не соображу как решить задачу. Накидайте мыслей с какого конца зайти?

Есть у меня один документ, который создаётся автоматически без участия пользователей при добавлении термина в словарь - реализовано через hook_taxonomy_term_insert(). Он доступен для редактирования любому зарегистрированному пользователю на сайте.

Не работает обработчик формы

14 июня 2013 в 14:04

Добрый день, коллеги.

Есть вопрос. Написал свой модуль, в нём реализован хук - hook_form_FORM_ID_alter()

<?php
function ure_form_user_profile_form_alter(&$form, &$form_state$form_id) {

 

// ....

      

$form['#submit'][] = 'ure_submit';
    }
  return 
$form;
}
?>

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

Написал обработчик всего этого хозяйства:

<?php
function ure_submit($form, &$form_state) {?>

[РЕШЕНО] Не работает jquery аккордеон

14 июня 2013 в 1:11

Коллеги,

Есть у меня одна нагруженная нода, в которой выводится много полей. Решил их сгруппировать по группам и вывести с помощью "аккордеона". Погуглил. Оказывается этот функционал встроен в ядро:

<?php
drupal_add_library
('system''ui.accordion');
drupal_add_js('jQuery(document).ready(function(){jQuery("#accordion").accordion();});''inline');
?>
<div id="accordion">
<h3><a href="#">Section 1</a></h3>
<div>Проверка работы аккордеона, секция 1</div>

<h3><a href="#">Section 2</a></h3>
<div>Проверка работы аккордеона, секция 2</div>

<h3><a href="#">Section 3</a></h3>
<div>Проверка работы аккордеона, секция 3</div>
</div>

[Решено] Проблема с отображением страницы разрешения ролей

10 июня 2013 в 20:12

Добрый вечер, коллеги!

С начиная с какого-то момента страница "Разрешения ролей" (admin/people/permissions) выводится странным образом: чёрный текст на белом фоне, вся структура страницы "поломана", местами, как изюм в кексе, разбросаны картинки интерфейса. При этом остальные страницы административного интерфейса отображаются нормально. Т.е. темизация не работает.

Пробовал переключаться на штатную тему Bartik - суть та же, но правда есть хотя бы таблица с ролями.

Где грабли? Как изменить на нормальный вывод? Как поймать ошибку?

Как разместить два элемента в одной строке формы?

31 мая 2013 в 19:47

Добрый вечер, коллеги!

Сразу прошу прощения за возможный сумбур. Весь день сегодня вожусь.

И так, задача стоит следующая. Нужно пользователю дать возможность выбрать у себя в профиле группу, в которую он хочет вступить и на какое время. Т.е. приблизительно так:
- группа 1 - месяц
- группа 2 - месяц
- группа 3 -
- группа 4 - полгода
....

Первая часть задачи замечательно решается встроенными средствами: создаём поле "Список - текст" с checkbox'ами, всё подписываем - получается красиво. Но как решить вопрос со сроком действия? Как рядом с каждым чекбоксом разместить ещё и listbox с несколькими вариантами выбора?

Сохранение подшивки журнала рассылки

30 апреля 2013 в 12:37

Добрый день, коллеги!

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

Сейчас этот механизм построен на модулях SimpleNews, Simplenews_Scheduler и Views. Так же используются модули Mail System, Mime Mail чтобы отправить письмо с темизированной табличкой.

Работает это следующим образом: в типе материала Simplenews newsletter внутри php-кода вывожу блок вьюшки (функция views_embed_view), который выдаёт нужный мне набор данных.

Как отправить личное сообщение не по имени логина, а другому полю?

18 апреля 2013 в 0:27

Товарищи!

Поставил модуль Privatemsg - отлично работает, делает ровно то, что нужно за исключением одной штуки. Есть потребность в поле "Кому" выводить не user login, а другое. Тут есть два варианта:
- название одной из нод определённого типа, которую можно создать только одну для одного юзера.
- дополнительное поле в профиле пользователя, которое он вводит при регистрации.

Подскажите, решал ли кто такую задачу? Быть может есть на вскидку какие-то решения или хотя бы идеи. Буду рад любым комментам ибо уже собрался допиливать модуль.

Совместная разработка проекта

27 марта 2013 в 15:17

Встал вопрос: кто как реализовывает совместную работу над проектом?

Слова git, svn, trac, redmine, mantis и подобные им мне известны. Но интересна именно практическое применение их продуктов в работе. Другими словами интересует методика совместной разработки в контексте CMS Drupal.

Как прикрепить ноду в качестве подробного описания термина словаря?

24 марта 2013 в 17:01

Добрый день!

Есть такая задача: делаю каталог различных изделий. Изделия - это ноды. Они состоят из каких-то стандартных деталей (например гайка М2) - это термины. Задумывается так: щёлкнул на термин-деталь и увидел в каких нодах-изделиях эта деталь есть. Хочется к стандартному выводу странички термина прикрепить красивое описание этой самой гайки, с картинками, с подробным описанием, материалами и прочим. Т.е. другими словами в термин это не помещается, надо делать ноду.

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

Подсчёт и хранение количества материалов в ноде определённого типа.

24 августа 2012 в 11:50

Добрый день.

Помогите с решением задачи.

Дано: в проекте есть основной тип материала - карточка пользователя (не путать с профилем пользователя). Это тип материалов, в котором подробно описывается пользователь сайта. Этот документ единственный для каждого пользователя. Есть другие типы материалов которые может создавать пользователь (их число неограниченно), например TypeA, TypeB, TypeC и т.д.
Задача стоит следующим образом: надо сделать вьюшку, в которой будут выводиться все карточки пользователей а так же подсчитываться количество документов определённых типов, и количество записей в поле C карточки пользователя, т.е. надо сделать вьюшку следующего вида:

User Card | TypeA_Count | TypeB_Count | FieldC_Count

Card1           26             12            4

Не могу нормально запустить xmlsitemap

14 сентября 2011 в 18:02

Добрый день, коллеги!

Подключил модуль xmlsitemap, с тем чтоб не генерировать каждый раз самому sitemap.xml. Вроде бы всё настроил в соответствии с ридми. Запускаю, а файла в корне сайта нет. В настройках показывает что количество ссылок 3896, директории кэш нашёл файл 1.xml. Т.е. модуль его создаёт, а почему в корень не выкладывает - не понятно.

В чём может быть причина, кто сталкивался?

Вывод всех значений текстового поля для нод, на которые ссылается основная нода

11 ноября 2009 в 17:08

Коллеги!

Условия задачи:
Есть тип документа Компания - производитель софта.
Есть тип документа Программа - то что было создано компанией.
Они между собой связаны node reference и node referrer с другой стороны, т.е. при создании описания программы, я ставлю галочку в списке компаний на против той, которая создала этот софт (может не одной).
В типе Программа, есть автодополняемое текстовое поле - Заказчики.

Внимание вопрос:
Как мне на страничке конкретной компании перечислить всех Заказчиков, исключив повторения?

Предполагаю что это можно реализовать с помощью Views, но честно скажу что не пробовал. Как это сделать запросом - представялю, но я так понял, что писать SELECT не правильно с точки зрения идеологии Друпал. Хочется красивое решение, предлагаю обсудить Smile

Время публикации ноды

10 ноября 2009 в 17:48

Уважаемые!
а есть ли какие-нибудь удобные способы конфигурирования времени публикации материалов? Т.е. чтоб флаг "опубликовано" у документа снимался через какое-то время. Стоит задача снимать материалы пользователя с публикации спустя определённое время, для каждого из типов материалов надо задать свой временной промежуток. В идеале, ещё бы и триггер снятия хорошо бы поиметь: если в профайле пользователя, в поле что-то нужное, то публикация продляется на указанный период. Если нет, то снимается.

Administration menu пользовался кто нибудь? Удобно?

10 ноября 2009 в 16:05

Приветствую Коллеги!

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

CCK: создание существующего поля

7 октября 2009 в 15:10

Коллеги, возник вопрос теоретического характера.

При создании новых полей в типе материала, есть отдельная группа виджетов, которое задаёт уже существующее поле. Мне не совсем понятно назначение, а главное области применения этого компонента.
В документации написано что это поле получается share и имеет несколько instance.
Правильно ли я понимаю, что создав единожды какое-то поле для типа материалов 1, я могу наследовать это поле в другом типе материалов, т.е. указав уже существующее поле для типа материалов 2 при создании документа могу его заполнять и оно будет сохраняться отдельно, не будет переписываться или ещё как-то изменяться. А просто при "наследовании" сохранит свои настройки и будет так же называться?
Если так то получается, что для изменения настроек надо будет изменить лишь "родительское" поле, а во всех "существующих" полях они подхватятся автоматически.

Извиняюсь за сумбур - рассказал как умел.

Темизация вывода связанных нод без вью

6 октября 2009 в 23:23

Коллеги!

Хочу переделать вывод ноды, у которой есть связанные с ней ноды другого типа, со штатного в виде неупорядоченного списка на красивую табличку с некоторыми полями. Нашёл вот такой интересный модуль - , но заставить его работать так и не получилось. Вспоминая предложенный HIgor1968 способ, понимаю что это как-то должно решать на уровне шаблона ноды. Т.е. в шаблоне должен быть код, который разбирает переменную $node и строит по связанным полям табличку. Общее понимание вопроса есть, но вот реализовать всё никак не получается - знаний пока не хватает. Подскажите какими функциями можно посмотреть ноды, связанные с текущей? Как вообще правильно решать такую задачу с точки зрения ДРупал?

Передача аргумента во view

2 октября 2009 в 15:47

Коллеги, назрел очередной вопрос.
Посмотрел поиском, почитал темы, но ответа так и не нашёл.

Что есть: у меня есть замечательная view'шка, которая выбирает то что мне нужно, одним из критериев поиска являются два словаря: расположение и тип.
Что я хочу сделать: меню с главным и его подпунктами и отображением вьюшки. Щёлкнув на главное меню хочу получить просто результат работы вьюшки. А при щелчке на подпунктах, хочу чтоб во вью передавалось значение и оно бы уже фильтровало ноды, по переданному значению (словарь "тип").
Я так понимаю что это делается через аргументы, но никак не могу сообразить как это сделать.

upd: Разобрался. Нужно просто добавить аргумент ID term и при вызове указывать id термина и будет сортировка по терминам из словаря "тип".
Но тут же появился следующий вопрос: по терминам из второго словаря на этой странице есть фильтр. При передаче аргумента во вью, содержимое фильтра не меняется. Очень не удобно...