Как в друпал делать трассировку?

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

Аватар пользователя horizon17 horizon17 22 ноября 2008 в 19:04

Замучался совсем с этим друпалом!!!
Невозможно проследить что откуда вызывается!
Мой отладчик phpED не видит дальше index.
Как отлаживать drupal по нормальному?
Хочу расставить точки останова, и прослеживать весь код!

Ведь немогу же я в каждый файл понатыкать print_r()...

Поставил drupalforfirebug, он на обычном book выдает только
$form->fivestar_form_node_296
$form->search_block_form
и все, непонятно где вызовы функциий node и book ?

Существует возможность пройтись по всему коду, построчно?

Комментарии

Аватар пользователя Demimurych Demimurych 22 ноября 2008 в 20:27

Да

Посмотрите в сторону Zend Studio http://zend.com
либо Komodo http://www.activestate.com/Products/komodo

Еще есть eclipse и xdebug

Вариантов масса. Подозреваю что Вы просто не вполне владете Вашим отладчиком. Проблем с трассировкой быть никаких не должно.

Аватар пользователя kosilko kosilko 23 ноября 2008 в 4:00

"VladSavitsky" wrote:
Разве что-то не работает?

По мне, так там ничего не работает, все время извращаться приходится Smile

Аватар пользователя Demimurych Demimurych 23 ноября 2008 в 18:57

"kosilko" wrote:
По мне, так там ничего не работает, все время извращаться приходится Smile

С ума сойти. Приведите примеры Ваших извращений.

"VladSavitsky" wrote:
Я прощу прощения - а зачем?
Разве что-то не работает?

А вот тут Вы не правы. Изучая АПИ вы (за редким исключением) не сможете составить мнение о том КАК это работает и КАКИЕ решения оптимальны. Тут может помочь только отладчик.

Аватар пользователя kosilko kosilko 25 ноября 2008 в 2:50

"Demimurych" wrote:
С ума сойти. Приведите примеры Ваших извращений

У Вас всё работат как Вам надо? Тогда зачем Вам чужие извращения? Smile

Аватар пользователя Demimurych Demimurych 25 ноября 2008 в 11:19

"kosilko" wrote:
У Вас всё работат как Вам надо? Тогда зачем Вам чужие извращения? Smile

Для того чтобы не множить мифы о том что что то не работает. Или что то нужно делать через задницу.

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

Аватар пользователя kosilko kosilko 25 ноября 2008 в 14:55

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

покажите мне, как сделать валидное меню таксономии. Автоматическое, не ручками. Т.е., создали категорию - имеем новый пункт в меню. Чтобы вывод был согласно темизации, а не напрямую через '<Ul><li>' (был такой сниппет). И что-бы это меню работало банально, так-же, как стандартные меню друпала. И, что-бы ссылки в нем были не catalog/1/2/3/4 (как в taxonomy_menu), а стандартные taxonomy/term/. Дабы, при использовании синонимов проблем не возникало. Решите задачу? А потом мы обсудим степень череззадничности и костыльности Вашего решения Smile

Аватар пользователя Demimurych Demimurych 25 ноября 2008 в 18:50

Smile Хотите сказать - назвался клизмой полезай в жопу.

Пожалуйста:

Пишем свой простенький модуль
Используем hook_menu
в котором делаем taxonomy_get_vocabularies (или какие там вам нужны термины)

получив массив создадим либо алиасы (path_set_alias) на стандартные пути друпала либо описываем свои собственные которые сами хотим.

Нужна темизация?

Делаем простенький блок(или сраницу что Вам там нужно.) который фактически делает тоже самое только создаем свой шаблон (я использую smarty)
$content = _smarty_render(drupal_get_path('module', 'mymodule')."/tpl/mytpl.tpl",$variables);

Не забываем перед этим заполнить массив variables нужными нам данными

в phptemplate шаблонизаторе делается все похоже. только функция называется _phptemplate_render

Нужно разжевывать по строчечно или дальше сами?

На создание и отладку модуля максимум час.

Аватар пользователя kosilko kosilko 29 ноября 2008 в 14:09

скажите, слова "простенький блок/модуль", "максимум час" - это чтобы отмежеваться от слова "извращения" и развеять мифы о том что "что-то не работает" ? Шутко Smile
Вообще, за час с отладкой это сильно. Глядя на код taxonomy_overview_terms я признаюсь, что за час не смогу.
А вообще, я все-таки считаю, что при наличии таксономии, можно было бы реализовать так-же и меню для оной. На уровне поставки. И если тут работы на час, то почему это меню отсутствует в составе Друпала? И если оно отсутствует, то лично я (это мое ИМХО) делаю вывод - да, "что-то не работает"! В данном случае - работает половинчато.

Аватар пользователя penexe penexe 29 ноября 2008 в 14:32

"kosilko" wrote:
И если оно отсутствует, то лично я (это мое ИМХО) делаю вывод - да, "что-то не работает"! В данном случае - работает половинчато.

запомните уже что друпал это не CMS, а фрэймворк

Аватар пользователя kosilko kosilko 29 ноября 2008 в 16:18

"penexe" wrote:
запомните уже что друпал это не CMS, а фрэймворк

http://drupal.org/about
Слово "Content management system" там присутствует. Слова "framework" я там не увидел. В Википедии он тоже позиционируется как CMS. Где мне ещё поискать, чтобы наконец-то запомнить уже?

Аватар пользователя Demimurych Demimurych 29 ноября 2008 в 19:29

"kosilko" wrote:
На уровне поставки. И если тут работы на час, то почему это меню отсутствует в составе Друпала? И если оно отсутствует, то лично я (это мое ИМХО) делаю вывод - да, "что-то не работает"! В данном случае - работает половинчато.

Этого нет потому что не было человека которому бы понадобилось тоже самое, и он не пожалел времени на то чтобы это оформить модулем. Задача Ваша честно говоря мне кажется странной.

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

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

Спор между тем что такое друпал cms или cmf бесперспективный. Потому что дурпал обладает чертами обоих. А произошло это потому что друпал вырос из CMS в CMF.

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