top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_1344

Drupal あれやこれや:Drupalの既存の機能を生かし、自由にカスタマイズさせる。これが仮題だな ・・・ 【今日のDrupal】

 2010-05-22
 さて、Drupal サイト構築における 「今日の細ネタ
 記録しておきます。
 【 今日の細ネタ 】
  □フォームテーマ関数でカスタマイズする際、設定では
   配列変数のターゲットを絞って変更する
  □ラジオボタンは案外苦戦。自分なりの方法で
   実現にはこぎつげたのだが・・・
  □実践から教えてもらった develモジュールの便利さ
  この3本です。(んうんがっ・・とと・・?)

  追記に  ▼


◇今日のGoogle(2010/05/22)
今日のGoogle(2010/05/22)
 おぉ!パックマン。
 GANEやらない私でも、これはさすがに
 懐かしいなぁ・・・
 ※「パックマン30周年」なのですね。

FC2ブログランキング にほんブログ村 IT技術ブログ Webサイト構築へ ブログ王ランキング 人気ブログランキング 人気ホームページランキングへ


more

************************************************
◎  Drupal サイト構築における 今日の細ネタ の巻
                :今日のDrupal

************************************************


 ・昨日の記録とおり、今回
  こちらのブログ
  「Theming the register form in Drupal 6
  を参考にさせていただいて、フォームのカスタマイズを
  かなり行いました。基本的には円満解決なのですが、
  少し記録しておかなければ・・・


 ■その1
  フォームテーマ関数でカスタマイズする際、
  設定では 「配列変数のターゲット」を絞って変更する


 

  昨日、最終的に
  ・テーマ関数で定義。
<? 
function *****_theme($existing, $type, $theme, $path) {
return array(
'user_register' => array(
'arguments' => array('form' => NULL),
),
・・・・・
);
}
?>
 した後、設定した関数で
 内容をカスタマイズしたのだけど、

 

   ・参考にしたブログや、Drupalのコアモジュールなどを
    参考にすると、
<?$form['name'] = array(
'#type' => 'textfield',
'#maxlength' => USERNAME_MAX_LENGTH,
'#required' => TRUE,
'#attributes' => array('tabindex' => '1'),
);
$form['pass'] = array(
'#type' => 'password',
'#required' => TRUE,
'#attributes' => array('tabindex' => '2'),
);
?>
 などの書き方がよく目に付く。
    私も最初はこの書き方で、いろいろカスタマイズ
    していた。
    ※主に コメント要素を書き換えたり・・・
     タイトル(名)を変更したり・・・

 

   しかし、これだと 隠れたそれまでの設定が消えてしまう。
[#parents] => Array
(
[0] => name
)

[#array_parents] => Array
(
[0] => account
[1] => name
)

[#input] => 1
[#size] => 60
[#autocomplete_path] =>
[#process] => Array
(
[0] => form_expand_ahah
)

[#name] => name
[#id] => edit-name
[#value] =>
[#defaults_loaded] => 1
[#sorted] => 1

   ・基本のモジュール以外の
    モジュールも利用していて、
   「バリデーション」も含め なるべく
   Drupalの基本的な動きを損ないたくない・・・

 

   で、カスタマイズする部分の設定だけを変更している。
		$form['account']['name']['#title']="アカウント";
$form['account']['name']['#weight']=-46;
$form['account']['name']['#maxlength']=16;
$form['account']['name']['#required']=TRUE;
$form['account']['name']['#description']='<span id=ckmes_area1>※半角英数文字の 8文字~16文字。</span>';
$form['account']['name']['#prefix']='<div class="clearfix">';
$form['account']['name']['#attributes']=array(
'tabindex' => '3',
'title' => 'アカウント をお決めください',
);

 ■その2
  ラジオボタンは案外苦戦。自分なりの方法で
   実現にはこぎつげたのだが・・・

  このあたりの form配列の使い方は、
  □forms_api_reference.html
   こちらに詳しい。


  ただどうしても、「ラジオオプション」がうまく
  実現できなかった。


 

  方法として、
  ・radios を利用した、
<?php
$form['posting_settings']['comment_preview'] = array(
'#type' => 'radios',
'#title' => t('Preview comment'),
'#default_value' => variable_get('comment_preview', 1),
'#options' => array(t('Optional'), t('Required')),
);
?>
 などや
 (こちらはまったく利用できなかった)
  ・radio を指定する、
<?php
$form['needs'] = array(
'#type' => 'radio',
'#title' => t('What is this for?'),
'#value' => 'p',
'#values' => array( 'p' => 'Personal Need', 'b' => 'Business Need'),
'#required' => TRUE
);
?>
 などを知りえたけれども
 うまくゆかぬ。

 

  □結局 私のとった方法とは、
<?php
$form['*****'][] = array(
'#type' => 'radio',
'#title' => 'はい',
'#name' => 'name',
'#id' => 'id1',
'#weight' => -50,
'#description' => '',
'#return_value' => '*****',
'#attributes' => array(
'tabindex' => '1',
'title' => '*****',
),
);
$form['*****'][] = array(
'#type' => 'radio',
'#title' => 'いいえ',
'#name' => 'name',
'#id' => 'id2',
'#weight' => -50,
'#description' => '',
'#return_value' => '*****',
'#attributes' => array(
'tabindex' => '2',
'title' => '*****',
),
);
?>
 このように、同じname で並列設定することだった。
 ・・・一応 これで動いている。

 ■その3
  実践から教えてもらった develモジュールの便利さ
  先の紹介ブログ
  「Theming the register form in Drupal 6」では、
  ・情報取得のために、develモジュール
   の使い方を教えてくれているけど、このモジュール
   本当に便利だ。


   変数の状況を確認するため出力する場合、
   ・print_rvar_dump
    をよく使いますが・・・
    変数の状況を確認するため出力
    こんな感じ。


   devel が入っていると
   ・dsm($form); という使い方ができる。
    とても見やすく、状況を把握できる
    とても見やすく、状況を把握できる。


 なんか、「Joomla」も気になるのだけど、
 まだまだ、手出せないなぁ・・・
 ・Joomla! 1.5.17 [Wojmamni ama woobusani]が公開されました。

commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/1344-fcc54ea5
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。