Textpattern CMS support forum

You are not logged in. Register | Login | Help

#51 2019-11-18 22:05:30

etc
Developer
Registered: 2010-11-11
Posts: 3,427
Website

Re: Dev news

Assuming the header is exterior to articles, this should work:

<txp:article label="My parsed header" labeltag="header"
    breakby="<txp:posted format='%B' />" break="div" breakclass="month"
    wraptag="section" class="container"
>
    <txp:if_different>
        <txp:posted format="%B" wraptag="h3" class="month-title" />
    </txp:if_different>
    <article>
        ...
    </article>
</txp:article>

Note that breakby value is double-quoted, otherwise it wouldn’t work as expected.

Offline

#52 2019-11-18 22:40:55

jakob
Admin
From: Germany
Registered: 2005-01-20
Posts: 3,592
Website

Re: Dev news

Ha, that is damn clever!

I realise I’ve not got my head round breakby yet (or breakform for that matter). You did actually write it in the docs and give an example as well.

The use of double quotes feels counter-intuitive given everything we’ve learnt about tags as attributes, but I guess the reason is that in this case the expression should be evaluated and not the result of the tag?

Thanks for the tip!


TXP Builders – finely-crafted code, design and txp

Offline

#53 2019-11-18 23:03:13

etc
Developer
Registered: 2010-11-11
Posts: 3,427
Website

Re: Dev news

jakob wrote #320122:

The use of double quotes feels counter-intuitive given everything we’ve learnt about tags as attributes, but I guess the reason is that in this case the expression should be evaluated and not the result of the tag?

Yes, exactly. You can avoid it by creating a monthbreak form instead

<txp:posted format="%B" />

and then calling

<txp:article label="My parsed header" labeltag="header"
    breakby="monthbreak" break="div" breakclass="month"
    wraptag="section" class="container"
>
    <txp:if_different>
        <txp:posted format="%B" wraptag="h3" class="month-title" />
    </txp:if_different>
    <article>
        ...
    </article>
</txp:article>

Or additionally create a month form

<div class="month">
    <txp:posted format="%B" wraptag="h3" class="month-title" />
    <+>
</div>

and call

<txp:article label="My parsed header" labeltag="header"
    breakby="monthbreak" breakform="month"
    wraptag="section" class="container"
>
    <article>
        ...
    </article>
</txp:article>

Offline

#54 2019-11-18 23:34:52

jakob
Admin
From: Germany
Registered: 2005-01-20
Posts: 3,592
Website

Re: Dev news

Well, I’m glad I asked that. It worked perfectly!

My situation was a bit more complex than I quoted above, especially the header, but it made it possible for me to remove most of the logic aspects out of the listform altogether, which has made things neater.

I think the expression in breakby is tolerable – easier to follow later than creating another form – but the breakform with the <+> placeholder has made it possible to keep the listform clean and re-usable for different situations: now the year view includes the breakform to wrap by month and the month view simply shows the regular listform without the wrapper.


TXP Builders – finely-crafted code, design and txp

Offline

#55 2019-11-19 08:22:32

etc
Developer
Registered: 2010-11-11
Posts: 3,427
Website

Re: Dev news

jakob wrote #320124:

I think the expression in breakby is tolerable – easier to follow later than creating another form – but the breakform with the <+> placeholder has made it possible to keep the listform clean and re-usable for different situations: now the year view includes the breakform to wrap by month and the month view simply shows the regular listform without the wrapper.

Glad it works for you. It will be even more flexible in 4.8 since breakform can be made breakby-agnostic:

<div class="month">
    <txp:yield item="breakby" wraptag="h3" class="month-title" />
    <+>
</div>

Note that item functionality is delegated to <txp:yield /> now, so <txp:item /> tag is available for future use.

Offline

#56 2019-11-27 20:04:25

etc
Developer
Registered: 2010-11-11
Posts: 3,427
Website

Re: Dev news

Global yield attribute for short-tags users: instead of

<txp:tag a='<txp:yield name="a" />' b='<txp:yield name="b" default="B" />' />

you can type just

<txp:tag yield="a,b" b="B" />

inside forms.

Offline

#57 2019-11-28 16:15:22

gaekwad
Admin
From: People's Republic of Cornwall
Registered: 2005-11-19
Posts: 2,633

Re: Dev news

Since there’s a lot of traction in this thread, I’ll leave this here:

Textpattern 4.8.0 release – preflight

Extra brains and eyeballs appreciated on this issue, what else needs doing as part of the release process?

Offline

#58 2019-11-29 08:43:22

gaekwad
Admin
From: People's Republic of Cornwall
Registered: 2005-11-19
Posts: 2,633

Re: Dev news

Bloke sifted through the dev changes since 4.7.3 and updated HISTORY.txt last night – it’s impressive!

github.com/textpattern/textpattern/blob/dev/HISTORY.txt

Offline

#59 2019-12-06 15:55:21

etc
Developer
Registered: 2010-11-11
Posts: 3,427
Website

Re: Dev news

Article preview gets its own movable/resizeable modal panel, paving a way to live preview:

Offline

#60 2019-12-07 02:50:50

phiw13
Plugin Author
From: Japan
Registered: 2004-02-27
Posts: 1,761
Website

Re: Dev news

etc wrote #320386:

Article preview gets its own movable/resizeable modal panel, paving a way to live preview:

That is interesting. Those mini-tabs at the top of the page will finally disappear, maybe to be replaced with a plain link, similar to the Pages & Forms tabs?

But live preview ? Hmm, something for users with large screens and wide browser windows. Can’t imagine that being useable on my MBA. But interesting nonetheless.

Offline

Board footer

Powered by FluxBB