]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/ikiwiki/directive/inline/discussion.mdwn
(no commit message)
[git.ikiwiki.info.git] / doc / ikiwiki / directive / inline / discussion.mdwn
index 3f62c276708f865df30081194f2396fb57a7f582..be0665d04da289ee74c3174375266ddce64e7a27 100644 (file)
@@ -56,3 +56,71 @@ to nowhere for 20 bugs.« is shown inlined.
 > 
 > So no, you can't reference template directive parameters inside inline's
 > template, because it's already expanded at that point. --[[Joey]] 
 > 
 > So no, you can't reference template directive parameters inside inline's
 > template, because it's already expanded at that point. --[[Joey]] 
+
+>> Thank you for the explanation. Can you think of another way to accomplish
+>> my goals?
+>>
+>> Right now, I only see the option to edit the title with the
+>> `[[/ikiwiki/directive/meta]]` directive and the field `title`.
+>>
+>> How could a solution look like?
+>>
+>> 1. The possibility to add custom fields to the `meta` directive.
+>> 1. The possibility to specify in a page, how the page should be displayed
+>>    when used by inlined. That could be done by a new directive `cinlined`
+>>    (for »custom inlined«) which is chosen by the `inline` directive to
+>>    display if told to do so.
+>>
+>>    [[!cinlined text="""Text which can also use Parameter, bla blubb …"""]]
+>> --[[PaulePanter]]
+>>> You can make the body of a page change depending on whether it's being
+>>> inlined, with the [[ikiwiki/directive/if]] directive from the
+>>> [[plugins/conditional]] plugin:
+>>>
+>>>     \[[!if test="inlined()"
+>>>       then="""[[!template id=productsummary
+>>>         location="Warehouse 23" price=20
+>>>         ]]"""
+>>>       else="""[[!template id=productdetail
+>>>         location="Warehouse 23" price=20
+>>>         description="Every home should have one"
+>>>         ]]"""
+>>>     ]]
+>>>
+>>> Perhaps that does some of what you want?
+>>>
+>>> If you want to go beyond that, my inclination would be to write
+>>> a simple plugin to deal with whatever it is you want to do (bug
+>>> metadata or product metadata or whatever) rather than prematurely
+>>> generalizing. --[[smcv]]
+
+## meta parameters are not enough
+
+I think I have the same problem as Paule, as I want extra arbitary parameters in my template.
+
+This is what I am doing currently, which makes my skin crawl. In `wgts/foo.mdwn`
+I have resorted to using AUTHORURL as the location of this widgets icon:
+
+       [[!meta authorurl="/ico/aHR0cDovL2JvbmRpLm9tdHAub3JnL3dpZGdldHMvYmF0dGVyeQ==.png" ]]
+
+In templates I have a file called `wgtlist.tmpl`:
+
+       <div class="widget">
+       <TMPL_IF NAME="AUTHORURL">
+       <img src="<TMPL_VAR AUTHORURL>" />
+       </TMPL_IF>
+       <TMPL_IF NAME="PERMALINK">
+       <a href="<TMPL_VAR PERMALINK>"><TMPL_VAR TITLE></a><br />
+       <TMPL_ELSE>
+       <a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a><br />
+       </TMPL_IF>
+       Posted <TMPL_VAR CTIME>
+       </div>
+
+My index page has:
+
+       [[!inline pages="./wgts/*" show=5 feeds=no actions=no rootpage="wgts" archive="yes" template=wgtlist]]
+
+Else can you please suggest a smarter way of getting certain data out from pages for a inline index?
+
+--[[hendry]]