Koreychenko: Блог

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

Делаю сайт поиска занятий для детей.

29 декабря 2013 в 15:30

Хочу послушать мнение адекватных людей.

Делаю сайт для поиска занятий для детей.

http://gdetki.ru

Сейчас на сайте порядка 5000 питерских организаций. Каждая организация может добавлять занятия для определенного возраста детей с расписанием по дням недели.

Каждая организация может темизировать свою страницу: перетаскивать элементы страницы и менять стиль вывода расписания занятий. Это может быть табличный вид на неделю (как тут http://gdetki.ru/node/628), либо же просто вывод списком с описаниями как тут (http://gdetki.ru/node/1701)

Родители имеют возможность записываться на занятия, заполняя форму записи. Это доступно только если у занятия есть цены. Справа ссылки записаться. http://gdetki.ru/node/6259

EntityForms, как отправить сообщение автору ноды, к которой прикреплена форма.

28 декабря 2013 в 12:14

Приветствую, товарищи. Помогите сделать следующее.

1. На сайте есть разные материалы от разных пользователей. К каждому материалу через entityform + entity reference присоединяется форма заказа.
2. Нужно, чтобы при сабмите этой формы отправлялось сообщение автору ноды, к которой прикреплена форма. Элементарная же задача, не?
3. Может ли Rules получить объект ноды, к которой прикреплена конкретная засабмиченная форма.

[Решено] Organic Groups. Не войти на страницу пользователя, если он в большом количестве групп.

26 декабря 2013 в 15:35

Есть сайт на котором порядка 5000 групп. Все эти группы созданы от админа и, следовательно, когда грузится объект пользователя, информация о группах тоже грузится. Когда мы заходим на страницу /user/1 то страница открывается очень долго, индикатор процессов показывает, что mysql грузит проц на 100%.

Почему это происходит понятно. Вопрос - что с этим делать? ) Как можно не грузить весь объект пользователя целиком? Страницу пользователя буду создавать самостоятельно панельками, так что может быть просто создать новый путь, без передачи объекта? Кто с таким сталкивался?

Выборка из материалов в разной валюте. Views. Обработка значений до фильтрации.

5 ноября 2013 в 11:16

Приветствую, камрады!

Вопрос:
Делаю сайт турфирмы. Есть материалы типы тур. У тура есть поле цена (кастомное поле), состоящее из двух полей: собственно цена и валюта (селект).
Цены могут быть в долларах, евро и в рублях. Курс на сайте обновляется раз в день.

[Решено] Табы в панелях. Как сделать?

18 сентября 2013 в 10:48

Товарищи, подскажите, пожалуйста.

Есть ли что-нить готовое, для вывода некоторых panel pane в виде закладок (табов)?

Например, делаю панель для вывода ноды. У ноды есть 3 поля:
Картинка
Описание
Адреса и телефоны

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

Заранее спасибо.

Domain Taxonomy и тэги про создании ноды

12 сентября 2013 в 11:43

Прошу помощи

На сайте установлены модули Domain Access и Domain Access Taxonomy

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

Вопрос: что делать? Как заставить тэги создаваться с учетом текущего домена?

Модуль для проверки сайта на готовность к SEO продвижению.

9 сентября 2013 в 14:17

Вот люблю я AJAX Framework в семерке.

Модуль для проверки сайта на готовность к SEO продвижению.

http://agentseo.ru/sitecheck

Глюк Hierarchical Select. Пропадает цепочка при добавлении промежуточного темина.

23 августа 2013 в 11:53

Замечен странный глюк.

Есть словарь Автомобили. В нем марки и модели авто. Термин таксономии выбирается с помощью hierarchical select.


Глюк:

При добавлении промещуточного термина в словарь в уже созданных материалах перестает отображаться таксономия.

Например, было решено изменить структуру и писать не просто BMW > 520, а BMW > 5er > 520. При этом id конечного термина не изменился и в devel показывается, что материал, как был к нему привязан, так и остался. Но HS не показывает.

Решение глюка:

Переключение таблица/сетка во вьюхе.

14 августа 2013 в 16:12

Канонический вопрос, ответа на который я пока не нашел: как сделать переключение вида вьюхи между таблицей и сеткой?

Усложняем:

Во вьюхе есть куча exposed фильтров. При переключении вида сортировка сбрасываться не должна. Открытая страница пейджера тоже не должна сбрасываться.

Еще усложняем:

Все это должно работать без перезагрузки страницы через AJAX. (сейчас фильтры работают так)

Что приходит в голову.

Пользователь кликает на кнопочку "сменить вид", мы пишем в переменную $_SESSION['view_mode'] какое-нить значение и перезагружаем вьюху.
В своем модуле реализуем hook_views_pre_render(&$view), в котором меняем style_options с одного вида на другой.

Генерация url alias для динамических страниц. Для всяких вьюх и т.п. Не изобрел ли я велосипед?

5 августа 2013 в 13:04

Делаю сайт туристической компании. На сайте есть словарь таксономии, терминами которого являются страны, города и т.п. Для этих терминов автоматом генерируются замечтальные урлы вида (например) skandinaviya/finlyandiya/kotka, skandinaviya/finlyandiya/helsinki.

Также на сайте есть вьюхи, которые показывают отели в конкретном городе, туры, коттеджи т.п.
Системный урл таких вьюх генерируется такой taxonomy/term/%/hotels, taxonomy/term/%/tours, taxonomy/term/%/cottages

Проблема в том, что вьюха понимает только системные урлы, но не понимает пути вида skandinaviya/finlyandiya/helsinki/hotels (что логично)

Поиск решения на скорую руку ничего не дал, поэтому было решено написать собственный простенький модуль, который берет словарь и генерирует для него правильные алиасы.

Несколько одинаковых флагов на странице. Одновременное обновление. Как сделать?

3 июня 2013 в 7:11

Я могу вывести в разных местах страницы одинаковые флаги, например "Добавить в избранное". Пусть у меня будет несколько вьюх, в которых материалы будут частично дублироваться.

Если в одном из блоков кликнуть на флаг "Добавить в избранное", то он отработает и изменится на "Удалить из избранного", но только в одном блоке.

Как сделать, чтобы одинаковые флаги у одинаковых материалов обновлялись во всех местах на странице, где они есть?

Feeds, большой XML или несколько источников фида. Как лучше сделать?

1 июня 2013 в 12:12

Задача.

1. Есть порядка 25 xml файлов из которых нужно фидсами загрузить на сайт ноды.
2. Информация будет обновляться ежедневно. В сумме объектов, подлежащих импорту/обновлению, насчиталось 24000.
3. При объединении всех xml файлов в один получился размер 121 Мб.

Сомнения.
1. Есть сомнения, что feeds http fetcher прожует файл размером 121 Мб, а feeds xpath parser, который это все обрабатывает, скорее всего вызовет нехватку памяти и ляжет при первичной обработке файла.
2. feeds не умеют работать с несколькими лентами. Т.е. я не могу задать список урлов, которые нужно грузить, только 1 урл.

Предполагаемые варианты решения.

Инвестиционный калькулятор. Form API + AJAX + amcharts

9 мая 2013 в 12:29

Решил показать как с помощью простых модулей визуализации можно такую скучную вещь как инвестиционный калькулятор сделать красивой.

http://www.eliteinvestgroup.ru/investicionnii-kalkulator

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

Сделано своим модулем с использованием Form API, AJAX Framework + amcharts в качестве визуализатора диаграммы.

Views. Popup Calendar. Материалы за неделю.

22 апреля 2013 в 10:58

Приветствую,

Необходимо выводить материалы за недельный интервал. При этом пользователь не должен вводить интервал, а просто должен кликнуть на неделю (любой день недели) во всплывающем popup calendar.

Подскажите, плиз, как реализовать такое.

Мое предполагаемое решение:

[Решено] Pathauto. Управление транслитерацией. "Каталог" не "Katalog", а "Catalog". Как сделать?

25 марта 2013 в 20:56

Вопрос к понимающим принцип работы pathauto.

Пример:
Есть термин таксономии "Шоколадные батончики", для которого руками прописан алиас "catalog/bars"
Есть товар, который относится к этому термину таксономии, для которого pathauto по шаблону [term]/[node:title] прописывает жуткие пути вида "shokoladnye-batonchiki/batonchik-1".

Как сделать, чтобы pathauto использовал в качестве названия термина при формировании пути материала то, что было прописано для термина и делал бы путь вида bars/batonchik-1 ?

Или вот еще вопрос. Есть словарь Каталог и pathauto превращает его в страшное katalog (используя модуль транслитерации). Как ему объяснить, что некоторые слова нужно переводить как catalog?

Несколько форм на странице. Одна AJAX, другая нет. Обе начинают сабмититься через AJAX. Почему?

13 марта 2013 в 11:33

Приветствую,

Вопрос для гуру.

Есть страница. На нее при клике на ссылку "Войти" грузится стандартная форма форма.
Грузится правильным друпаловским путем, с использованием AJAX Framework. Сама форма сабмитится обычным образом с редиректом.

На этой странице есть еще одна ссылка, которая также грузит форму обратной связи. Вот эта форма сабмитится с использованием AJAX и выводом сообщения, что мол "все отправлено".

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

2. Если открыть эту страницу, нажать на кнопку Обратная связь, отправить форму, а потом попытаться войти, то друпал пытается сабмитить форму входа через AJAX. Естественно это ни к чему не приводит, потому что callback никто не писал.

Как сделать fieldgroup с множеством значений.

21 ноября 2012 в 9:35

Прошу помощи. Как такое сделать?

Есть fieldgroup, например, контакты.

В группе есть поля адрес, телефон, время работы.

Как сделать, чтобы при клике на ссылку, например, "добавить филиал", появлялась еще одна группа полей.

Пока напрашивается решение просто с темизацией вывода полей, но может есть готовый модуль какой? Нужно для каталога организаций, где у одной организации может быть несколько адресов и телефонов.

[РЕШЕНО] В пейджере таксономии слишком много страниц. Только на одной теме.

14 ноября 2012 в 16:06

Поймал странный глюк.

На сайте порядка 2000 материалов, отсортированных по терминам таксономии. Заметил, что в какой бы термин я не зашел, в пейджере показываются все 200 страниц.

Даже если в категории меньше 10 материалов (в таком случае пейджер вообще не должен появляться).

Заметил такое поведение только в собственной теме, в других все нормально.

Ума не приложу, что можно такого в теме понаписать, чтобы пейджер так себя вел.

Может быть есть у кого мысли в какую сторону копать?

Не отображаются некоторые картинки во вьюсе.

29 октября 2012 в 17:58

Приветствую

Такой вопрос. Есть вьюха, выводящая body, title и image.

Аргумент - has taxonomy term.

У одного термина таксономии - все выводится нормально, а у другого термина - не выводятся картинки. Причем в нодах они есть. Ноды идентичные (тип, и т.п.) , соответственно, SQL запросы идентичные. Термины из одного словаря.

Внимание вопрос: почему не выводятся картинки. Может у кого-то было такое? Что делали.

Drupal 7.

Темизация Views AJAX Exposed Filter. Я извращенец или так и нужно делать? ;-)

10 октября 2012 в 12:37

Возникла задача сделать каталог товаров с сортировкой. Товары выводятся с помощью вьюхи, в левой колонке Exposed Filter. При изменении значения фильтра страница обновляется по ajax. Все замечательно работает.

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

Темизировать фильтры и изменить их как бог черепаху - не проблема. Вопрос что делать с AJAX обработчиком.

Возникло следующее решение.
1. Делаем полностью свои фильтры, беря список значений из друпаловских фильтров.
2. Скрываем друпаловские фильтры с помощью css.
3. Биндим на свои фильтры события, что при клике на цвет, например, изменяется значение друпаловского фильтра и ему передается событие change().

[Решено] Drupal Commerce & Views

3 октября 2012 в 11:35

Уважаемое сообщество, прошу помощи, что-то я затупил.

Вопрос по отображению дисплеев товаров Drupal Commerce.

К каждому дисплею (Product Node) прикреплено несколько товаров (Commerce Product). У каждого товара может быть несколько изображений.

Когда я вьюхой вывожу материалы типа Product Node, то он выводит все товары, которые прикреплены к этой ноде. Внимание вопрос, как сделать, чтобы он выводил только первый прикрепленный материал, т.е. чтобы не показывались другие варианты товара.

Поясню.

Товары:
-Футболка желтая
-Футболка красная
-Футболка зеленая

Нода:
-Футболка (К которой прикреплены эти 3 товара).

При выводе вьюхи получается, что выводятся 3 разных картинки футболок, 3 разных цены, но название у всех "Футболка".

[Решено] Поле Entity Reference в зависимости от значения другого поля.

27 сентября 2012 в 11:20

Приветствую общественность!

Толкните, пожалуйста в правильную сторону, может есть готовый модуль (как написать свой знаю).

Есть сайт медицинской тематики.
На сайте есть термины таксономии "Поликлиника".
К этому термину таксономии привязаны материалы типа "Врач".
К этому термину таксономии могут быть привязаны материалы типа "Услуга".
Материалы "Услуга" и "Врач" связываются между собой с помощью Entity Reference.

Вопрос: как можно сделать так, чтобы при создании материала "Услуга" отображались лишь те врачи, которые принадлежат той же поликлинике, в которой создается услуга?

Т.е. список поля Entity Reference должен фильтроваться после того, как выбрано значение в поле Taxonomy Term.

Произвольные темы на сайте для анонимных пользователей

14 сентября 2012 в 10:31

Преамбула

На одном из сайтов появилась необходимость дать пользователям возможность выбирать одну из 2-х тем.
Первая тема - обычная, вторая - для слабовидящих.

С этой задачей отлично справляется модуль Switchtheme

Данный модуль, позволяет переключать темы, передавая имя темы в get запросе вида
www.sitename.com?theme=mytheme

Для авторизованного пользователя все работает нормально. Для анонимуса - тема меняется только для текущей страницы. После перехода на другую страницу, тема сбрасывается на дефолтную.

Тут нужно упомянуть, что сайт еще и кэшируется, что вносит дополнительные трудности.

Решение:

Удобное администрирование мультисайтинга. Как сделать?

8 августа 2012 в 16:13

Приветствую, прошу помощи.

Есть мультисайтинг на 80 сайтов.
Сайты с независимыми базами данных (так было нужно).

Сейчас многие технические моменты решаются с помощью drush, однако он не всемогущ.

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

Также есть вопросы по настройке модулей одновременно на всех сайтах.

Как можно скопировать на одном сайте настройки и разможить их на все 80 сайтов?

Подскажите Модуль для поля объединяющего все медиа поля.

8 августа 2012 в 14:55

Здравствуйте, прошу совета.

Есть тип материала, к которому можно прикреплять картинку, видеозапись или аудио.

Сейчас это реализовано путем добавления 3 различных полей типа Изображение, Video, Audio соответственно.

Подскажите, нет ли модуля, который бы объединял бы эти три поля в одно, и, в зависимости от типа контента, правильно бы рендерил его при выводе ноды, используя соответствующие модули видео и аудио?

Просто пользователи теряются когда много полей ввода.