Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2018-12-04 10:38:45

Gallex
Member
Registered: 2006-10-08
Posts: 1,071

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,458
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,071

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,071

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,458
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,071

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,458
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,071

Re: tag <txp:images />

Bloke wrote #315489:

Yep.

many thanks, bloke!!!

Offline

#9 2018-12-05 14:37:11

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 8,458
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: 2,947
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>

etc_[ query | search | pagination | date | tree | cache ]

Offline

Board footer

Powered by FluxBB