ページ 11

dittoのテンプレートについて

Posted: 2015年8月20日(木) 23:29
by monamaster
お世話になります。
久しぶりにModxを触っているので、分からない(忘れた?)部分があり、皆様にお知恵をお貸し頂ければと思います。
現在、コンテンツのメニューをdittoで作ろうかと思っているのですが、ソースを下記のようにしたいと思っています。

【メニュー例】

コード: 全て選択

<div>
<ul class="dl-menu">
<li><a href="index.html">HOME</a></li>
<li><a>第1階層のコンテナ</a>
	<ull class="dl-submenu">
	<li><a href="1page.html">1page</a></li>
	<li><a href="2page.html">2page</a></li>
	</ul>
</li>
<li><a>第1階層のコンテナ</a>
	<ull class="dl-submenu">
	<li><a href="3page.html">1page</a></li>
	<li><a>第2階層のコンテナ</a>
		<ull class="dl-submenu">
		<li><a href="3page.html">1page</a></li>
		<li><a href="4page.html">2page</a>
		</ul>
	</li>
	</ul>
</li>
</ul>
</div>
コンテナではない<a>タグには「href」を、コンテナの<a>タグには「class="dl-submenu"」を入れ「href」を付けないようにしたいと思っています。
その場合の、dittoでの呼び出しテンプレートの記述をどうすれば良いのか、知りたいのです。
または、ditto以外でも良いので、上記の様な記述が可能な物をご存じないでしょうか?

宜しくお願い致します。

Re: dittoのテンプレートについて

Posted: 2015年8月21日(金) 06:42
by yama
http://modx.jp/docs/tags/rv/
http://150821063641-20802.evo.demo.modx.jp/manager/
[+isfolder:is(1):then(フォルダ):else(非フォルダ)+]
こんな感じでどうでしょう

Re: dittoのテンプレートについて

Posted: 2015年8月22日(土) 18:20
by monamaster
yama様

書き込みいただきありがとうございます。
お教えいただいたテストサイトでサンプルを元に試した見たのですが、<ul>を入れ子状にするのが分かりませんでした。

コード: 全て選択

<ul>
[[Ditto?
   &depth=`3`
  &parents=`0`
  &tpl = '@CODE:
    [+isfolder:is(1):then(<li><a>[+title+]</a><ul class="dl-submenu">):else(<li><a href="[~[+id+]~]">[+title+]</a></li>)+]
]]
</li>
</ul>
のようにしてみたのですが、階層構造(常に新しいものが単独で表示されるため、親要素の<li>の中に入ってくれません)を維持できませんでした。
上記の記述だと、表示上のソースは
<ul>
<br />
<li><a href="news/2/1.html">下位コンテンツ</a></li>
<li><a>中間フォルダー</a><ul class="dl-submenu">
<li><a href="news/1/1.html">かきくけこ</a></li>
<li><a>あいうえお</a><ul class="dl-submenu">
<li><a href="news/begin.html">サイトをオープンしました。</a></li>
<li><a href="feed.rss">RSS フィード</a></li>
<li><a href="news/newservice.html">新サービスのお知らせ</a></li>
<li><a href="doc-not-found.html">404 - Document Not Found</a></li>
<li><a>新着情報</a><ul class="dl-submenu">
<li><a href="index.html">Home</a></li>
</li>
</ul>
となってしまいます。dittoでは無理なのでしょうか?
Wayfinderを使うのが良いのでしょうか?

あと、dittoで「新規作成」のコンテンツと「更新」のコンテンツで表現を変えたい場合はどのようにすればよいのでしょう?
具体的には
・新規作成の場合「×××を登録しました」
・更新の場合「◯◯◯を更新しました」
※各「×××」、「◯◯◯」はコンテンツ名でリンクありです。
Modxでは、作成と更新を持っているとおもいますので、比較して「作成日=更新日(または作成日のみ)」の場合は新規作成、「作成日≠更新日」の場合は更新にすればよいのかなと思いますが、書き方が分かりません。
もし、何方かご存じの方がいらっしゃいましたら、お教え頂けると幸いです。