global $user;
drupal_set_message( "<pre>".print_r( $user, true )."</pre>" );
현재 로그인한 유저의 롤은 $user->roles로 확인 가능하다.
$module_path = drupal_get_path('module', '작성한 모듈명');
...
<img src='".$base_root."/".$module_path."/images/draggable-sample.png' align='absmiddle'/>
global $base_root, $base_url; // $base_url 은 settings.php 에 지정한 경우
<?php
global $user;
// Check to see if $user has the administrator role.
if (in_array('administrator', array_values($user->roles))) {
// Do something.
}
// Check to see if $user has the administrator role.
if (in_array('anonymous user', array_values($user->roles))) {
// Do something.
}
page.tpl.php에 region을 만드는 방법과 node.tpl.php에 region을 만드는 방법은 다르다. node.tpl.php에 region을 만드는 방법은 다음과 같다.
function theme-name_preprocess_node( &$vars ) { if ( $blocks = block_get_blocks_by_region( 'region-name' ) ) { $vars[ 'name-you-want' ] = $blocks; } }
node.tpl.php에서 원하는 위치에 다음과 코드를 추가한다.
<?php print render( $name-you-want ); ?>
드루팔 시스템이나 모듈에서 사용하는 CSS를 제거하려면 template.php 파일에 코드를 추가하면 된다. 예를 들어 메뉴와 관련된 CSS를 제거하려면 다음과 같은 코드를 추가한다.
function themename_css_alter( &$css ) {
unset( $css[ drupal_get_path('module', 'system') . '/system.menus.css' ] );
}
그러나, View나 몇가지 contributed 모듈로 기본 CSS를 제거하고 대체할 수 있다.
theme-settings.php 에 필요한 셋팅들을 정의한다.
<?php
function themename_form_system_theme_settings_alter( &$form, $form_state ) {
$form[ 'jb_settings' ] = array(
'#type' => 'fieldset',
'#title' => t( 'SNS Settings' ),
'#collapsible' => false,
'#collapsed' => false,
);
$form[ 'jb_settings' ][ 'jb_facebook_url' ] = array(
'#type' => 'textfield',
'#title' => t( 'Facebook URL' ),
'#default_value' => theme_get_setting( 'jb_facebook_url' ),
);
$form[ 'jb_settings' ][ 'jb_google_plus_url' ] = array(
'#type' => 'textfield',
'#title' => t( 'Google Plus URL' ),
'#default_value' => theme_get_setting( 'jb_google_plus_url' ),
);
$form[ 'jb_settings' ][ 'jb_color' ] = array(
'#type' => 'select',
'#title' => t( 'Choose Color' ),
'#options' => array( 0 => t( 'Black' ), 1 => t( 'Blue' ), 2 => t( 'Red' ) ),
'#default_value' => theme_get_setting( 'jb_color' ),
);
}
?>
기본값은 info 파일에 둔다. 예를 들어 jb_color
의 기본값을 0
으로 하려면
settings[jb_color] = 0
을 추가한다.
"어떤 것을 완전히 알려거든 그것을 다른 이에게 가르쳐라."
- Tryon Edwards -