開発関連
簡易の会員制サイト
MODXで会員制サイトを作る場合、基本的にはグローバル設定でグループ管理機能をオンにしたうえで、ウェブユーザーグループとリソースグループをそれぞれ作って関連付ける必要があります。簡単な認証を設置する程度でいい場合は、おおげさな感じがします。
<?php
if(!isset($_SESSION['webValidated'])) $modx->sendUnauthorizedPage();
?>
上記のようなスニペットを作ってテンプレートや投稿画面に貼り付けると、「ウェブユーザとしてログインしているかどうか」だけを見るようにできます。グループ管理が不要な場合はこれで十分です。
webValidatedの部分をmgrValidatedに変更すると、管理画面ユーザとしてログインしているかどうかを見る判定になります。
ある情報を持つリソースのIDリストを取得する
$rs=$modx->db->select('*','[+prefix+]site_content',"alias='test'");
while($row = $modx->db->getRow($rs))
{
$docs[]=$row['id'];
}
return implode(',', $docs);
「test」というエイリアスを持つリソースのIDリストを取得します。