我想找出一種方法來呈現基於模板變量(tv)值的特定tpl的資源。這裏是我的用例:ModX revo 2.2x:如何使用TV值設置tpl?
我已經設置了一個基本網站的主頁和博客(我使用的文章加載項)的modx安裝。我想在主頁上的文章容器外顯示博文。根據我的經驗,最簡單的方法是使用getResource。但是,對於這個特定的項目,我想根據每個結果的電視值更改getResources結果的tpl。
模板變量可以看作是「後期類型」。如果你選擇「文本」,它會有tplA,如果你選擇「多媒體」,它會有tplB等...
現在基於我的研究,你將使用屬性'tplCondition'和'conditionalTpls'來實現這個您getResources調用,這樣的事情:
[[getResources?
&tplCondition=`tv.blogPostType`
&conditionalTpls=`{"1":"tplA","2":"tplB","3":"tplC"}`
&tpl=`defaultTpl`
]]
的問題是,這似乎並沒有與模板變量工作:(它甚至說,它僅使用資源領域的文檔.....這是一個真正的無賴,因爲我不知道如果不這樣做,否則基於我有限的知識,你也許可以創建一個片段或這樣做,但我不知道。有沒有人有這個問題的優雅解決方案?
來總結一下我嘗試做的,再次:
-assign「後鍵入」通過模板變量博客我的文章容器的帖子。
- 使用模板變量值根據該值設置特定的tpl。
任何幫助,高度讚賞。謝謝
編輯:好的我得到了在論壇上的答覆,並遇到了「解決方案」。
你可以用css來完成這個任務。在TPL,你這樣做:
<article class="[[+tv.post-type]]">....</article>
這將輸出在電視與實際使用元素類選擇的職位類型,然後就可以用CSS來給基於電視輸出不同的外觀。它其實很簡單,我有點尷尬,我以前沒有看到它。在我的情況下,它100%解決了我的問題,但是如果你需要改變html即時通訊猜測JavaScript將需要參與或另一種方法與PHP。只要有人需要它就留在這裏!
是的,這也是一種有效的技術。謝謝你的添加。我將不得不記住你的未來,因爲正如你所說,它適用於所有場景。 – user2251230