Ответ Грэма объясняет, что происходит, но вот как вы можете это исправить.
Но сначала предостережение : вам действительно следует избегать написания PHP в веб-интерфейсе Drupal, где он хранитсяв базе данных.Это очень небезопасно (нужно быть очень осторожным с разрешениями сайта), и вы не пользуетесь контролем версий.Попробуйте написать свои собственные небольшие модули / темы, чтобы выполнить работу PHP.
Если вы установили свой WYSIWYG с помощью модуля WYSIWYG , вы можете назначить отдельную конфигурацию вашего WYSIWYG для каждогоФормат ввода.Убедитесь, что для формата ввода «PHP code» не назначен WYSIWYG, и вам не придется беспокоиться о «Включено» или «Отключено» по умолчанию.Тем не менее, когда вы начинаете кодировать в PHP в текстовом поле, вы не можете переключаться назад и вперед между кодом PHP и форматом ввода, который запустит WYSIWYG. Это позволит экранировать символы PHP как объекты HTML,как сказал Грэм, и уничтожит ваш код (у меня был клиент, который делал это с моим PHP-кодом в блоке, что является еще одной причиной не писать PHP внутри самого пользовательского интерфейса сайта).
Если вы используете Модуль «Лучшие форматы» Вы можете назначить Формат ввода по умолчанию для каждой роли пользователя, которую вы определили на своем сайте.Это то, что я делаю, чтобы полностью избежать ситуации.Когда я хочу сделать PHP-кодирование внутри Drupal, я использую роль, которая по умолчанию использует формат ввода, который не включает мой WYSIWYG, поэтому я знаю, что никогда не буду случайно открывать узел / блок с помощью PHP и автоматически уничтожать егоредактором WYSIWYG.