С системой тем Drupal вы можете перезаписывать функции тем. Так что если вам не нравится разметка, которую создает theme_box
, вы можете вместо нее сделать my_theme_box
, и Drupal будет использовать эту функцию вместо этого. Дело в том, что для того, чтобы это работало, вы не можете позвонить theme_box
напрямую. Если вы сделаете это, то в вашей теме ваша тема не сможет изменить вывод. Вместо этого вы вызываете theme('box', ...)
, и это скажет Drupal, что это именно та функция, которая вам нужна. Он выяснит, какую функцию вызывать, исходя из того, что доступно. Поэтому, если ваша тема не имеет my_theme_box
, определенная theme_box
будет использоваться вместо нее.