Drupal 7でブログやニュースなどの記事一覧で、月別アーカイブを設置することがあります。
Viewsではデフォルトでこの機能が搭載されていて、「contextual filter」の作成年月のフィルターをかけたブロックを作成することで実現できます。
標準の月別アーカイブブロックは、次のように表示されます。
月が始めにくる英語圏に合わせた表記なので、日本語サイトでは違和感があります。
「2014年 8月」のように順番を逆にするには、Views内の設定画面では行えず、Views自体のモジュールを変更する必要があります。
将来的なモジュールのバージョンアップを考えると、モジュール本体に手を加えるのは避けたいところです。
他の方法としては、Viewsで作成されたブロックのテンプレートファイルを修正する方法もあります。
下記はシステムデフォルトのブロックテンプレートファイル(modules/block/block.tpl.php)です。
|
<div id="<?php print $block_html_id; ?>" class="<?php print $classes; ?>"<?php print $attributes; ?>> <?php print render($title_prefix); ?> <?php if ($block->subject): ?> <h2<?php print $title_attributes; ?>><?php print $block->subject ?></h2> <?php endif;?> <?php print render($title_suffix); ?> <div class="content"<?php print $content_attributes; ?>> <?php print $content ?> </div> </div> |
このテンプレートファイルをお使いのテーマディレクトリにコピーして、Viewsの月別アーカイブブロックに合わせてファイル名を書き換えます。
例えば「news」という名称のViewsで「block-1」の場合には「block–views–news-block-1.tpl」というファイル名に変更します。
テンプレートのファイル名を変更することによって、月別アーカイブでのみ使用するブロックとなります。
この中の「<?php print $content ?>」という部分がブロックの本文になります。
今回はブロック本文を正規表現で「8月 2014」を「2014年 8月」に書き換える処理を施します。
|
<?php print $content ?> //次のように変更します <?php print preg_replace('/<a\s(.*?)>(.*?)\s(.*?)<\/a>/', '<a $1>$3年 $2</a>', $content); ?> |
上記の変更により、月別アーカイブの表示が次のようになります。
- 2014年 8月
- 2014年 7月
- 2014年 6月
CSSで注釈などのテキストの一行目だけを、一文字分出したいときのメモです。
|
p.indent { text-indent: -1em; padding-left: 1em; } |
テキスト全体を「padding-left」で一文字分下げて、「text-indent」にて一行目のテキストのみ一文字分、前にずらしています。表示は次のようになります。
※注釈のテキストが入ります。注釈のテキストが入ります。注釈のテキストが入ります。注釈のテキストが入ります。注釈のテキストが入ります。注釈のテキストが入ります。注釈のテキストが入ります。注釈のテキストが入ります。注釈のテキストが入ります。注釈のテキストが入ります。
オンラインノートの「Springpad」が2014年6月24日をもって終了となりました。
この分野ではEvernoteが有力ですが、Springpadも独自性があって、使っていても楽しいツールでした。
Springpadに変わるサービスが、有料であってもいいので登場してほしいところです。
Web制作ではこれまでずっとMacで行っていますが、使っているアプリケーションの制作環境は少しずつ変わってきました。
2010年当時は、こんなラインナップでした。今でも使い続けているものもありますが、便利さなどを判断して違うアプリケーションに置き換えたものも多いです。今現在の自分のWeb制作環境をご紹介します。
Web開発でメインで使っているテキストエディタです。Macらしいインターフェイスで軽快に動作するところが気に入っています。ほかのテキストエディタ同様にEmmetを導入することで生産性がぐっと上がります。唯一の不満点をとしては、ウィンドウ分割ができないところでしょうか。以前はCodaをメインにしていましたが、動作が少し重いのとタブのデザインが好みでなかったので、最近ではあまり使わなくなりました。
ベクターベースのグラフィックツールです。デザインカンプの作成や、画像パーツの作成・スライス処理など、日常的に活用しています。こちらも以前はFireworksで行っていた作業でしたが、CS6をもってFireworksの開発が終了したのを機に、思い切ってIllustratorに移行しました。最近はIllustratorによる作業にも慣れて、改めてその多機能さに感心しています。もっと使いこなさないと。
画像の編集、Web用の書き出しにはPhotoshopを使っています。サイズの縮小などによるリサンプリングはやはり一番きれいです。
MacでApache、MySQL、PHPなどを、ローカル環境で利用できるようにするためのパッケージです。このアプリケーションもWeb開発では必須ではないでしょうか。自分はGUIで細かく設定できるMAMP PROの方を使っています。
ファイルブラウザ&FTPクライアントです。このアプリケーションも長く使い続けているものの一つです。Finder自体もタブに対応したり進化していますが、ForkLiftではデュアルパネルがあって、さらに便利です。
オンラインノートアプリです。Webで見つけた情報のスクラップや、制作の中のちょっとしたメモなどに重宝しています。忘れてしまいがちな情報を記録することは大事だと感じるこのごろです。
オンラインストレージです。デバイス間でのデータの同期ができるので、デスクトップで行っている作業を場所を変えてノートで行ったりと、ワークスタイルの幅が広がりました。データ自体のバックアップという意味でも安心につながります。
Windowなどの仮想マシンを構築できます。サイトの動作検証にも十分なので、Windows実機に触れる機会はますます減りました。
文章を書くことに特化したテキストエディタです。マークダウンにも対応しているので、ちょっとしたアウトライン作成に活用しています。
テキストの入力補助アプリケーションです。短い文字列を入力入力することでスニペットを展開して入力することができます。よく使うHTMLタグやjQueryのコードをあらかじめ登録しておくことで、素早いコーディングが可能です。
上記のTextExpanderでは入力を目的としたスニペットですが、こちらはある程度長いコードをストックするためのアプリケーションです。汎用的なスクリプトを再利用するために、残しておくようにしています。
プログラミング言語のリファレンスとスニペット管理アプリケーションです。膨大な種類の言語のリファレンスが用意されていて、高速に検索することができます。
ウィンドウを上下左右に均等に分割して表示するためのアプリケーションです。画面の左半分でコーディング、右半分でブラウザでの確認といった感じに、画面もきちんと整理整頓したい人向け。
Drupalのテーマで、古いIE向けに条件コメント付きのJavaScriptの読み込み方法です。
テーマディレクトリ内の「template.php」ファイルにプリプロセスとして次のように記述します。
|
<?php function THEMENAME_preprocess_html(&$variables) { drupal_add_html_head(array( '#tag' => 'script', '#attributes' => array('src' => drupal_get_path('theme', 'THEMENAME').'/js/ie9.js'), '#prefix' => '<!--[if lt IE 9]>', '#suffix' => '</script><![endif]-->' ), 'ie9' ); } ?> |
実際のレンダリングでは次のようになります。
|
<!--[if lt IE 9]> <script src="sites/all/themes/THEMENAME/js/ie9.js" /></script> <![endif]--> |