РЕШЕНО! Не хочет темизироваться node form ; тип материала - facts (машин. имя)

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

Аватар пользователя iNFerNo iNFerNo 4 декабря 2012 в 14:21
<?php

function mymodule_form_alter(&$form$form_state$form_id) {

    
    if (

$form_id == 'facts_node_form'){
          
     
$form['field_reference_to_fact_the_song'][und][0]['#title'] = 'ttt';

     }

}

?>

что может быть не правильно?

пытаюсь заголовок поля изменить
и описание поля...

Комментарии

Аватар пользователя iNFerNo iNFerNo 4 декабря 2012 в 14:54

структура

print_r($form['field_reference_to_fact_the_song']);

<?php

Array ( 
 [
#type] => container 
 
[#attributes] => Array ( 
                         
[class] => Array ( 
                                      [
0] => field-type-node-reference
                                      
[1] => field-name-field-reference-to-fact-the-song 
                                      
[2] => field-widget-nodereference-url )
                        ) 

 [

#weight] => 4 
 
[#tree] => 1 
 
[#language] => und 
 
 
[und] => Array ( 
            [
0] => Array ( 
                    [
nid] => Array ( 
                    [
#entity_type] => node 
                    
[#entity] => stdClass Object ( 
                                                                  
[uid] => 
                                                                  
[name] => iNFerNo 
                                                                  
[type] => facts
                                                                  
[language] => und
                                                                  
[title] => 
                                                                  [
status] => 0
                                                                  
[promote] => 
                                                                  
[sticky] => 0
                                                                  
[created] => 1354615336 
                                                                  
[revision] => 
                                                                  [
comment] => 

                                                                  

[menu] => Array ( 

                                                                             [

link_title] => 
                                                                             [
mlid] => 
                                                                             
[plid] => 
                                                                             
[menu_name] => main-menu
                                                                             
[weight] => 
                                                                             
[options] => Array ( ) 

                                                                             [

module] => menu 
                                                                             
[expanded] => 
                                                                             
[hidden] => 
                                                                             
[has_children] => 
                                                                             
[customized] => 
                                                                             
[parent_depth_limit] => 
                                                                             
                                                                                    

                                                                             
                                                         ) 

                    [

#bundle] => facts 
                    
[#field_name] => field_reference_to_fact_the_song
                    
[#language] => und 
                    
[#field_parents] => Array ( ) 

                    

[#columns] => Array ( 
                                   
[0] => nid )

                    [

#title] => Reference to fact the song 
                    
[#description] => Выбрать песню для которой будет добавляться факт. 
                    
[#required] =>
                    
[#delta] => 0 
                    
[#weight] => 0 
                    
[#type] => nodereference_url 
                    
[#default_value] => 804 
                        
)
                 ) 

   [

#theme] => field_multiple_value_form 
   
[#field_name] => field_reference_to_fact_the_song 
   
[#cardinality] => 1 
   
[#title] => Reference to fact the song 
   
[#required] => 0 
   
[#description] => Выбрать песню для которой будет добавляться факт. 
   
[#prefix] =>
   
[#suffix] =>
   
[#max_delta] => 0 
   
[#after_build] => Array ( 
                       
[0] => field_form_element_after_build 
   [
#language] => und 
   
[#field_parents] => Array ( )
                        

   [
#access] => 1 


?>
Аватар пользователя iNFerNo iNFerNo 4 декабря 2012 в 15:16

кеш само собой. но все равно не то. может как то не так функцию пишу? форма же это машиное имя типа материала ?

Аватар пользователя nyhm nyhm 4 декабря 2012 в 15:20

Может попробовать другой хук?
Например есть hook_form_FORM_ID_alter
И еще вопрос, вам нужно сменить именно тайтл? Если сайт не мультиязычный - можно сменить через перевод интерфейса. Костыль конечно, но кода меньше, да и быстрее сделать.

Аватар пользователя iNFerNo iNFerNo 4 декабря 2012 в 15:42

тут усложнить нужно.

при добавление материала по ссылке node/add/facts

Один title и описание,

а если нода добавляется по ссылке node/add/facts/522?destination=node/522 - другой title и другое описание.

такое реально прописать в своем модуле?

Аватар пользователя iNFerNo iNFerNo 4 декабря 2012 в 16:10

не знаю это ли нужно ковырять

<?phpfunction drupal_get_origin() {
  /* @var $_SERVER HTTP_REFERER works on our servers. */
  $path = $_SERVER['HTTP_REFERER'];
  if (isset($_GET['destination'])) {
    $path = $_GET['destination'];
  }
  return $path;
}?>