カテゴリ: Drupal
記事投稿日: 2014年2月19日
Drupal 初心者です。PHP が使えるということで
2013年後半から、改修担当に回されて半年ほど。
Drupal のフォームは、CMSというより、
フレームワークに近い作り方だと思います。
たとえば、備考欄「name=etc」を作る場合は以下の通り。
$form['etc'] = array( '#type' => 'textarea', '#title' => 'コメント', '#size' => '50', '#default_value'=> $etc, );
#title を指定すると、自動的にラベルになります。
各項目も、プログラマなら見れば見当がつきます。
が…これは配列の書き方です。
たとえば、同じ CMS の WordPress を使っている方が
見ても、何のことか分からないでしょう。
CMS、CMSと言われるので、Wordpressとつい比較してしまいます。
Wordpress の場合だったら、プラグインとコピペだけで、
お問い合わせフォームを任意のページに設置できるようになり、
実際、1行たりともコードを書かずとも運営できます。
それと比べるのは酷なのでしょうか…?
Drupal では、何であろうと、きっちりPHPのコードを書くので、
CMSというより、フレームワークだな…と思った所以です。
さて、送信ボタンを立体的に仕上げてほしいという
要望の場合、ボタンに ID かクラスを割り振って…と
考えたいとことですが、上記のようにパラメータを指定することは
できないようです。
探してみると、
「prefix」と「suffix」というパラメータが
ありました。使い方は以下の通り。
$form['submit'] = array( '#type' => 'submit', '#value' => t('Advanced search'), '#prefix' => '', '#suffix' => '', );
参考URL: 公式 Form API Reference(英語)
https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/6
↓
上記URLの一覧に、使用できるパラメータが表になっています。
ID やクラスはありません。
先ほどの「prefix」と「suffix」というパラメータを使えば
任意のDIVタグで要素を囲めるので、入れ子にすれば
CSSを適用することができます。
日本語マニュアルは、まだまだ少ないDrupal。
少し変わったことをしようとすると、最終的には英語マニュアルにたどりつきます。
現場で使ってみた感想ですが、正直、日本では
CakePHP ほどは普及しないのではないかと感じています。
WPやMT、EC-CUBEを使っているユーザーが同じ感覚で
Drupal に取り組むと挫折すると思います。
【2014.02.20 追記】
しつこいようですが、Drupal がCMSだという認識に
どうしても納得がいかなかったので、ウィキペディアを見てみたら、
以下の記述が見つかりました。
↓
『その性能がコンテンツ管理から、幅広いサービスや商取引を
可能にするにまで及ぶことから、Drupalは時々
「ウェブアプリケーションフレームワーク」であると評される。』
『Drupalは一般に、最も優れたWeb 2.0フレームワークの
一つであると考えられている。』
やっぱり、フレームワークと認識した方が良いような気がします。
公式サイトのタイトルは「Drupal – Open Source CMS」ですが、
「CMSを作るのに優れたフレームワーク」という意味合いなのかもしれません。
案外こういうところで納得がいかないと学習が進まないので、
すっきりして良かったです。
コメントを残す