Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
Re: etc_query: all things Textpattern
Version 0.75: enables PHP functions in replace values.
Offline
Re: etc_query: all things Textpattern
Version 8: now can also query databases, JSON objects and (even if it does not make much sense) serialized arrays.
Offline
Re: etc_query: all things Textpattern
Version 0.87: enhanced special patterns with default values.
Offline
Re: etc_query: all things Textpattern
Version 0.88: enhanced special patterns with sanitizer functions (many thanks to Gocom for alerting me). Dropped preparse attribute.
Offline
Re: etc_query: all things Textpattern
Is there a way to do both numbered links and prev/next links in article_custom pagination? I’d like to use it for that, but thought I’d ask first.
Offline
Re: etc_query: all things Textpattern
maruchan wrote:
Is there a way to do both numbered links and prev/next links in article_custom pagination? I’d like to use it for that, but thought I’d ask first.
You mean prev/next page? With one query it is tricky (in the current version), since we have to display some nodes twice, with different attributes. But with two queries it is possible (takes less than 0.005 extra seconds).
Suppose the navigation is driven by some url variable, say pgc
. We firstly create the pagination list and store it in some variable
:
<txp:variable name="pgc_list">
<txp:etc_query
data='<txp:article_custom limit="999"><a href=''<txp:permlink />''><txp:title /></a></txp:article_custom>'
query="a[position() mod 10 = 1]"
>
<a href="?pgc={#row}">{#row}</a>
</txp:etc_query>
</txp:variable>
Then in the article form put
<txp:if_individual_article>
<txp:variable name="pgc_list" />
<txp:else />
<txp:etc_query
data='<txp:variable name="pgc_list" />'
query="a[{?pgc|1|intval}]"
globals="_GET"
replace="preceding-sibling::a[position()=1]=Previous;following-sibling::a[position()=1]=Next"
>
{preceding-sibling::a[position()=1]}
<txp:variable name="custom_list" />
{following-sibling::a[position()=1]}
</txp:etc_query>
</txp:if_individual_article>
The article form can be completed with current page articles, enhanced with first/last links, restricted to showing at most n page links, and so on Please feel free to experiment, I will be glad to help .
Offline
Re: etc_query: all things Textpattern
Version 0.89: some minor (but annoying) bugfixes, please update.
Offline
Re: etc_query: all things Textpattern
Thank you, I’m trying that code out now. I’m going to try to troubleshoot, but I’m getting this error. Any advice is appreciated.
Tag error: <txp:etc_query
data='<txp:variable name="pgc_list" />'
query="a[{?pgc|1|intval}]"
globals="_GET"
replace="preceding-sibling::a[position()=1]=Previous;following-sibling::a[position()=1]=Next"
> -> Warning: DOMDocument::saveHTML() expects exactly 0 parameters, 1 given on line 369
textpattern/lib/txplib_misc.php(653) : eval()'d code:369 DOMDocument->saveHTML()
textpattern/publish.php:1188 etc_query()
textpattern/publish.php:1113 processTags()
textpattern/publish/taghandlers.php:3219 parse()
textpattern/publish.php:1188 if_individual_article()
textpattern/publish.php:1113 processTags()
textpattern/lib/txplib_misc.php(653) : eval()'d code:42 parse()
textpattern/publish.php:1188 rah_output_section_form()
textpattern/publish.php:1100 processTags()
textpattern/lib/txplib_misc.php(653) : eval()'d code:18 parse()
Tag error: <txp:variable name="custom_list" /> -> Notice: Undefined index: custom_list on line 4465
textpattern/publish.php:1188 variable()
textpattern/publish.php:1100 processTags()
textpattern/lib/txplib_misc.php(653) : eval()'d code:380 parse()
textpattern/publish.php:1188 etc_query()
textpattern/publish.php:1113 processTags()
textpattern/publish/taghandlers.php:3219 parse()
textpattern/publish.php:1188 if_individual_article()
textpattern/publish.php:1113 processTags()
textpattern/lib/txplib_misc.php(653) : eval()'d code:42 parse()
textpattern/publish.php:1188 rah_output_section_form()
Offline
Re: etc_query: all things Textpattern
What is your os and php version? I had this error on wamp until v4.3.10.
Offline
Re: etc_query: all things Textpattern
Oh my, I have a typo in the example, sorry, this should be <txp:variable name="pgc_list" />
, and not <txp:variable name="custom_list" />
. But this alone would not cause the problem.
Last edited by etc (2012-05-26 20:42:11)
Offline
Re: etc_query: all things Textpattern
Thanks for checking. I thought I was running PHP 5.3.8 but it was 5.2.17. So I’ve sent support a request, because I know it’s available. For the pagination, what I’m looking for is:
[Prev] 1 2 _3_ 4 5 6 7 [Next] [View All]
So “Next” would take you to page 4 if you were on page 3…etc. But the number links still work.
Last edited by maruchan (2012-05-26 22:59:56)
Offline
Re: etc_query: all things Textpattern
Yes, that’s what this part
<txp:etc_query
data='<txp:variable name="pgc_list" />'
query="a[{?pgc|1|intval}]"
globals="_GET"
replace="preceding-sibling::a[position()=1]=[Prev];following-sibling::a[position()=1]=[Next];@@class=current"
>
{preceding-sibling::a[position()=1]}
<txp:variable name="pgc_list" />
{following-sibling::a[position()=1]}
<a href="???">[View All]</a>
</txp:etc_query>
will do, additionally setting the class of the current page to “current”. But that’s all it will do, you will still have to display the articles of the current page using the pgc
value in some way (offset?), which depends on your context.
Offline