Niklan: Блог

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

Yandex YML — Drupal модуль для генерации Yandex Market Language файла

6 марта 2018 в 7:47
4

Привет. На прошлой неделе появилась задача сделать генерацию YML (Yandex Market Language, не путайте с YAML, у них одинаковые расширения, но разные назначения) на Drupal 8, модулей я под это дело не нашел. Был один заточенный под уберкарт, но он вроде как заброшен, и мне надо генерировать для начала вовсе из нод и любых других источников, вот я и написал соответствующий модуль.

Pushbullet API - пуш-уведомления из Drupal на различные устройства

4 февраля 2015 в 18:44

Pushbullet — что это вообще?

Pushbullet — это такой небольшой сервис, который позволяет отправлять пуш-уведомления на различные устройства: Android, iOS, Windows, Mac OS, Linux и даже браузеры Firefox и Chrome (и все его аналоги). Т.е., грубо говоря даже на холодильник можно послать оповещение, достаточно иметь там Android.
Уже много раз тут поднимались подобные темы, обсуждалось сотни раз, начинали делать, но всё это кануло в небытие так и не дойдя до народа. Поэтому, уже давно обдумав решил перед НГ делать, а не обсуждать, а результат смотрите сами.

Pushbullet API

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

Более подробно можно почитать в моём блоге: http://niklan.net/blog/70
Drupal.org: https://www.drupal.org/project/pushbullet
Видео мини-пример: https://www.youtube.com/watch?v=O1cPGTPJ49Y

Dru.io — сообщество для Друпалеров

11 января 2015 в 17:42


Всем привет! Хочу представить вам своё новое начинание, а именно — Dru.io. Как ясно из заголовка, это попытка хоть как-то возобновить и сконцентрировать хоть где-то русскоговорящее сообщество Друпалеров.

Сразу скажу о судьбе проекта. Им я не претендую заменить Drupal.ru, это совершенно отдельное и самостоятельное начинание. Скажем так, альтернативное сообщество, как каким-то пытался стать DrupalSN, но, к сожалению, он не взлетел. Было много причин его гибели, и большая часть заключалась в его закрытости от обычных людей, т.е. это было сообщество для “шарящих”, а другие идут лесом. В этом был фатальный недостаток, ибо у нас нет критической массы профи Друпалеров чтобы такой проект жил, а делать его доступным принципиально не хотели.

Уже много раз тут поднимались подобные темы, обсуждалось сотни раз, начинали делать, но всё это кануло в небытие так и не дойдя до народа. Поэтому, уже давно обдумав решил перед НГ делать, а не обсуждать, а результат смотрите сами.

Так что Welcome, рады новым разработчикам.

P.s. Если будет спрос, проект продолжу развивать, а если и вовсе заживет своей жизнью, то отделю его в независимый ресурс, а название выберем сами.

Более подробно можно почитать в моём блоге: http://niklan.net/blog/68
Сайт сообщества: http://dru.io/
Мы на GitHub: Репозитарий, обсуждения - присоединяйтесь! Код открыт!

Drupal 8

31 августа 2013 в 11:07

Предлагаю всеми силами собрать в один пост всю самую полезную, нужную и просто интересную информацию по Drupal 8. Сборник предлагаю делать ссылками на годные статьи, а также можно составить список новых\измененных\удаленных фич в Drupal 8.

Что нового

Собираем все интересную инфу об изменениях, в общем ради чего и ждут восьмерку.

  • Новое ядро — новые возможности. Переход на ООП.
  • Новый шаблонизатор.
  • Улучшение мультиязычности. (уже на этапе установки друпал сам предлагает перевести себя на нужный язык)
  • Новый тулбар, а также отретушированная админка.
  • Views, Entity API, CKEditor, Entity Reference в ядре.

[РЕШЕНО] Темизация связей таксономии

30 октября 2012 в 12:51

Всем привет.

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

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

Как быть, в какую сторону копать.

P.s. темизирую ноду в taxonomy-term--[словарь].tpl.php. Удалив оттуда все, все равно выводятся тизеры связанных нод. Соответственно нужен совершенно другой шаблон.

P.p.s Выходит за вывод отвечает taxonomy.pages.inc Как с этим быть.

[СНИППЕТ] Drupal Commerce упрощенная корзина

29 августа 2012 в 16:48

Понадобилось сделать корзину в commerce попроще.

Вид типа N товаров - N руб

В template.php

<?php
function simple_commerce_cart() {
  global 
$user;

  

$order commerce_cart_order_load($user->uid);
  if(!empty(
$order)) {
    
$wrapper entity_metadata_wrapper('commerce_order'$order);
    
$line_items $wrapper->commerce_line_items;
    
$total commerce_line_items_total($line_items);
    
$currency commerce_currency_load($total['currency_code']);
    
$quantity commerce_line_items_quantity($line_itemscommerce_product_line_item_types());
    
$summ commerce_currency_format($total['amount'], $total['currency_code']);

    print 

"{$quantity} товаров - {$summ}";
  }
  else {
    print 
"Ваша корзина пуста";
  }
}
?>

Panels + тизер материала

24 августа 2012 в 18:27

Сегодня довелось попробовать Panels и остался доволен.
Вроде все оформилось на отлично, но вот тизеры материалов я не догнал как оформить.

Пробовал в Selection rules добавить PHP условие: if(teaser), ведь по сути он возвращает TRUE, и должен подхватить, но не работает.
Кто как делал тизеры через panels?

Проблема с фотографиями в commerce

28 мая 2012 в 17:08

Доброго времени суток.

На данном этапе делаю магазин 1 в 1 как Commerce Kickstart, но самостоятельно. Все работает как нужно. Но появилась проблема с картинками.

Стандартно с комерцем идет тип "Продукт". К нему я добавил поле field_product_image тип "Изображение". Все настроил, все работает.

Вывожу таким способом:
<?php<img src="<?php print image_style_url('product_first_photo',$content['product:field_product_image']['#object']->field_product_image['und']['0']['uri']);?>" alt="" />?>

А теперь сама проблема.

В полном типе материала все выводиться нормально, но в тизере, тот же самый код выводит битую картинку.
Вот то что он генерирует в тизере:
<img src="http://shop2:8082/sites/shop2/files/styles/product_first_photo/public" alt="">

[РЕШЕНО] Модуль Locale ложит Apache

25 мая 2012 в 17:16

Доброго времени суток. Такая проблема. Делаю сайт на локалке и решил сделать перевод интерфейса. Включил модуль Locale, все нормально, затем пошел по адресу admin/config/regional/language и сразу вышибает apache.

Нужна помощь с htaccess

20 мая 2012 в 21:40

Доброго времени суток.

На локалке сильно переделал свой проект. В следствии переработки поменялась один тип нод. При это все ноды сохранились. Адреса были доступны по адресу /orange/name а теперь /lemon/name. Как через Rewrite в htaccess сделать правильную переадресацию?

Вывод не статичного uri картинки в commerce

30 апреля 2012 в 16:16

Доброго дня.

В общем есть магазин на коммерце. Делаю темизацию страницы отображения товара product-dispaly.

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

Собственно при выборе другого товара меняется картинка, цена и прочая информация.

В общем вывод этих динамических картинок имеет вид:

<?php if (isset($content['product:field_image'])){
        print 
render($content['product:field_image']);
    }
?>

Commerce: Добавление определенного количества товара

3 апреля 2012 в 19:13

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

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

Есть ли переменные отвечающие за это?

Commerce: Редирект после добавления товара.

24 марта 2012 в 14:08

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

В рулесах такого не нашел.

Ubuntu + Drupal

21 марта 2012 в 11:39

Всем привет. Есть ли на Ubuntu уже решения, такие как Acquia Dev Desktop?
Чтобы не надо было заморачиваться с установкой апча и баз и прочего? Тупо развернул и начал делать.

Темизация форума и Views

10 января 2012 в 18:33

Всем привет.

Решил далеко не ходить и создать на сайте форум используя модуль из коробки. Все получилось но есть небольшая проблемка.

Оформил его как мне нужно при помощи шаблонов:
page--forum.tpl.php, page--node--forum.tpl.php, node--forum.tpl.php

Но не могу понять, как оформить отдельно еще и главную страницу форума /forum. Как только не пробовал и page--forum--front и forums--front ничего не цепляется.

Также есть Views который выводит все материалы одного содержимого. Как оформить не само представление, а именно страницу. Ведь оформлять страницы можно только page--id\node\type. Тоже испробовал много вариантов но безрезультатно.

Date на Drupal 7 ведет себя неадекватно

1 декабря 2011 в 14:16

Создаю поле Date\Date (ISO) текстовое поле, указываю формат ввода H:i. Часовой пояс (можно поставить любой на выбор. Так как варианты UTC и "Не использовать часовой пояс" выводят дату как написано ниже, а "часовой пояс" (нужно указывать) и "Часовой пояс пользователя" накидывают на время лишние 1 час 30 мин)
Ввожу в ноде 10:00.
Во Views ВСЕ варианты показывают 10:00, а в ноде 14:00 (короче он 10 почему-то считает UTC, а так как время на сайте стоит МСК, то он и корректирует по Москву).

Это он багает или я туплю жестко? Помогите.
Я окончательно запутался. Какие только я выводы не пробовал. На данный момент стоит:

<?php print format_date($node->field_time['und']['0']['value'], 'custom''H:i');?>

UPD.
<?php print format_date($node->field_time['und']['0']['value'], 'custom''H:i',$timezone 'Etc/GMT+1');?>
Показывает время по UTC, неужто. Бред конечно.

UTC,Date,Views и часовой пояс

26 ноября 2011 в 14:49

Привет. Суть такова.
У сайта стоит часовой пояс Moscow. Т.е. все постится по Московскому времени.
Каждый пользователь указывает свой пояс. Допустим я тоже указал Москву.
Ноде добавляю текстовое поле Date (ISO), и указываю что часовой пояс брать от пользователя.
Добавляю ноду и пишут стартовое время 10:00, конечное 11:00.
На сайте же выводит 11:30 - 12:30. И это пользователю у которого часовой пояс Москва.
Выхожу из профиля (соответственно анонимам и гостям показывает время по Москве), он также кажет 11:30 - 12:30.
Создал новый акк и указал часовой пояс +2 к Москве. Выводит вообще 14:30 - 15:30.

Что за каша твориться я просто не понимаю.
Вот что хранит в себе переменная:

                                            [value] => 0000-01-01T07:30:00
                                            [value2] => 0000-01-01T08:30:00
                                            [timezone] => Europe/Moscow
                                            [offset] => 9000
                                            [offset2] => 9000
                                            [timezone_db] => UTC
                                            [date_type] => date
                                       

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

Date - ввод только часов

23 ноября 2011 в 20:00

Всем привет. Нужна подсказка. В общем при создании ноды человек должен указать время начала, а также время конца. В нем должно содержаться только "часы". Т.е. начало в 20, конец в 23.
Но при создании поля Date всегда стоит галочка "год" и она залочена. Как сделать так, чтобы нужно было вводить только время. Сделал бы обычными текстовыми, но привязка к часовому поясу очень нужна.

Переменная ничего не выводит

4 ноября 2011 в 19:52

Через нод референц сделал связи.
Пропринтил node, ничего о связи и в помине нету.
Но когда смотрю допустимые параметры через contemplate он предлагает вставить:
<?php print $node->field_engine_reference[$node->language][0]['node']->title ?>
Никак не могу заставить его вывести даже название ноды на которую установлена связь.
Зато из ноды Б на связь с нодой А и прочими смело выводит.

CNR - не работает с множественным значением

4 ноября 2011 в 13:56

Возник такой вопрос по модулю Corresponding node references.

Расскажу на примере ошибку которая возникает.
Допустим есть типы материалов Компания и Продукция
Создал каждому типу материалов связь. Соответственно у материала Компания есть поле для указания связи с материалом Продукция, и наоборот.
Ввожу в материале Компания связь на материал из Продукция и в материале продукция автоматом ставиться связь на компанию. Все ок, все работает.
Но когда разрешено неограниченное количество значений начинает багать.
На более точном примере. Делаю компанию, допустим, Samsung. Добавляю две продукции Телефон и Ноутбук. В материале самсунга указываю в первой связи телефон, во второй ноутбук. Зайдя на страницу ноутбука или телефона в поле связи отлично отображается связь с Samsung. Но когда захожу в редактирование, то эти поля не заполнены и пустые. Если попробовать добавить их самому, все остается по прежнему, но если добавить в телефон компанию Sony, то связи поставленные автоматом слетают.

Читал на д.орге для 6 пофиксили данный баг, но почему он остался на 7, может кто подскажет что?

[РЕШЕНО]Каталог на таксономии

16 августа 2011 в 18:36

Например у меня есть Список таксономии - "Страны".
В нем примерно такая структура:
Россия
- Московская область
-- Москва
-- Москва-2
- Не московская область
-- 1
-- 2
США
- Штат какой-то
-- город какой-нибудь

Допустим я добавил некий материал и указал "Москва".
Данный материал отображается исключительно на странице термина "Москва".
Нужно сделать так, чтобы если я выбрал "Москва", то при заходе на страницу таксономии "Московская область" данный материал отображался тоже. Соответственно тут будут отображаться еще и материалы из "Москва-2".
А Если выбрать "Россия" то отображались материалы всех областей, и их городов.

Решить проблему можно разрешив выбирать несколько терминов. Но хотелось бы, если я выбрал "Москва", то он автоматически попадает и в "Московская область", и в "Россия".

[РЕШЕНО] Блоки Views убирают пейджеры со страниц.

6 августа 2011 в 12:11

Недавно тоже писал что у меня проблема с пейджерами, но тогда я думал проблема в теме, так как бартик бартик их выводил.
Нашел подобную проблему на D.org http://drupal.org/node/1024376
В общем пейджер есть всегда, но если добавить на страницу хотябы 1 блок Views, то он сразу исчезает.
Кто с такой проблемой что делал, явно уже кто-то сталкивался. Я нарвался лишь на эту тему.

На кастомных темах отсутствуют пейджеры

5 августа 2011 в 16:17

Не могу понять где зарыта проблема. Поставил тему с d.org и на нем нету пейджеров (переключения страниц). Поставил его на локалку а там есть. Поставил другую тему, на ней тоже нету, зато на локалке все есть. Причем у бартика есть и на локале и на рабочем сайте.
До этого стояла своя тема, на ней тоже все работало удачно. Возможно где есть настройка с отображением?
Ничего не редактировал отвечающего за вывод материалов.

Glossary выводит первые десять букв

23 июля 2011 в 22:21

Не могу понять где редактируется количество отображаемых букв для филтра в глоссарии.
У меня (на чистом views для 7 версии с использование стандартного глоссария) выводит первые 10 цифр->букв из алфавита по которым есть материал. Далее тупо ничего нет.

Все фильтры перерыл но ничего не нашел.

Обновление базы D7

20 июля 2011 в 21:43

Появилась потребность обновить свою базу D7 на уже работающем сайте.

Потребность в обновлении появилась после перехода с D6 на D7. Сразу не работало верхнее плавающее меню. Но так как оно было ненужно, я не обращал внимания. Потом начали всплывать мелкие баги(не работал Sitemap и pathauto) и все эти косяки были в базе. Приходилось руками править.

Сегодня во время теста Omega всплыл еще один баг с меню. Тема по дефолту выводит ссылки из main-menu, если они отсутствуют то из primary. Но у меня их не оказалось! Хотя нитки к ним остались в блоках и базе.
В общем такой расклад меня не устраивает вовсе, постоянно вылавливать баг за багом. Я чуствую что там косяков еще не мало. Причем не Drupal'a а мои, после апдейта.

Вот и сам вопрос: как проапгрейдить базу сайта так, чтобы остались все ноды, комменты, пользователи и их данны (также поля для профилей), свои типы материалов и т.д. и т.п.? Короче ничего не трогать, а только обнулить все стандартное, типа стандартных меню, блоков. Убрать всякие «нитки» из базы оставшихся не используемых полей, наверняка, от некачественного апдейта с D6 до D7.

Может это не апдейтом базы делается, попробую все способы.