Здравствуйте, уважаемые форумчане!
Может кто сталкивался с такой проблемой: при подключении одновременно 2-х созданных кастомных модулей(drupal 7.34) искажается head и все тэги стилей и скриптов уезжают в тэг body. Сам код модулей никак не влияет, т.е. конфликт возникает при существующих .info файлах. Другие модули и темы никак тоже не влияют на возникновение данного глюка. В хроме и в IE тэг body начинается с вот такой штуки:
body
"
"
style....
....
файерфоксу "хватает ума" скрипты, линки, мета перенести обратно в head
Пробовал по разному составлять инфо файлы - ничего не помогает.
Более того, данная проблема возникает на чистой установке с нуля на друпале с чистой БД.
инфо файлы модулей выглядят вот так:
;$Id:$
name = First
description = Desc.
package = Drupal 7 Other
core = 7.x
files[] = first.module
;dependencies[] =
;php = 5.2
------------------------
;$Id:$
name = Second
description = Desc.
package = Drupal 7 Other
core = 7.x
files[] = second.module
;dependencies[] =
;php = 5.2
Пути:
1-й:
/sites/all/modules/first/first.info
2-й
/sites/all/modules/second/second.info
Если модули подключать по отдельности, то данная проблема не возникает.
Буду очень признателен за полезные советы.
Комментарии
Врятли виновники тут info-файлы. По крайней мере такие как ты описал. Рыть надо темизацию, ибо она и генерит html.
Трудно сказать конкретнее, т.к. конкретного кода нет.
Разобрался! Потратил кучу времени. Может кому-то пригодится, если кто-нибудь встанет на эти грабли. Все дело оказалось в том, что у меня в одном модуле файл с кодом second.module был закодирован в utf-8 с BOM. Кому интересно можете проверить у себя на 7-м Друпале: берете файл с кодом модуля и перекодируете, например, ноутпадом++ в формат utf-8 из uts-8 w/o bom. И, вуаля, Drupal начинает вести себя страннейшим образом(Нарушается DOM-модель документа). Это баг, или это связано как-то с архитектурой друпала? Если баг, тогда надо маякнуть на баг-трекер разрабам.
p.s. С кодировками я не очень хорошо еще разобрался, да и вообще вэб-разработкой недавно занялся, так что заранее прошу прощения, если какие-то очевидные вещи спрашиваю.
Для разработок использую netbeans. Он ругается на "неправильную" кодировку файла (по умолчанию, можно конечно его заставить хавать все).
Спасибо, тоже недавно такой глюк вылезал на самописном модуле. Попробую починить )
Это не баг и не архитектура друпала, а особенность взаимодействия пхп с сетевыми протоколами. Точно такой же эффект может дать пробел или любой другой символ, поставленный перед открывающим тегом пхп, если этот тег стоит в начале файла и сам код отвечает за сессию, переадресацию и т.д. Именно поэтому нужно не полениться, а один раз настроить во всех своих текстовых редакторах по умолчанию кодировку utf-8 без BOM.