Jak mogę ukryć pole podczas tworzenia węzła, ale wyświetlać je podczas edycji trybu?
Jak mogę ukryć pole podczas tworzenia węzła, ale wyświetlać je podczas edycji trybu?
Odpowiedzi:
Jeśli rozumiem twoje pytanie, myślę, że możesz użyć niestandardowego modułu (w tym przykładzie nazwa modułu to test_remove_field
) i dołącz następujący kod:
function test_remove_field_form_alter(&$form, &$form_state) {
if (arg(0) == 'node' && arg(1) == 'add') {
$form['field_test']['#access'] = 0;
}
}
Uwaga: pamiętaj, że field_test
musi to być Twoja nazwa pola.
Pole Uprawnienia Moduł pozwala na ustawienie uprawnień na poziomie pola:
Możesz użyć tych opcji, aby włączyć uprawnienie oparte na rolach dla pola.
Gdy uprawnienia są włączone, domyślnie odmawia się dostępu do tego pola i należy nadać wyraźne uprawnienia odpowiednim rolom użytkownika ze strony administracyjnej uprawnieniami. Z drugiej strony, gdy te opcje są wyłączone, uprawnienia do pola są dziedziczone z widoku treści i / lub uprawnień do edycji. Na przykład użytkownicy, którzy mogą wyświetlać określony węzeł, będą mogli także wyświetlać to pole i tak dalej.
Uprawnienia terenowe
Użyłbym hook_form_alter () i ustawić ['#access']
właściwość FALSE
podobnie jak odpowiedź przez @ moon.watcher.
Jeśli korzystasz z Drupal 6, potrzebujesz do tego modułu. W Drupal 7 możesz wywołać hook_form_alter () ze swojego szablonu.
Jest to przypadek użycia modułu obsługi formularza reguł - https://www.drupal.org/project/rules_forms .
Dodatki zawarte:
- Aktywuj zdarzenia w celu tworzenia, sprawdzania poprawności i przesyłania formularzy według formularza.
- Kieruj reklamy na poszczególne elementy formularza lub cały formularz w warunkach i działaniach. Manipuluj atrybutami elementu formularza, takimi jak tytuł, opis, waga i inne.
- Sprawdź poprawność wartości elementów formularza podczas sprawdzania poprawności formularza.
- Ustaw błędy formularza, gdy nie powiedzie się sprawdzanie poprawności oparte na regułach.
- Przekieruj użytkowników na inną stronę po wyświetleniu lub przesłaniu formularza.
- Zbadaj atrybuty elementów w aktywnych formularzach za pomocą narzędzia kontroli elementów.