Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
Categories list here, related article output over there
My glossary architecture is shifting a bit and I’m floundering in Txp fundamentals, again. I need some help clearing the fog from those who do this in their sleep.
My main navigation has: About, Glossary, Bibliography
If a user clicks Glossary, they hop to that section and get the full enchilada: all available glossary titles in alphabetical order. So far so good.
I now want to use categories as an additional means to organize and browse titles, and this is what I’m scratching over:
- Output a categories list (e.g. trees, tools, timber, etc) on Homepage as links to sub-lists of glossary articles.
- When a category topic button is clicked, user is (conceptually speaking) whisked to the Glossary section and presented with a filtered list of titles in that category only.
- When a title in a filtered list is clicked, user is presented with the full article. (Exactly as if they clicked the title in the full glossary list.)
So the Glossary section needs to be a bit agile to respond to the different display contexts, if you see what I mean.
The part I’m puzzled over, at the mo, is step 2. What should the markup for the categories list look like to forward the user to the Glossary section? Of course I’m starting with this, which outputs the cats list fine, but the transferring elements are escaping me:
<txp:category_list categories="trees,timber,tools,structures,joints" break="li" wraptag="ul" class="groups" />
I guess the other approach more people favour is rotate everything in the default page, but I’m not kidding when I say I get a headache wasting hours trying to make sense of a long page of nested conditionals. Thus my splitting it across sections hope. Possible?
TIA
Last edited by Destry (2020-09-18 15:39:08)
Offline
Re: Categories list here, related article output over there
With txp 4.8.x you can emulate section specific categories when using /section/category/title
URL pattern. This means that you can have urls like /glossary/trees/
and /glossary/trees/baobabs
for example. If you are interested in such a markup you can see how it can be achieved here.
Yiannis
——————————
NeMe | hblack.art | EMAP | A Sea change | Toolkit of Care
I do my best editing after I click on the submit button.
Offline
Re: Categories list here, related article output over there
Hmmm… I think there might be something I need in here. I’ll rethink it over the weekend.
Last edited by Destry (2020-09-18 18:18:43)
Offline
Re: Categories list here, related article output over there
colak wrote #325952:
With txp 4.8.x you can emulate section specific categories when using
/section/category/title
URL pattern. This means that you can have urls like/glossary/trees/
and/glossary/trees/baobabs
for example. If you are interested in such a markup you can see how it can be achieved here.
I’m very interested in this, because I would like to use this for a project. But I’m a bit intimidated by this Textpattern-page of over 300 lines. :-)
Could you give me a hint where to look for the code how to emulate section specific categories when using /section/category/title
URL pattern?
…Prrrrrrrr…
Offline
Re: Categories list here, related article output over there
Destry wrote #325949:
What should the markup for the categories list look like to forward the user to the Glossary section? Of course I’m starting with this, which outputs the cats list fine, but the transferring elements are escaping me:
<txp:category_list categories="trees,timber,tools,structures,joints" break="li" wraptag="ul" class="groups" />...
Have you tried adding this_section="1"
attribute to your <txp:category_list />
? That should add section
filter to category URLs. Unless I’ve misunderstood the question, of course.
Offline
Re: Categories list here, related article output over there
etc wrote #325958:
Have you tried adding
this_section="1"
attribute to your<txp:category_list />
?
I saw that, but I didn’t think it was relevant in my case.
I think what is confusing me is this notion that categories can be tied to sections. How is that possible? Categories are tied to articles, not sections. Or is that what is meant? It’s not that a category belongs to a section, but that the category is tied to articles that are themselves assigned to a section.
So in concept (no time to test yet), if I have a set of parent/child categories like this:
- groups
- timber
- tools
- trees
- etc
I could use this on homepage to output a list of child categories?
<txp:if_section name="glossary">
<txp:category_list parent="groups" exclude="groups" wraptag="ul" break="li" class="">
<txp:category title="1" link="1" />
</txp:category_list>
</txp:if_section>
And when a category was clicked in that list, it would send the user to the Glossary page and show only those articles assigned to that category?
That’s what I’m trying to do.
But the Glossary section will have three different contexts:
- The filtered list of sub-topic articles from above situation.
- Full glossary list (if user arrives to Glossary section by clicking ‘Glossary’ link in main nav).
- Full article view (when user clicks a glossary article title from either 1 or 2 in the Glossary section).
Last edited by Destry (2020-09-19 10:46:21)
Offline
Re: Categories list here, related article output over there
Of course, nothing outputs on the homepage because if_section
is not appropriate there.
So I’m back to square one: How to use a category list on the home page that will display the articles in a given child category on a different section when a category link on the homepage list is clicked?
It seems like it should be easy, but I can’t figure it.
Last edited by Destry (2020-09-19 10:54:36)
Offline
Re: Categories list here, related article output over there
Does this work?
<txp:if_section name="">
<txp:category_list parent="groups" exclude="groups" wraptag="ul" break="li" class="">
<txp:category title="1" link="1" />
</txp:category_list>
</txp:if_section>
Yiannis
——————————
NeMe | hblack.art | EMAP | A Sea change | Toolkit of Care
I do my best editing after I click on the submit button.
Offline
Re: Categories list here, related article output over there
Destry wrote #325962:
I think what is confusing me is this notion that categories can be tied to sections. How is that possible? Categories are tied to articles, not sections.
Absolutely right, you’d need to cheat to tie categories to sections.
Or is that what is meant? It’s not that a category belongs to a section, but that the category is tied to articles that are themselves assigned to a section.
Adding section
or this_section
to <txp:category_list />
does not filter out categories, it just adds section
chunk to their URL. For example, category links generated by <txp:category_list section="glossary" />
will be like /glossary/catname/
. Clicking such a link will take you to a page of glossary
articles with catname
category.
Offline
Re: Categories list here, related article output over there
colak wrote #325965:
Does this work?
That’s what I had just tried in the post previous. But if_section doesn’t work like that on the homepage. At least not the way I was intending.
etc wrote #325966:
section="glossary"
Bingo! That was the ‘transferring’ mechanism I was looking for originally.
Now I am on to the next hurdle (I knew there would be another one).
If my nav is: Homepage, Glossary
And I’m attempting to try and achieve both of these conditions:
Condition A:
Homepage has list of categories that send a person to the Glossary section when a given category is clicked, and displays the filtered list of glossary articles for that category, and will display only the full article when a given article in the filtered list is clicked.
Condition B:
Glossary landing view, by default (i.e. if clicking the Glossary link in main nav) will show the full glossary (i.e. full set of glossary articles regardless of categories), and will display only a full article when a given article is clicked.
I can figure out either A or B by themselves, but not satisfy both situations.
I’ve tried variations of this, for exampe:
<txp:if_article_list>
<h1>Glossary</h1>
<h2>Full Glossary</h2>
<section id="a" class="terms">
<h2>A</h2>
<txp:article_custom category="a"
sort="Title"
wraptag="ol"
class="termslist"
break="li"
form="terms_alphabetical" />
</section>
<txp:hide> Additional blocks for B through Z here </txp:hide>
<txp:else />
<txp:if_article_category name='<txp:category />'>
<h1>Glossary</h1>
<h2><txp:category title="1" /> Entries</h2>
<txp:article_custom sort="Title"
wraptag="ol"
class="termslist"
break="li"
form="terms_alphabetical" />
<txp:else />
<article><txp:article form="default" /></article>
</txp:if_article_category>
</txp:if_article_list>
Is satisfying Conditions A and B even possible on the same Glossary section?
Offline
Re: Categories list here, related article output over there
I think the part I’m confused about now is what to use at the receiving end (Glossary section) when someone clicks a category link on the homepage (i.e. via <txp:category_list section="glossary" />
) ?
etc wrote #325966:
category links generated by
<txp:category_list section="glossary" />
will be like/glossary/catname/
. Clicking such a link will take you to a page ofglossary
articles withcatname
category.
If I have this on the Glossary template, which satisfies default condition:
<txp:if_article_list>
<h1>Glossary</h1>
<h2>Full Glossary</h2>
<section id="a" class="terms">
<h2>A</h2>
<txp:article_custom category="a"
sort="Title"
wraptag="ol"
class="termslist"
break="li"
form="terms_alphabetical" />
</section>
<txp:hide>Blocks B through Z not shown here</txp:hide>
<txp:else />
<article><txp:article form="default" /></article>
</txp:if_article_list>
Then what needs added to that to make the following true as well when someone arrives via the homepage category?
Clicking such a link will take you to a page of
glossary
articles withcatname
category.
Last edited by Destry (2020-09-21 09:28:35)
Offline
Re: Categories list here, related article output over there
another possible way that it may work for the front page.
<txp:if_section name="">
<txp:article_custom section="glossary" form="" listform="">
<txp:category_list parent="groups" exclude="groups" wraptag="ul" break="li" class="">
<txp:category title="1" link="1" />
</txp:category_list>
</txp:article_custom>
</txp:if_section>
Yiannis
——————————
NeMe | hblack.art | EMAP | A Sea change | Toolkit of Care
I do my best editing after I click on the submit button.
Offline