本日公開されたOS X 10.9 Mavericksに早速アップグレードしてみました。
今回のアップグレードでは、うれしいことに無料でダウンロードすることができます。
自分の環境ではMac App Storeからダウンロードをしてインストールまでに、およそ1時間くらいかかりました。
一番心配だった、Adobe CCなどソフトの互換性は今のところ問題なさそうです。
システム環境設定のアクセシビリティの設定に変更があったので、TextExpandarやQuickeysの利用にはやや注意が必要です。
Quickeysに関しては2009年以降アップデートがないので、そろそろお別れかもしれません・・・。
「node.tpl.php」などのテンプレートに直接ブロックを表示する方法はいくつかあります。
「サイト構築 > ブロック」で追加したカスタムブロックでは主に下記の3つの方法があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<?php //ブロックID = 1 $block = block_custom_block_get(1); $content = $block['body']; print $content; //または $block = block_load('block', 1); $block_render = _block_render_blocks(array($block)); $block_array = _block_get_renderable_array($block_render); $block_content = drupal_render($block_array); print $block_content; //または $block = module_invoke('block', 'block_view', 1); print render($block['content']); ?> |
最初の「block_custom_block_get()」はブロックIDを引数に渡して、ブロックの情報を取得します。
2番目の「block_load()」はDrupal 7から導入された機能で、やや冗長になってしまい、あまり使いやすくはありません。
3番目の「module_invoke()」はモジュールとしてのblockとして情報を取得します。
2番目と3番目に関してはカスタムブロックのほかに、下記に記述するViewsなどのモジュールでも利用できます。
|
<?php //モジュール = views //viewsの名前 = test //ブロックid = block $block = block_load('views', 'test-block'); $block_render = _block_render_blocks(array($block)); $block_array = _block_get_renderable_array($block_render); $output = drupal_render($block_array); print $output; //または $block = module_invoke('views', 'block_view', 'test-block'); print render($block['content']); ?> |
上記はViewsの場合ですが、モジュール名とブロックのデルタ名(test-block)を引数にとります。
デルタ名は「サイト構築 > ブロック」にアクセスして、該当するブロックの設定ページのアドレスから確認できます。
|
/admin/structure/block/manage/views/test-block/configure |
Viewsの場合「CONTEXTUAL FILTERS」で引数を与えたい場合には、次の「views_embed_view()」で可能です。
|
<?php //viewsの名前 = test //ブロックid = block //引数 = 1 (nidなど) $block = views_embed_view('test', 'block', 1); print render($block); ?> |
Viewsの場合であれば、この方法が最もシンプルで利便性が高いです。
近年は大容量化や同期機能など、充実したサービスを提供しているオンラインストレージ。仕事でも便利に使わせてもらっています。
そんなストレージの中で、使い勝手の良さそうなサービスを10点あげてみました。
オンラインストレージ無料会員の比較
DropboxとSugarSyncは国内でも以前からサービスを提供していて、利用されている方も多いのではないでしょうか。PC用、スホ用アプリもこなれていて、使いやすいです。
Boxは海外では老舗の会社で、Webアプリケーションは良くできているように思います。1ファイルの容量制限が250MBというのがやや残念ですが・・・。
Copyはまだ新しいサービスで、無料会員の容量も15GBと大きいです。また紹介するごとに5GB増えていくのも嬉しいです。
Bitcasaは無料会員だと10GBですが、有料会員では容量無制限という魅力的なサービスです。
自分の環境では、デバイス間のデータの同期用にDropboxを、仕事でファイルを渡す際にはSugarSyncを、バックアップ目的にBitcasaを利用しています。
無料で使えるオンラインストレージの活用方法を考えてみるもの、なかなか楽しい作業です。
Drupal 7では標準でjQuery UIが搭載されていて、一部のモジュールやオリジナルのテーマに利用することができます。
ただjQuery UIのテーマが基本デザインのものなので、サイトのデザインとマッチしないこともあります。
そのような場合には、オリジナルテーマ内の「template.php」に次のように記述することで、自由に変更することができます。
|
function THEMENAME_css_alter(&$css) { if (isset($css['misc/ui/jquery.ui.theme.css'])) { $alter = drupal_get_path('theme', 'THEMENAME').'/ui/jquery.ui.theme.css'; $css['misc/ui/jquery.ui.theme.css']['data'] = $alter; } } |
上記ではオリジナルテーマのディレクトリ内に、「ui」というディレクトリを作成して、ここにjQuery UIのテーマ一式を格納しています。
オリジナルのjQuery UIのテーマの作成には「ThemeRoller」の利用がベターです。
通常はコンテンツタイプの表示の管理で設定した、画像スタイルをもとに「node.tpl.php」テンプレート内で画像を表示します。
|
//すべての画像 <?php print render($content['field_image']); ?> //1番目の画像 <?php print render($content['field_image'][0]); ?> |
この場合では複数毎の画像があったときでも、同じ画像スタイルで表示されます。
もし1番目の画像、2番目の画像で画像スタイルを変えたい場合には、次のような方法で実現できます。
|
//1番目の画像 <?php print theme('image_style', array('path' => $node->field_image['und'][0]['uri'], 'style_name' => 'large')); ?> //2番目の画像 <?php print theme('image_style', array('path' => $node->field_image['und'][1]['uri'], 'style_name' => 'medium')); ?> |
1番目の画像($node->field_image[‘und’][0])に対しては、画像スタイル「large」、2番目の画像には「medium」を、それぞれ指定しています。
たたし、この方法ではrender()関数と違い、画像が無い場合にエラーを出してしまうので、次のように画像の有無をチェックした方が安全です。
|
<?php if (isset($node->field_image['und'][0])) { print theme('image_style', array('path' => $node->field_image['und'][0]['uri'], 'style_name' => 'large')); } ?> |