ページ 11

dittoでリソースグループを設定したリソースが表示されない

Posted: 2016年12月01日(木) 13:31
by ichi
グループ管理(ウェブ)でリソースをpublic以外のリソースグループに設定し、
WebLoginでログイン後にdittoで表示しようとした所、表示されません。
アクセスは可能です。

デモサイトで再現しました。
「MODXの主な特徴」下の「メニューとリスト」「コンテンツ管理」をリソースグループ設定しています。
http://161201121801-32630.evo.demo.modx.jp/
ウェブユーザー
ログイン名:modx
パスワード:123qwe

dittoのソースを確認した所、ditto.class.inc.phpの913行付近
-------
if ($docgrp= $modx->getUserDocGroups())
$docgrp= sprintf(' OR dg.document_group IN ({%s})', implode(',', $docgrp));
else $docgrp = '';
$access= $modx->isFrontend() ? "sc.privateweb=0" : sprintf("1='%s' OR sc.privatemgr=0",$_SESSION['mgrRole']) . $docgrp;
-------

-------
if ($docgrp= $modx->getUserDocGroups())
$docgrp= sprintf(' OR dg.document_group IN (%s)', implode(',', $docgrp));
else $docgrp = '';

$access= ($modx->isFrontend() ? "sc.privateweb=0" : sprintf("1='%s' OR sc.privatemgr=0",$_SESSION['mgrRole'])) . $docgrp;
--------
で望む通りの表示になりました。
$docgrpの指定の波括弧を外して、$accessのisFrountend判定から$docgrp指定を外にだしています。

dittoでリソースグループを設定したリソースが表示されない

Posted: 2016年12月01日(木) 13:40
by yama
{%s}
なるほど、不具合ですね。
もしよければGitHubでプルリクエストいただけたらすぐにマージします。
(フォーラムで報告するほうがラクであればフォーラムでもいいですので)