Отказ от ответственности: Я унаследовал сайт Drupal 7.44, не имеющий опыта работы с Drupal.Как связать шаблон Drupal с веб-формой с несколькими средами?
Бизнес пытается создать новую веб-форму, и они хотят, чтобы она выглядела точно так же, как и существующая. Осмотревшись, я обнаружил, что веб-форма имеет привязанный к нему шаблон. Из документов мне кажется, что я должен создать больше файлов шаблонов в формате webform-form-[nid].tpl.php
, где [nid]
- это идентификатор узла веб-формы.
У нас есть несколько условий, в которых все изменения должны пройти - dev, test и, наконец, prod. Разве идентификатор узла не будет отличаться в каждой среде для вновь созданных веб-форм? Кроме того, если я хочу применить один и тот же шаблон к нескольким веб-формам, действительно ли мне нужно создать несколько одинаковых файлов шаблонов?
Я также нашел стилизацию CSS для существующей веб-формы, и она выглядит как .webform-client-form-25 button.webform-submit
и т. Д. Это 25 является идентификатором узла. У меня мало опыта работы с CSS, но это очень плохо. Я не хочу копировать блоки CSS, изменяя идентификаторы узлов снова и снова. Каким образом можно назначить общие, многоразовые классы CSS для веб-форм? Я видел «Пользовательские классы» в разделе «Управление отображением» при редактировании формы, но, похоже, не изменил фактический HTML-код формы. Был ли я на правильном пути, должен ли я просто прочитать некоторые документы об этом?
Спасибо, это помогает! Похоже, мне все-таки нужно знать, что форма формы раньше времени. Это верно? Таким образом, нет способа предоставить шаблон, который может быть повторно использован бизнес-пользователями для будущих веб-форм. Кажется, что это немного контр-интуитивно понятно, обычно вы думаете о шаблоне как об общей вещи, на которой может основываться новый конкретный экземпляр. – Egor
Извините, я думаю, что я имел в виду, что классы CSS не могут быть заранее заданы. Похоже, что шаблоны МОГУТ быть сделаны универсальными с помощью предложений по темам, если я игнорирую CSS или найду другой способ сделать это в стороне от формы alter hook. – Egor
Ну, есть способы обойти необходимость знать заранее, но он не предоставляется самой Webform. Через пользовательский интерфейс Drupal вы можете добавить поле выбора к типу содержимого веб-формы, в котором вы выбираете «тип» веб-формы. Затем вы можете создать предложение темы, основанное на значении этого поля. Таким образом, вы можете создавать различные веб-формы, принадлежащие определенному типу, и с помощью предложения темы использовать шаблоны типа 'webform-form- [type] .tpl.php'. Поэтому вместо проверки идентификатора формы вы должны проверить поле типа веб-формы. – Paul