MODx アーカイブ

MODx Evolution 1.0.3

ちょっと時間が開いてしまっていますが(汗)、今月2日にMODxの新バージョン、MODx Evolution 1.0.3が公開されました。
http://modxcms-jp.com/news/158.html

TinyMCEやManagerManagerなど多くの点で改良が加えられているようです。

近日中に、拙作cfFormMailerの動作確認も兼ねて、いろいろいじってみたいと思います。

カテゴリ:MODx | コメント (0) | トラックバック (0)

[modx]タイトルタグをちょっと便利に表示するスニペット

modxでタイトルを指定する場合、通常は
<title>[*pagetitle*] [(site_name)]</title>
のようにテンプレートなどに記述しますが、

  • トップページのように[*pagetitle*]が必要無い場合がある。
  • 階層化されているコンテンツのときは、親コンテンツ名も合わせて表示させたい

というような場合にちょっと不便です。少なくとも、私には不便です。

いろいろ回避や対処方法はあると思いますが、
私は上記対応に特化した、簡単なスニペット(名付けて「viewTitle」!)を使っています。

リニューアルした私のサイトで実際に使っていますが、
すべてのページのタイトルタグは、テンプレートに次のように記述しています。

<title>[!viewTitle?hideId=`1`&addParent=`1`!]</title>

これで、トップページはサイト名([(site_name)])だけを表示し、2階層以上あるページでは、ページ名の他に親となっているページのタイトルも表示されるようになっています。

汎用的で実用的かと言われると、ちょっとアレですがw

気が向いたら使ってみてください。

下のコードをコピーし、"viewTitle"という新規スニペットを作成して、「スニペットコード」内にペーストしてください。
呼び出しパラメーターは
hideId ・・・ ページ名([*pagetitle*])を隠すドキュメントID。デフォルトは「1」。コンマ区切りで複数指定可。
addParent ・・・ 親ページ名を表示するフラグで0または1を指定。デフォルトは「1」(表示する)。
separator ・・・ ページ名、親ページ名、サイト名の区切りに使う文字列。デフォルトは「 | 」。
<?php
/* viewTitle
  @PARAMETER
    hideId:    ページタイトルを表示させないドキュメントID(コンマ区切り) (デフォルト: 1)
    addParent: 親のページタイトルを表示するか[0:しない / 1(デフォルト):する]
    separator: ページタイトルとサイト名の区切り (デフォルト:  | )
*/

$addParent = isset($addParent) ? $addParent : 1;
$hideId = (isset($hideId) && !$hideId) ? $hideId : '1';
$separator = isset($separator) ? $separator : ' | ';

$ids = explode(',', $hideId);
if (in_array($modx->documentObject['id'], $ids)) {
  return $modx->config['site_name'];
} else {
  $parent = '';
  if ($addParent && $modx->documentObject['parent']) {
    $parent = $modx->getParent($modx->documentObject['id'], 1, 'pagetitle');
  }
  return $modx->documentObject['pagetitle'] . $separator . (is_array($parent) && isset($parent['pagetitle']) ? $parent['pagetitle'] . $separator : "") . $modx->config['site_name'];
}
?>

カテゴリ:MODx | コメント (0) | トラックバック (0)

EUC-JP 使用時にドキュメントエイリアスの設定ができない

公式フォーラム内に情報がありますが、自分用メモ的にここにも書きます。

[環境]
MODx 0.9.6 stable (rev 2767)

MODx を 文字コード EUC-JP で使用しているときに、ドキュメントにエイリアスを指定しようとしても「すでに使用中です」という趣旨のエラーメッセージが表示されて、指定に失敗します。

これは /manager/processors/save_content.processor.php の不具合なので、ここから最新版の save_content.processor.php をダウンロードして置き換えることで解消されます。

カテゴリ:MODx | コメント (0) | トラックバック (0)

カテゴリー

OpenID対応しています OpenIDについて
Powered by Movable Type 5.01