logo

Dodatni tipovi blokova (EBT) - Novo iskustvo rada sa Layout Builder-om❗

Dodatni tipovi blokova (EBT) – stilizovani, prilagodljivi tipovi blokova: slajdšouvi, kartice sa tabovima, kartice, akordeoni i mnogi drugi. Ugrađena podešavanja za pozadinu, DOM Box, javascript dodatke. Iskusite budućnost kreiranja rasporeda već danas.

Demo EBT moduli Preuzmite EBT module

❗Dodatni tipovi pasusa (EPT) – Novo iskustvo rada sa pasusima

Dodatni tipovi pasusa (EPT) – analogni skup modula zasnovan na pasusima.

Demo EPT moduli Preuzmite EPT module

Scroll

Korišćenje #states u hook_form_alter

22/02/2025, by Анонимни (није потврђен)
Forums

Zdravo. Pokušavam da rešim pitanje implementacije zavisnosti polja u Drupal 7. Iz brojnih pitanja, postalo je jasno da je optimalno u 7. Drupalu koristiti #states, umesto uslovnih polja. Kako se ispostavilo, još jedan problem sa ovim modulom je zavisnost prilikom korišćenja modula multi_step.

U suštini, kako funkcioniše #states, shvatio sam. Ali sam samo razumeo kako to funkcioniše prilikom kreiranja svoje forme hook_form. Međutim, moj zadatak je da prepravim već gotovu formu za dodavanje materijala.

hook_form_ID_FORM_alter

Korišćenje te forme. Pronalazim nizove preko dsm($form);
Ali ne mogu da shvatim kako pravilno definisati zavisnosti.

Recimo, u kreiranoj formi to sam uradio ovako:

<?php $form['radio_type'] = array(
    
'#type' => 'radios',
    
'#options' => array(
      
'0'   => t('Pojavljuje se padajuća grupa'),
      
'1' => t('Ne aktivno polje tekst'),
      
'2'      => t('Nestaju checkbox-ovi'),
    ),
    
'#title' => t('Izaberite akciju')
  );
  
  
$form['grupa'] = array(
    
'#type' => 'fieldset',
    
'#title' => t('Grupa'),
    
'#states' => array(
      
'visible' => array(
        
':input[name="radio_type"]' => array('value' => '0'),
      ),
    ),
  );
?>

 

U funkciji hook_form_alter (za sada pišem u template)
Pokušavam da uradim nešto ovako:

<?phpfunction theme_form_zavedeniya_node_form_alter(&$form, &$form_state$form_id) {
   
dpm($form); 
   
$form['body']['und']['0']['value']['#states']  = array(
  
'invisible' => array(
    
':input[name="field_sity2"]' => array('value' => '56'),
  ),
);
}
?>

 

To jest, radim tako da kada se izabere u polju field_sity2 (link na termin) pri izboru 56. vrednosti nestaje polje body.
U suštini, ništa ne radi. Pokušavao sam na različite načine, ali izgleda da nikada nisam uspeo da to pravilno uradim. Molim za savet.

P.S. Možda biste mogli da preporučite šta koristiti za kreiranje višestepene forme za dodavanje materijala, sa zavisnim poljima. I da u budućnosti, kada se uređuje materijal, može da se uređuje kroz tabove, a ne korak po korak.