Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
#13 2011-07-01 01:13:40
- els
- Moderator
- From: The Netherlands
- Registered: 2004-06-06
- Posts: 7,458
Re: rah_replace - Search and replace
I wouldn’t be surprised if it just isn’t possible to include only either the opening tag or the closing tag in if_section conditionals. Does something like this work (requires a little bit more code)?
<txp:output_form form="head" />
<body id="<txp:section />">
<txp:rah_replace from="http://domain.de" to="">
<div id="wrapper">
<txp:output_form form="slider" />
</txp:rah_replace>
<section>
<txp:if_section name="impressum,kontakt">
<h1><txp:if_section name="xy">xy title<txp:else />other title</txp:if_section></h1>
<txp:article limit="1" sort="position asc" form="artikel" />
<txp:else />
<txp:rah_replace from="http://domain.de" to="">
<h1><txp:if_section name="xy">xy title<txp:else />other title</txp:if_section></h1>
<txp:article limit="1" sort="position asc" form="artikel" />
</txp:rah_replace>
</txp:if_section>
</section>
<txp:rah_replace from="http://domain.de" to="">
<txp:output_form form="nav" />
<txp:output_form form="footer" />
</txp:rah_replace>
</div>
</body>
</html>
Offline
#14 2011-07-01 01:17:57
- els
- Moderator
- From: The Netherlands
- Registered: 2004-06-06
- Posts: 7,458
Re: rah_replace - Search and replace
Or maybe just this:
<section>
<txp:if_section name="impressum,kontakt"><txp:else /><txp:rah_replace from="http://domain.de" to=""></txp:if_section>
<h1><txp:if_section name="xy">xy title<txp:else />other title</txp:if_section></h1>
<txp:article limit="1" sort="position asc" form="artikel" />
<txp:if_section name="impressum,kontakt"><txp:else /></txp:rah_replace></txp:if_section>
</section>
Offline
#15 2011-07-01 01:29:33
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,473
Re: rah_replace - Search and replace
Thanks for your answer, Els.
That with <txp:else />
in your answer #14 I had also tried, but that has changed nothing.
I will try your suggestion in #13.
Offline
#16 2011-07-01 02:02:43
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,473
Re: rah_replace - Search and replace
Your idea in #13 works. I’ve adapted it to my needs:
<txp:output_form form="head" />
<body id="<txp:section />">
<div id="wrapper">
<txp:rah_replace from="http://domain.de" to="">
<txp:output_form form="slider" />
</txp:rah_replace>
<section>
<txp:if_section name="impressum,kontakt">
<h1>normal title</h1>
<txp:article limit="1" sort="position asc" form="artikel" />
<txp:else />
<txp:rah_replace from="http://domain.de" to="">
<h1><txp:if_section name="xy">XY title<txp:else />Normal title</txp:if_section></h1>
<txp:article limit="1" sort="position asc" form="artikel" />
</txp:rah_replace>
</txp:if_section>
</section>
<txp:rah_replace from="http://domain.de" to="">
<txp:output_form form="nav" />
<txp:output_form form="footer" />
</txp:rah_replace>
</div>
</body>
</html>
It could be that in my first version the HTML5 element <section>
interferes with <txp:if_section>
. I don’t know it.
Offline
Re: rah_replace - Search and replace
GugUser wrote:
It could be that in my first version the HTML5 element
<section>
interferes with<txp:if_section>
.
Markup has no effect to server-side Textpattern tags, the element isn’t interfering. It’s all about the nesting of the tags. A block needs to be closed on the same level as it was opened. An open parent container tag can not be closed inside a child block.
In your first version you had structure outline is similar to:
<foo>
<bar>
</foo>
</bar>
Such block nesting isn’t possible. Closing foo should be outside bar:
<foo>
<bar>
</bar>
</foo>
Offline
#18 2011-07-01 03:23:07
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,473
Re: rah_replace - Search and replace
That was the reduced scheme of my first code:
<txp:rah_replace from="http://domain.de" to="">
HTML group 1
<txp:if_section name="kontakt">
</txp:rah_replace>
</txp:if_section>
HTML group 2
<txp:if_section name="kontakt">
<txp:rah_replace from="http://domain.de" to="">
</txp:if_section>
HTML group 3
</txp:rah_replace>
My intention was that the three HTML groups 1-3 are within one rah_relace, except in the section “kontakt” in which the HTML group 2 is excluded. That would be possible with HTML elements, but not with closing and opening Textpattern tags.
Thank you Els and Gocom for your answers and comments.
Offline
Re: rah_replace - Search and replace
Hi Jukka – a hopefully easy question if you’re around and reading this thread: I’d like to be able to remove everything between <txp:rah_replace>
and </txp:rah_replace>
, primarily so I can leave comments in a form/page/etc without it being seen on the front end and reduce load times. Is there a wildcard operator for from
in this instance?
Thanks in advance!
Offline
Re: rah_replace - Search and replace
HI Pete,
I usually use <txp:hide> ... your memory dump here ... </txp:hide>
for this.
TXP Builders – finely-crafted code, design and txp
Offline
Re: rah_replace - Search and replace
Hi Jakob – perfect, thank you very much.
Offline
Re: rah_replace - Search and replace
I have a site requirement to replace every other instance of a word – not every instance as normal use of rah_replace would be.
Example: If cat were on the page four times, I need the 2nd and 4th instances to become dog.
Is there a simple tweak to rah_replace that would get this done?
Offline
Offline
#24 2012-02-28 20:21:02
- uli
- Moderator
- From: Cologne
- Registered: 2006-08-15
- Posts: 4,306
Re: rah_replace - Search and replace
towndock wrote:
Example: If cat were on the page four times, I need the 2nd and 4th instances to become dog.
Reminds me of zebra stripes. You could set up such an if_variable conditional around your replacing arrangements. No, don’t even try :P
Last edited by uli (2012-02-28 20:25:58)
In bad weather I never leave home without wet_plugout, smd_where_used and adi_form_links
Offline