(Решено) Как правильно указать несколько типов в функции? (код внутри)

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

Аватар пользователя artemrrr artemrrr 10 февраля 2014 в 18:06

Мне нужно применить эту функцию к нескольким типам материала - а именно к формам создания нод (к трём). Читал мануал.. но что то не выходит. Вот рабочая функция..но только для формы создания 1-го материла.

<?php
function моя..тема_form_мой..тип1_node_form_alter(&$form$form_state$form_id) {
      global 
$theme_path;
      
$form['#attached']['css'] = array($theme_path '/css/мой..стиль.css');
      
drupal_add_css($theme_path '/css/мой..стиль.css');
  }
?>

Пробовал вот так, но не работает..

<?php function моя..тема_form_мой..тип_node_form_alter(&$form$form_state$form_id) {
    if (isset
$form['type']->type) && in_array($form['type']->type, array('мой..тип1''мой..тип2''мой..тип3'))) {
      global 
$theme_path;
      
$form['#attached']['css'] = array($theme_path '/css/мой..стиль.css');
      
drupal_add_css($theme_path '/css/мой..стиль.css');
    }
  }
?>

Комментарии

Аватар пользователя artemrrr artemrrr 10 февраля 2014 в 18:41

"RxB" wrote:

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


100% - правда. Просто у меня дилемма, хочу уже наконец доделать свой сайт, но и PHP изучать нужно, вот и занимаюсь по переменно, кстати многие вещи освоил и сделал сам, но есть места где туго., как это..

Аватар пользователя Inj Inj 10 февраля 2014 в 18:41

на первый взгляд скобки не хватает после isset
давно не копался в создании нод, но

"artemrrr" wrote:
моя..тема_form_мой..тип_node_form_alter

в рабочем примере задан тип конкретной ноды, а тут что за "мой..тип"?

Аватар пользователя artemrrr artemrrr 10 февраля 2014 в 18:59

Рабочея функция цепляет мой стиль к форме создания материала (но только к одному типу материала)
а мне нужно подключить этот стиль к формам создания трех материалов)
Конечно можно тупо продублировать эту функция в template для формы каждого типа материала, но это топорно, ведь есть in_array

p.s. Чувствую что я и аттач в рабочем коде неправильно применил (не смотря на то что он работает).

Аватар пользователя drupby drupby 10 февраля 2014 в 18:57

"artemrrr" wrote:
Конечно можно тупо продублировать эту функция в template для формы каждого типа материала, но это топорно, ведь есть in_array

ну так имплементируй hook_form_alter и там пиши условия