このページの本文へ

フロントエンドエンジニアのblog

有限会社Willさんいん

このページの位置: home タグ: Movable Type

“Movable Type” タグの記事(3件)

WordPress からテーマのテンプレートを使って CSV を書き出す

この記事は2020年7月11日に書かれたものです。情報が古い可能性がありますのでご注意ください。

WordPress からカスタム投稿タイプの投稿データとそれに関連するデータを CSV で出力したい案件があり、テーマの中のテンプレートを使って実現してみました。

投稿データを CSV で出力できるプラグインはあるようですが、今回一定の条件で絞り込んだり、Advanced Custom Fields の「投稿オブジェクト」カスタムフィールドで紐付けた、別のカスタム投稿タイプの投稿データを一緒に出力する必要があったため、特定のページのテンプレートを作成する要領で実現できないかと考えました。

7年くらい前まで Movable Type を使っていましたが、Movable Type のテンプレートは静的ファイルを書き出すので、書き出すファイル名と拡張子を指定すれば、CSV などのテキストファイルを書き出すことも、CSS や JavaScript のファイルに MT タグを使って、セレクタや値を代入したり変数をループで処理したりすることができました。

一方、WordPress のテンプレートは動的に Web ページを表示するものなので、Movable Type のように簡単には行きません。

でも、以前 WordPress に FullCalendar を組み込んだ際、カレンダーに投稿データを読み込むための JSON 形式のファイルをテンプレートを使って作成したり、同じように Google Map に投稿データからマーカーを生成するための XML 形式のファイルをテンプレートを使って作成した経験がありましたので、まずは同様の方法で CSV 形式のファイルを作成してみました。

“WordPress からテーマのテンプレートを使って CSV を書き出す” の続きを読む »

Movable Type で記事を先頭に固定表示

この記事は2015年7月21日に書かれたものです。情報が古い可能性がありますのでご注意ください。

WordPress の投稿には、公開状態に “この投稿を先頭に固定表示” というオプションがあり、チェックした投稿は、メインページなどの投稿の一覧で常に先頭に表示されます。

一方、Movable Type にはこのような機能はありませんので、同様のことをしようとするなら、カスタムフィールド等を使って実装する必要があります。

チェックボックス型のカスタムフィールドを使って先頭に固定表示のフィールドを追加し、メインページテンプレート等で、記事の一覧を出力する前にチェックされた記事の一覧を出力すればよいわけですが、単に出力しただけでは1ページに表示する記事の件数がチェックした記事の件数分増えてしまいます。

そこで、チェックされた記事が複数あっても、一覧に表示される記事の総件数が変わらないようにしてみます。

“Movable Type で記事を先頭に固定表示” の続きを読む »

アイテムのアップロード先フォルダ選択時のディレクトリ設定

この記事は2015年2月6日に書かれたものです。情報が古い可能性がありますのでご注意ください。

Movable Type で画像やファイルをアップロードする際の、デフォルトのアップロード先を任意のディレクトリに設定するカスタマイズについては、様々なブログ等で紹介されています。”MTディレクトリ/tmpl/cms/include/asset_upload.tmpl” を “MTディレクトリ/alt-tmpl/” 以下にコピーして、先頭に以下のように追記するというものです。

“uploads” というディレクトリに設定する場合は

<mt:setvar name="extra_path" value="uploads">

“uploads/年/月/日” というディレクトリとする場合は

<mt:setvarblock name="extra_path">uploads/<$mt:date format="%Y/%m/%d"$></mt:setvarblock>

ブログ毎に設定を変える場合は

<mt:If tag="BlogID" eq="2">
<mt:setvarblock name="extra_path">uploads/<$mt:date format="%Y/%m/%d"$></mt:setvarblock>
<mt:Else>
<mt:setvar name="extra_path" value="uploads">
</mt:If>

という感じです。これでデフォルトのアップロード先が設定されます。

しかし、アップロードの際にフォルダ(ウェブページで設定したフォルダ)を選択すると、せっかく設定したアップロード先が消えてしまい、フォルダ名のみとなってしまいます。これではそのフォルダに属すウェブページの html ファイルと同じディレクトリに画像がアップロードされてしまい、予めアップロード先を設定した意味がありません。

“アイテムのアップロード先フォルダ選択時のディレクトリ設定” の続きを読む »

page top