Курс по Drupal

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

Аватар пользователя aleshaboy aleshaboy 12 февраля 2014 в 20:46

Посещал кто нибудь курсы по Drupal в "Специалист" http://www.specialist.ru/course/drupal2 ? Интересует качество полученных знаний с этого курса. Просто есть книга CMS Drupal 7 Тодд Томлинсон , там есть информация про модули и т.д. (меня больше интересует получения опыта разработки своих модулей). И вот по книге много вопросов что да как, а описания той или иной функции, класса и т.д. и т.п. попросту нету. Вот интересно как на этих курсах в Специалисте преподносят информацию. Возьмем к примеру что я не знаю как мне получить все заголовки нод в своем модуле, мне там объяснят нюансы разных hook'ов или там на всем курсе будет 10-20 хуков, а остальные скажут ищите на api.drupal ? (ясно и понятно что все хуки не будут обьяснять, хотя бы основные, часто используемые)

Комментарии

Аватар пользователя roman-yrv roman-yrv 12 февраля 2014 в 23:09

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

Плюс много хороших блогов в помощь.

Аватар пользователя aleshaboy aleshaboy 13 февраля 2014 в 0:12

roman-yrv wrote:
Посмотрел на оглавление тем в курсах. По моему, книги Тодда Томлинсона хватит с головой, чтобы это же самое пройти самостоятельно.

Плюс много хороших блогов в помощь.

Да и в блогах не часто встретишь хорошей и понятной новичку информации. Я вот пытался понять с hook_menu(). Параметр page callback - функция вывода веб страницы...какой страницы, чего от меня хотят..не ясно..в книге 'page callback' => 'drupal_get_form'. Что за друпал гет форм...а мне надо чтобы функция вернула страницу как при посещении ссылки меню какова нибудь другого модуля, типо отдельная страница...у меня почему то вызывается просто пустая страница без всего, только мой текст 'Hello World!' Sad

Аватар пользователя roman-yrv roman-yrv 13 февраля 2014 в 9:01

Здесь имеется в виду следующее.
Бывает, что на сайте нужно, чтобы были страницы с определенными адресами, например, http://site.ru/aaa/bbb/ccc и определенным содержимым, которое нужно выводить по этим адресам.
То есть, это будет не содержимое ноды и не views.
Вот как раз для определения таких страниц и определенного содержимого и служит hook_menu.
Причем, один hook_menu может задавать не одну, а множество страниц, если адрес задан как aaa/%/bbb или aaa/%bbb/ccc. Об этом рассказывается в книге, почитайте.
Выводимое содержимое задается через page callback
В Вашем случае через drupal_get_form должна выводиться форма, а структура формы должна пересылаться как page arguments.

То есть, по сути, hook_menu - некий аналог контроллеров в MVC-приложениях.

Аватар пользователя aleshaboy aleshaboy 10 ноября 2015 в 11:49

roman-yrv wrote:
Здесь имеется в виду следующее.
Бывает, что на сайте нужно, чтобы были страницы с определенными адресами, например, http://site.ru/aaa/bbb/ccc и определенным содержимым, которое нужно выводить по этим адресам.
То есть, это будет не содержимое ноды и не views.
Вот как раз для определения таких страниц и определенного содержимого и служит hook_menu.
Причем, один hook_menu может задавать не одну, а множество страниц, если адрес задан как aaa/%/bbb или aaa/%bbb/ccc. Об этом рассказывается в книге, почитайте.
Выводимое содержимое задается через page callback
В Вашем случае через drupal_get_form должна выводиться форма, а структура формы должна пересылаться как page arguments.

То есть, по сути, hook_menu - некий аналог контроллеров в MVC-приложениях.

Спасибо. Но если не сложно можно я один пример приведу.
Вот hook_menu из книги:

function formexample_menu() {
$items['formexample'] = array(
'title' => 'View the sample form',
'page callback' => 'drupal_get_form',
'page arguments' => array('formexample_nameform'),
'access callback' => TRUE,
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function formexample_nameform() {
$form['user_name'] = array(
'#title' => t('Your Name'),
'#type' => 'textfield',
'#description' => t('Please enter your name.'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
}

И перейдя по адресу на локалке http://m.m/formexample (рис. form.png) получается такая страница.
А как сделать так чтоб была страница с настройками моего модуля как на рис. form2.png - то есть как бы в своей обертке. Это надо тематезировать или что?))

Аватар пользователя roman-yrv roman-yrv 13 февраля 2014 в 14:42

Вот, например, рассказывается здесь
http://www.thecarneyeffect.co.uk/themeing-form-table-draggable-rows-drup...
http://xandeadx.ru/blog/drupal/147

А лучше всего - посмотреть, как реализовано в исходниках
Смотрите, по какому адресу эта форма отображается, далее по этому адресу поиском находите функцию hook_menu и смотрите её код.

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

И еще совет.
Когда пишите код в форуме, то обрамляйте, пожалуйста, его <code></code>
Чтобы было более читабельно:

$items['formexample'] = array(
'title' => 'View the sample form',
'page callback' => 'drupal_get_form',
'page arguments' => array('formexample_nameform'),
'access callback' => TRUE,
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function formexample_nameform() {
$form['user_name'] = array(
'#title' => t('Your Name'),
'#type' => 'textfield',
'#description' => t('Please enter your name.'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
Аватар пользователя aleshaboy aleshaboy 13 февраля 2014 в 0:54

RxB wrote:
За такую цену и я любую бабушку могу научить друпалу

Больше интересует полезные это курсы, если смысл на них записаться. Или там тяп ляп на отьебись учат...вот что интересно!

Аватар пользователя VasyOK VasyOK 13 февраля 2014 в 0:53

"Курс рассчитан на уверенных web-программистов, имеющих опыт сборки сайтов на CMF Drupal и имеющих хорошее представление об этом фреймворке. Также слушатель должен знать PHP и MySQL на уровне уверенного разработчика"
Хренатень кароче.

Аватар пользователя Ziklon Ziklon 13 февраля 2014 в 13:26

ttenz wrote:
есть очень неплохая книга - Drupal 7 Development by Example Beginner's Guide Kurt Madel

Хочу напомнить что скоро выйдет Drupal 8 и там все уже по другому. Потому не вижу смысла в изучении 7 сейчас.

Аватар пользователя aleshaboy aleshaboy 13 февраля 2014 в 13:55

ttenz wrote:
есть очень неплохая книга - Drupal 7 Development by Example Beginner's Guide Kurt Madel

Жаль что с англ у меня не очень)) А так я спрашивал, искал и сделал один вывод - в России беда то ли с людьми, все только для себя, либо с финансами. Даже модули делают только для себя, не для народа. На drupal.org наверно 5% русских,украинцев выкладывают модули Biggrin

Аватар пользователя webpavilion webpavilion 13 февраля 2014 в 8:32

Если можете организовать себе курсы бесплатно, через работодателя или ЦЗН (центр занятости населения) то стоит походить. А если за свои то лучше найти себе опытного наставника и за $15-25 получать консультации по сложным и непонятным для вас моментам.

Аватар пользователя aleshaboy aleshaboy 13 февраля 2014 в 13:56

webpavilion wrote:
Если можете организовать себе курсы бесплатно, через работодателя или ЦЗН (центр занятости населения) то стоит походить. А если за свои то лучше найти себе опытного наставника и за $15-25 получать консультации по сложным и непонятным для вас моментам.

Вот это хороший план действий. Только вот жаль рядом ни кто не живет. По скайпу наверно будет как сломанный телефон ))

Аватар пользователя ttenz ttenz 13 февраля 2014 в 13:36

"Ziklon" wrote:

предположим к декабрю выйдет ~ 1 год, обнаружится куча непоняток - к декабрю распишут как с ними бороться + 1 год, ну и +1 год пока такую книжку напишут. не надо гнаться за новизной, вопрос насколько стабилен/изучен/облизан/расписан инструмент.

сами креаторы - обновились до 7, только после дев 8.

потихоньку изучать 8 конечно надо, но без фанатизма.

Аватар пользователя roman-yrv roman-yrv 13 февраля 2014 в 13:46

Да, тем более, версия 8 получается более сложная и более громоздкая, да и для версии 7 будет развиваться какой-то форк.

Аватар пользователя ttenz ttenz 13 февраля 2014 в 13:57

"aleshaboy" wrote:
в России беда то ли с людьми, все только для себя, либо с финансами

это особенности совкового менталитета.

п.э. учи английский.

Аватар пользователя ttenz ttenz 13 февраля 2014 в 13:59

"aleshaboy" wrote:
Жаль что с англ у меня не очень

есть очень хорошая книга на русском - Мелансон Б., Нордин Д., Луиси Ж. и др. - Профессиональная разработка сайтов на Drupal 7 (Для профессионалов) - 2013

Аватар пользователя aleshaboy aleshaboy 13 февраля 2014 в 14:12

ttenz wrote:
"aleshaboy" wrote:
Жаль что с англ у меня не очень

есть очень хорошая книга на русском - Мелансон Б., Нордин Д., Луиси Ж. и др. - Профессиональная разработка сайтов на Drupal 7 (Для профессионалов) - 2013

Спасибо, скачал. Сегодня надо по читать. И вообще по моему такие нормальные книги в Москве только можно купить на ozone. В разных книжных был, там беда вообще.

Аватар пользователя organizm organizm 13 февраля 2014 в 14:03

"ttenz" wrote:
есть очень хорошая книга на русском - Мелансон Б., Нордин Д., Луиси Ж. и др. - Профессиональная разработка сайтов на Drupal 7 (Для профессионалов) - 2013

Да, я по этой книге сам начинал учить. Для начала самое оно, а далеше api.drupal.opg + ковыряние в чужих модулях (в смысле разбираться как люди пишут) +google + усидчивость и терпение Smile