Странное поведение созданных модулей(конфликтуют)

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

Аватар пользователя ivandolvich ivandolvich 15 декабря 2014 в 22:50

Здравствуйте, уважаемые форумчане!
Может кто сталкивался с такой проблемой: при подключении одновременно 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

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

Комментарии

Аватар пользователя erikson erikson 16 декабря 2014 в 12:00

Врятли виновники тут info-файлы. По крайней мере такие как ты описал. Рыть надо темизацию, ибо она и генерит html.
Трудно сказать конкретнее, т.к. конкретного кода нет.

Аватар пользователя ivandolvich ivandolvich 16 декабря 2014 в 12:57

Разобрался! Потратил кучу времени. Может кому-то пригодится, если кто-нибудь встанет на эти грабли. Все дело оказалось в том, что у меня в одном модуле файл с кодом second.module был закодирован в utf-8 с BOM. Кому интересно можете проверить у себя на 7-м Друпале: берете файл с кодом модуля и перекодируете, например, ноутпадом++ в формат utf-8 из uts-8 w/o bom. И, вуаля, Drupal начинает вести себя страннейшим образом(Нарушается DOM-модель документа). Это баг, или это связано как-то с архитектурой друпала? Если баг, тогда надо маякнуть на баг-трекер разрабам.
p.s. С кодировками я не очень хорошо еще разобрался, да и вообще вэб-разработкой недавно занялся, так что заранее прошу прощения, если какие-то очевидные вещи спрашиваю.

Аватар пользователя erikson erikson 16 декабря 2014 в 16:08

ivandolvich wrote:
был закодирован в utf-8 с BOM.

Для разработок использую netbeans. Он ругается на "неправильную" кодировку файла (по умолчанию, можно конечно его заставить хавать все).

Аватар пользователя gun_dose gun_dose 16 декабря 2014 в 14:13

"ivandolvich" wrote:
Это баг, или это связано как-то с архитектурой друпала?

Это не баг и не архитектура друпала, а особенность взаимодействия пхп с сетевыми протоколами. Точно такой же эффект может дать пробел или любой другой символ, поставленный перед открывающим тегом пхп, если этот тег стоит в начале файла и сам код отвечает за сессию, переадресацию и т.д. Именно поэтому нужно не полениться, а один раз настроить во всех своих текстовых редакторах по умолчанию кодировку utf-8 без BOM.