Orion76

user-icon

Orion76 Orion76

Мануал "Начинающему разработчику Drupal" (обсуждение, накопление материала)

Аватар пользователя Orion76
2

Предисловие

За последние лет 15, участились случаи "вопросов" на данном форуме по темам

  • Изучение программирования "на Drupal"
  • Организация процесса продуктивной разработки "на Drupal"
  • ... и еще куча подобных

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

Содержание(в разработке)

  1. Сервер

Где почитать правила публикации топиков, соблюдение которых гарантирует прохождения топиком "модерации"??

Аватар пользователя Orion76

Есть несколько вопросов, решение которых, возможно может оказаться полезным сообществу..
Но алгоритм принятия на публикацию или бан топиков мне не понятен.
До прояснения данного алгоритма, как либо напрягаться в данном направлении не вижу смысла.
И мне почему-то кажется,что я не одинок.

0 Thanks

Custom Config Entity with field-reference to custom config entity

Аватар пользователя Orion76

Есть 2 самодельных типа entity:config

1.Простой.
Поля:
- id
- label
По сути, нужен для составления списка возможных значений для конфига 2.

2.Сложный.
Поля:
- id
- label
- reference
В котором поле reference может принимать значение ID конфига из п.1

Как сделать "по-простому" я знаю:
- делаем поле reference типа - string
- делаем его на форме типа select с нужными опциями
- все

0 Thanks

Миграция drupal.ru с drupal 7 на drupal 8

Аватар пользователя Orion76

Я правильно понимаю, производить миграцию планируется "штатными" плагинами (в т.ч. и source-плагинами) "мигрирующих" контриб-модулей и вспомогательных (migrate_*)?

А не проще, вместо адаптации drupal.ru для миграции, кастомизировать саму миграцию?

0 Thanks

Как найти drupal.ru на github.com??

Аватар пользователя Orion76
1

Не для себя интересуюсь. У меня в репо на github.com форк есть.

Попробовал с главной drupal.ru сообразить, как найти drupal.ru на github.com .

Если это важно для сообщества, должен быть какой-то более простой способ

[задачи] Конкурс решений #1

Аватар пользователя Orion76
2

В продолжении этого топика Скушно живем, господа-товарищи.

Конкурсу решений срочно требуются задачи!

Предисловие.

Для начала определимся, что же такое Решение

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

Скушно живем, господа-товарищи.

Аватар пользователя Orion76
1

Скушно живем, господа-товарищи...
Давайте хоть в "веселые старты" чтоли поиграем?-)

Вкраце идея такова..
1.Собираем задачки по реализации какого-то востребованного функционала.
2.Каждый участник предлагает, свой вариант решения.
3.Выбираем самые лучшие.
4.Складываем их в базу знаний (спец раздел drupal.ru)

Плюсы.
1.Популизация CMS Drupal.
2.Разработчикам - "портфолио" решений, оцененное профессиональным сообществом и заказы на его внедрение.
3.Пользователям - качественные решения с оносительно небольшими затратами.

Разыскивается Drupal-джуниор.

Аватар пользователя Orion76

Для долгосрочного уделенного сотрудничества требуется PHP, Drupal джуниор.

Работать предстоит в небольшой команде.
Разрабатываем ERP-систему.

Подбор кандидата - по результатам выполнения тестового задания (см. ниже)
После приемки тестового задания и утверждения на должность: испытательный срок - месяц.
Зарплата на испытательный срок: 5$ в час.
По прохождении испытательного срока, З.п. устанавливается в соответствии с "продуктивностью" сотрудника, с возможностью дальнейшего увеличения(с ростом продуктивности-)

0 Thanks

Drupal.ru - Доработка комментариев форума

Аватар пользователя Orion76

Имхо конечно, но комментарии форума в том виде как сейчас очень не удобны.
На старой версии сайта drupal.ru список комментариев был "плоский", т.е. комментарии шли друг за другом, новые появлялись в конце.
И чтобы прочитать все новые комментарии, достаточно было перейти к первому новому комментарию.

0 Thanks

Подготовка обновления Drupal 6/7 до Drupal 8

Аватар пользователя Orion76
1

Это перевод статьи из официальной документации с сайта drupal.org .
Источник: https://www.drupal.org/node/2350603
Если мне не показалось, назревают желания и необходимость миграции drupal.ru на следующую версию drupal.
Начать наверное лучше с теории.
Если дело пойдет, переведу остальные материалы по данной теме.

Модуль "exFeedback" - генерация и отправка на сервер скриншота страницы сайта.

Аватар пользователя Orion76

Все смеются над анекдотами про программистов, про то как им надо ставить задачи.
Все.. кроме программистов.

Вот, наваял что-то..
Надеюсь сэкономит время, нервы и добавит ясности.

Посмотреть работу: http://feedback.ti-work.ru/
Страница на github: https://github.com/orion76/exfeedback

0 Thanks

"Книга рецептов" на drupal.ru

Аватар пользователя Orion76

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

А если организовать данный раздел на поддомене на "свежей" версии движка, то можно было бы постепенно переносить "старый" drupal.ru на новую версию движка..

0 Thanks

Модуль рассылки CMC

Аватар пользователя Orion76

Модуль позволяет отправлять смс с сайта через сервис рассылок смс - sms.ru

На данный момент отправляет смс только на один номер, указанный при регистрации на sms.ru
т.к. 60 смс в день на "свой" номер бесплатно.
Впринципе, можно отправлять смс по списку номеров(через запятую), но даная возможность не тестировалась.

Да и зачем делать рассылку по СМС по списку, я пока не придумал.
Тем более подобные рассылки платные.

Единственно, что пришло в голову, как можно использовать:
1.Быстрая регистрация по номеру телефона.
2.Какие нибудь "разовые" пароли.
3.Напоминалка пароля, если "секьюрность" email не достаточна.

Выдержка из readmy:
-----------------------------
Описание:
Позволяет отправлять смс с сайта через сервис рассылок смс - sms.ru

0 Thanks

Интеграция AngularJS в Drupal

Аватар пользователя Orion76

Для одного проекта поданобилось организовать сложную логику на фронт-энде:
Формочки, Подтверждения, Мат.расчеты и т.д.
Так же хотелось бы по простому оптимизировать интерфейсы для мобильных устройств.
Сначало "нашел" JQuery Mobile http://demos.jquerymobile.com/1.4.0/
Но он оказался уж очень "заточен" под mobile, а вставлять "костыли" для адаптации к descktop-версии было влом-)

Как-то нечаянно наткнулся на AngularJS:
Русское сообщество
Глобальное

Краткий анонс:

0 Thanks

Кнопка "Вставка кода" в форме коментариев на drupal.ru странно работает.

Аватар пользователя Orion76

При нажатии на кнопку "Вставка кода" в форме комментирования на drupal.ru , список "языков"
для выбора, отображается далеко внизу..

Пробовал и на Firefox 12 и на Chrom 19

Стили списка(выдача Firebug):

0 Thanks

Помогу задать вопрос гуглу...по Drupal

Аватар пользователя Orion76

Помогу задать вопрос гуглу, по Drupal или запрос поиска модуля на drupal.org..
Принимаются только вопросы:
1.Разъяснение терминов Drupal.
2.Подбор ключевых слов для поиска по конкретным вопросам.

Кто тоже могет... присоединяйтесь-))
PS.. и естественно поиск по drupal.ru-))
PSS Огромная просьба, вопросы формулировать подробно и четко с привязкой к контексту.
Чем понятнее составлен вопрос, тем больше шансов получить на него правильный ответ.
Примеры на данном форуме не раз это доказали..
И наооборот.. И примеров тоже много-)))

0 Thanks

Views , exposed filter по термину таксономии.[РЕШЕНО]

Аватар пользователя Orion76

Толи я туплю, толи я один не вкурсе...
View 2
Экспозед фильтры по терминам таксономии неработают?

ТОвар прикреплен к 4 словарям такосномии.
Надо сделать вьюсом вывод товаров на страницу с экспозед фильтрами по словарям.
Если не фильтр не экспозед, фильтруется нормально...
А если экспозед - даже в sql-запросе view этого условия не наблюдается..

0 Thanks

Правила.Как задать вопрос.Вводная информация

Аватар пользователя Orion76

Посетители drupal.ru, желающие получить помощь по решению проблем при разработке, использовании сайтов на Drupal, часто при публикации вопроса сообщают очень мало информации.

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

На многих форумах, для этого создаются правила, какую информацию должен содержать вопрос.
При задании вопроса не поправилам, посетителя просто шлют по ссылке на страницу с Правилом формулировки воппроса.
И ненадо, блин, по 70 постов выпытывать : какая у него версия Друпал, какой мемори лимит на хостинге, и вкурсе ли он- четакое хтмл.

Если еще короче... Предлагаю сообща составить эти самые правила "предварительной диагностики пациента".

Правила

---------------------------------

1.Квалификация вопрошающего:
- Верстка (css,html)
- Программирование(php,javascript)
- Установка, настройка модулей Друпал
- Темизация
- Разработка модулей
___ ВАШИ ВАРИАНТЫ ___

2.Сайт
- Тематика
- Наличие специфических модулей
- Тема
- Хаки ядра друпал
___ ВАШИ ВАРИАНТЫ ___

3.Вэб-сервер.
- Хостинг
- Сервисы
- Параметры сервисов
___ ВАШИ ВАРИАНТЫ ___

4. Использование поиска.
- Использовался ли поиск для получения информации? (Предложено пользователем Айдар)

0 Thanks

[РЕШЕНО] ubercart, проблемы с анонимами

Аватар пользователя Orion76

Значиться так...
Для тестирования разработок на рабочем серваке сделал полное зеркало рабочего сайта на субдомене.
Рабочий сайт работает отлично.

Хостинг: IT Patrol
Тарифный план: Второй
Сайт: Магазин на Drupal 6, Ubercart 2
вэб-сервер: nginx, apache

При отправке товара в корзину анонимом (с авторизированными все ОК), товар не добавляется в корзину.
Начал выяснять:
- При нажатии кнопки "добавить товар в корзину" отправляется POST-запрос c параметрами товара.
- Купленный товар добавляется в корзину(сохраняется в БД)
- Далее идет переадресацияя(ответ сервера: 302) на корзину (урл_сайта/cart).

Так вот, POST запрос до друпала не доходит(дебажил), пользователя сразу перенаправляет на корзину, которая пуста.
Проверял запросы-ответы отправляемые браузером (Расширение Firefox - HttpFox), показывает что пост-запрос отправляется, на него приходит ответ, далее переадресация на корзину.

Куки браузера пишутся, сессия друпал стартует, кеширование друпал все отключено.
Если я правильно понимаю это проделки nginx? Похоже что запрос при нажатии на кнопку "Добавить в корзину" он выдает из кэша?

0 Thanks

Валидация поля nodereference

Аватар пользователя Orion76

К товару (ubercart) добавлены 2 автодополняемых поля-nodereference,
в форме редактирования товара после сабмита,
при валидации выдает ошибку :Старый код: заголовок ошибочный. Пожалуйста, проверьте свой выбор.
Что соответствует строке

form_error($element[$field_key], t('%name: title mismatch.
Please check your selection.'
, array('%name' => t($field['widget']['label']))));"

функции валидации формы.

Вот , собственно, функция валидации автокомплит-nodereference-поля из
подмодуля CCK - nodereference Drupal 6
Смотрите комментарии, начинающиеся на "!!!" ....

/**
 * Validate an autocomplete element.
 *
 * Remove the wrapper layer and set the right element's value.
 * This will move the nested value at 'field-name-0-nid-nid'
 * back to its original location, 'field-name-0-nid'.
 */

function nodereference_autocomplete_validate($element, &$form_state) {
  $field_name = $element['#field_name'];
  $type_name = $element['#type_name'];
  $field = content_fields($field_name, $type_name);
  $field_key  = $element['#columns'][0];
  $delta = $element['#delta'];
  $value = $element['#value'][$field_key];
  $nid = NULL;
 
// !!! $value= G 052195M2 Масло оригинальное Longlife III VW 5W30 1 литр [nid:62]

  if (!empty($value)) {

// !!! Здесь для чего-то ищется предыдущее значение поля (связанная нода),
// !!! и если значение имеется, то из $value убирается model(SKU) товара
    if(module_exists('uc_product')){
        $n=node_load($form_state['values']['nid']);

0 Thanks