CMS
CMSについてのアレコレ
ブログの管理をWordPress 3に移行
「黒松内の雪の上」の管理をExpressionEngineからWordPress 3に移行しました。ページトップのナビゲーションはカスタムメニュー、サイドバーはウィジェットの機能を利用して、簡単管理&生成するようにしています。
過去の記事やコメントも問題なく移行できたと思うのですが、何か不具合・問題などがありましたらお知らせください。
2010年9月2日 Posted by staff_r | コメント
Zen CartのURLの設定
連日天気が悪すぎて外に出掛けることができないので、久しぶりにZen Cartの覚え書きでも書いてみたいと思います…。
Zen Cartで生成されるページのURLは、標準では「http://~/index.php?main_page=~」のような形になります。これをわかりやすいURLにするため、黒松内.infoショップでは「Ultimate_SEO_URLs」を利用しました。
ただ、Ultimate_SEO_URLsはカテゴリー名や商品名をURLに入れるので、そのままではURLに日本語が挿入されてしまいます。そこで、「本家コントリビューションUltimate_SEO_URLsを導入したい」を参考に、ソースに手を加えて導入しました。
どのツールにも共通したことですが、フレンドリーURLの機能が標準装備されていないと苦労します。
2009年6月22日 Posted by staff_r | コメント
ExpressionEngineでページの種類を判別する
ExpressionEngineではURLのディレクトリ名に相当する部分(セグメント)を変数で取得できるようになっています。これを利用すれば、表示中のページの種類(個別ページだ何だ)を判別できるはず、ということで調べてみました。
利用する変数は、{segment_1}、{segment_2}、{segment_3} の3つ。たとえば、表示中のページのURLが「http://ブログのURL/index.php/site/post_title/」の場合、それぞれの変数の値は
{segment_1} = “site”
{segment_2} = “post_title”
{segment_3} は空
となります。
スタッフブログの場合、URLを「ExpressionEngineのURLからindex.phpを消す (2)」のように設定したので、ページごとに変数の値は次のようになります。
トップページ
すべて空
記事の個別ページ
{segment_1} = 記事のタイトル
{segment_2} と {segment_3} は空
カテゴリー別ページ
{segment_1} = “category”
{segment_2} = カテゴリー名
{segment_3} は空
月別ページ
{segment_1} = archives
{segment_2} = 年
{segment_3} = 月
すべてのアーカイブページ
{segment_1} = archives
{segment_2} と {segment_3} は空
これで、たとえばカテゴリー別ページを判別するには
{if segment_1 == "category"} ~ {/if}
と指定します。
2009年5月22日 Posted by staff_r | コメント
ExpressionEngineのURLからindex.phpを消す (2)
「ExpressionEngineのURLからindex.phpを消す(1)」の続きです。テンプレートを編集して、ExpressionEngineが出力するリンク先のURLからindex.phpとグループ名を除去します。
出力するURLからindex.phpを除去する
ExpressionEngineのテンプレートタグは、標準ではindex.phpを含めたURLを出力します。index.phpを除去して出力するには、[Admin>システムプリファレンス>全体的な構成]で、「サイトのインデックスページの名称」の「index.php」を削除します。
出力するURLからグループ名を除去する
URLからテンプレートのグループ名を削除するには、テンプレートタグを次のように修正します。テンプレートタグについてはまだ細かく調べていないので、ちょっと適当ですが…。
index/archives/commentsテンプレート
| 修正前 | 修正後 | 修正後の出力 | |
|---|---|---|---|
| スタイルシートのURL | {stylesheet= {my_template_group}/site_css} |
{path=site_css} | http://~/site_css/ |
| 記事の個別ページのURL | {title_permalink= {my_template_group}/index} |
{title_permalink} | http://~/記事のタイトル/ |
| コメントページのURL | {url_title_path= “{my_template_group}/comments”} |
{url_title_path= “comments”} |
http://~/comments/記事のタイトル/ |
| カテゴリー別ページのURL | {path={my_template_group}/index} | {path=site_index} | http://~/category/カテゴリー名 |
| 月別ページのURL | {path={my_template_group}/index} | {path=archives} | http://~/archives/2009/04/ |
| すべてのアーカイブのURL | {path={my_template_group}/archives} | {path=archives} | http://~/archives/ |
| AtomのURL | {path={my_template_group}/atom} | {path=atom} | http://~/atom/ |
| RSSのURL | {path={my_template_group}/rss_2.0} | {path=rss_2.0} | http://~/rss_2.0/ |
Atomテンプレート
| 修正前 | 修正後 | 修正後の出力 | |
|---|---|---|---|
| 記事の個別ページのURL | {url_title_path=myblog/index} | {url_title_path} | http://~/記事のタイトル/ |
| カテゴリー別ページのURL | {path=myblog/index} | {path=site_index} | http://~/category/カテゴリー名 |
RSSテンプレート
| 修正前 | 修正後 | 修正後の出力 | |
|---|---|---|---|
| 記事の個別ページのURL | {title_permalink=myblog/index} | {title_permalink} | http://~/記事のタイトル/ |
※{path=hoge}と指定すると「http://ブログURL/hoge」というURLが出力されます。
カテゴリー名をURLに使用する
カテゴリー別ページのURLには、標準ではカテゴリーのID番号が使用されます。カテゴリー名を使ったURLにするには、[Admin>ブログアドミニストレーション>グローバル・ブログ・プリファレンス ]で「カテゴリURLタイトルをリンクに使用しますか? 」を「はい」に設定します。
2009年4月28日 Posted by staff_r | コメント
ExpressionEngineのURLからindex.phpを消す (1)
ExpressionEngineで生成したページのURLには必ず「index.php」が入っていて、ブログ開設以来ずーっと気になっていました。さらに、URLにはテンプレートのグループ名も入っていて、使用するグループを変更するとページのURLが変わってしまいます。これでは簡単にブログのデザインを変更することができません。
たとえば、月別ページの標準のURLは次のようになります。
http://~/index.php/tempname/2009/04/
これを↓のようなURLにしたい。
http://~/2009/04/
どうにかできないかと検索してみると、ExpressionEngineのwikiにそのものずばりな記事がありました:「Remove index.php From URLs」。しかし、どう見ても簡単ではなさそうです。自前で.htaccessを作成することも試みましたが、うまく機能してくれないし…。
そこで、「LG .htaccess Generator v1.0.0」 という拡張を利用しました。
指示通りインストールしたら管理画面で[Admin>ユーティリティ>拡張マネージャ]を開き、LG .htaccess Generatorを「有効」にしてセッティング画面を開きます。.htaccessの生成場所のパスがブログのルートディレクトリになっていることを確認して「Submit & Regenerate」をクリックすれば、.htaccessが生成されます。なお、.htaccessはあらかじめ作成しておきます。既存の.htaccessがある場合は中身が上書きされるそうなので注意が必要です。
以上で、各ページにindex.phpとグループ名を削除したURLでアクセスできるようになります。
ただ、これで完了ではありません。ExpressionEngineが出力する各ページへのリンクのURLには、index.phpとグループ名が含まれています。リンク先のURLからindex.phpとグループ名を削除するにはテンプレートの編集が必要です。詳しくは、次の記事にまとめます。
2009年4月26日 Posted by staff_r | コメント

