ページ 11

テンプレート変数の選択リストで親の親のIDを持たせたい

Posted: 2012年11月15日(木) 10:12
by tam_modx
はじめまして、テンプレート変数の入力欄のリスト選択について質問させていただきます。

選択の入力で親の親のIDを値として持たせたいのですが、
テンプレート変数の入力欄でそのようなことは可能でしょうか?
具体的には下記のような選択リストを作りたいと思っています。

<option value="">なし</option>
<option value="親のID">親</option>
<option value="親の親のID">親の親</option>
<option value="親の親の親のID">親の親の親</option>

大変お手数をおかけしますが、何卒ご教授の程宜しくお願いいたします。

-----
ご利用のサーバ:
MODXのバージョン:1.0.6J-r6
PHPのバージョン:
MySQLのバージョン:
ブラウザ:IE9
-----

Re: テンプレート変数の選択リストで親の親のIDを持たせたい

Posted: 2012年11月15日(木) 14:34
by yama

コード: 全て選択

global $id;
$docid = $id;
$c=0;
$opt[] = 'なし';
while($docid!=0 && $c<10)
{
  $p = $modx->getParent($docid);
  if(is_array($p))
  {
    $docid = $p['id'];
    $pagetitle = $p['pagetitle'];
    $opt[] = "{$pagetitle}=={$docid}";
  }
  else $docid = 0;
  $c++;
}
$options = join('||',$opt);
return $options;
上記のようなスニペットを作って、テンプレート変数の「入力時のオプション」で @EVAL return $modx->runSnippet('スニペット名'); としてみてください