Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
#1 2018-12-04 10:38:45
- Gallex
- Member
- Registered: 2006-10-08
- Posts: 1,148
tag <txp:images />
my form:
<txp:images category='toetajad' wraptag="div" break="" class="partnerid" sort="date desc" />
outputs:
<div class="partnerid">
<a href="http://tartulumepark.ee/category/image/toetajad/?p=8"><img src="http://tartulumepark.ee/images/8t.jpg" alt="" /></a>
<a href="http://tartulumepark.ee/category/image/toetajad/?p=10"><img src="http://tartulumepark.ee/images/10t.jpg" alt="" /></a>
....
</div>
but i would like (no thumbnails, no wrapped with a):
<div class="partnerid">
<img src="http://tartulumepark.ee/images/8.jpg" alt="" />
<img src="http://tartulumepark.ee/images/10.jpg" alt="" />
....
</div>
Offline
#2 2018-12-04 11:16:13
- Bloke
- Developer
- From: Leeds, UK
- Registered: 2006-01-29
- Posts: 8,813
- Website
Re: tag <txp:images />
Then use it as a container so you can design your own output instead of relying on the default. e.g.:
<txp:images category="toetajad" wraptag="div" break="" class="partnerid" sort="date desc">
<txp:image width="0" height="0" />
</txp:images>
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Txp Builders – finely-crafted code, design and Txp
Offline
#3 2018-12-04 13:09:38
- Gallex
- Member
- Registered: 2006-10-08
- Posts: 1,148
Re: tag <txp:images />
Bloke wrote #315479:
Then use it as a container so you can design your own output instead of relying on the default. e.g.:
<txp:images category="toetajad" wraptag="div" break="" class="partnerid" sort="date desc">...
i solved this way:
<txp:images category='toetajad' wraptag="div" break="" sort="date desc">
<img src="<txp:image_url />" title='<txp:image_info type="caption" />' />
</txp:images>
Last edited by Gallex (2018-12-04 13:10:07)
Offline
#4 2018-12-05 10:17:01
- Gallex
- Member
- Registered: 2006-10-08
- Posts: 1,148
Re: tag <txp:images />
developed further:
<txp:images category='toetajad' wraptag="div" break="" class="partnerid" sort="date desc">
<a href='<txp:image_info type="alt" />' target="new"><img src="<txp:image_url />" title='<txp:image_info type="caption" />' /></a>
</txp:images>
outputs:
<a href='https://www.google.com/' target="new"><img src="https://tartulumepark.ee/images/11.jpg" title='' /></a>
now code uses image’s alternate text/input as an url for an anchor, and all works fine. problem occurs then image hasn’t url inserted into alt input, then it outputs:
<a href='' target="new"><img src="https://tartulumepark.ee/images/11.jpg" title='' /></a>
is it somehow possible to do like this:
<txp:images category='toetajad' wraptag="div" break="" class="partnerid" sort="date desc">
if image has alt text then do this:
<a href='<txp:image_info type="alt" />' target="new"><img src="<txp:image_url />" title='<txp:image_info type="caption" />' /></a>
if not, this:
<img src="<txp:image_url />" title='<txp:image_info type="caption" />' />
</txp:images>
Offline
#5 2018-12-05 12:32:29
- Bloke
- Developer
- From: Leeds, UK
- Registered: 2006-01-29
- Posts: 8,813
- Website
Re: tag <txp:images />
Sure. Are you running 4.7.1? If so you can use the evaluate tag to test
the output of the image_info tag:
<txp:images category="toetajad" wraptag="div" break="" class="partnerid" sort="date desc">
<txp:variable name="img_tag" escape="trim">
<img src="<txp:image_url />" title='<txp:image_info type="caption" />' />
</txp:variable>
<txp:evaluate test="image_info">
<a href='<txp:image_info type="alt" />' target="new"><txp:variable name="img_tag" /></a>
<txp:else />
<txp:variable name="img_tag" />
</txp:evaluate>
</txp:images>
Note that I stored the <img>
tag itself in a variable outside the <txp:evaluate>
test. This is because you’re using <txp:image_info>
twice – once for alt and once for caption. If the caption tag was left inside the container of the <txp:evaluate>
tag, it would look at both tags to see if either contained anything and only return false if BOTH were empty, which is not what you want.
The side benefit here of storing the image tag in a variable is that you only have to edit it once if you wish to change it in future, instead of in both branches of the ‘else’.
Hope that helps.
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Txp Builders – finely-crafted code, design and Txp
Offline
#6 2018-12-05 12:55:02
- Gallex
- Member
- Registered: 2006-10-08
- Posts: 1,148
Re: tag <txp:images />
wow!!
and if i drop caption, the code would look:
<txp:images category="toetajad" wraptag="div" break="" class="partnerid" sort="date desc">
<txp:evaluate test="image_info">
<a href='<txp:image_info type="alt" />' target="new"><img src="<txp:image_url />" /></a>
<txp:else />
<img src="<txp:image_url />" />
</txp:evaluate>
</txp:images>
?
Offline
#7 2018-12-05 13:12:16
- Bloke
- Developer
- From: Leeds, UK
- Registered: 2006-01-29
- Posts: 8,813
- Website
Re: tag <txp:images />
Yep.
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Txp Builders – finely-crafted code, design and Txp
Offline
#8 2018-12-05 13:34:02
- Gallex
- Member
- Registered: 2006-10-08
- Posts: 1,148
Re: tag <txp:images />
Offline
#9 2018-12-05 14:37:11
- Bloke
- Developer
- From: Leeds, UK
- Registered: 2006-01-29
- Posts: 8,813
- Website
Re: tag <txp:images />
You’re welcome. It’s mainly the genius of etc (Oleg) to thank for this fabulous tag flexibility we have now.
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Txp Builders – finely-crafted code, design and Txp
Offline
#10 2018-12-05 15:48:41
- etc
- Developer
- Registered: 2010-11-11
- Posts: 3,394
- Website
Re: tag <txp:images />
Bloke wrote #315491:
It’s mainly the genius of etc (Oleg) to thank for this fabulous tag flexibility we have now.
The genius is our txp community, since I have borrowed the idea from Adi (who has borrowed it from someone else). Pushing flexibility a bit farther:
<txp:images category="toetajad" wraptag="div" break="" class="partnerid" sort="date desc">
<txp:evaluate wraptag='<txp:evaluate><a href=''<txp:image_info type="alt" />'' target="new"><+></a></txp:evaluate>'>
<img src="<txp:image_url />" title='<txp:image_info type="caption" />' />
</txp:evaluate>
</txp:images>
Offline