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

質問全般・改善要望
返信する
tam_modx
メンバー
メンバー
記事: 1
登録日時: 2012年11月15日(木) 09:57

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

投稿記事 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
-----
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

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

投稿記事 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('スニペット名'); としてみてください
返信する