We just upgraded to 3.2.0 from 2.1.4, and the move seems to have broken my RSS feeds completely. I used several conditionals to assign the correct paths to each template group section, but none of those seem to work now. See the following for a representative example – perhaps you can divulge what I need to change for parsing to work in the new EE. (You’re seeing part of code that has worked for eight years until we updated.)

    {preload_replace:master_channel_name="restaurants|arts|community|kids|blogs|rural_road_trips|style|food|parties"}
{exp:rss:feed channel="{master_channel_name}"}
<?xml version="1.0" encoding="{encoding}"?>
<rss version="2.0"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
   <title><![CDATA[Rural Intelligence]]></title>
    <link>{channel_url}</link>
    <atom:link href="{path=feed/RSS_2.0}" rel="self" type="application/rss+xml" />
    <description>Your guide to Rural Living</description>
    <dc:language>{channel_language}</dc:language>
    <dc:creator>{email}</dc:creator>
    <dc:rights>Copyright {gmt_date format="%Y"}</dc:rights>
    <dc:date>{gmt_date format="%Y-%m-%dT%H:%i:%s%Q"}</dc:date>
    <admin:generatorAgent rdf:resource="http://expressionengine.com/" />
{exp:channel:entries channel="{master_channel_name}" limit="19" rdf="off" dynamic_start="on" status="open" disable="member_data|trackbacks" category_group="1|2|3|4|5|6|7|8|13|14|15"}
    <item>
{if channel_id=="24"}
      <title><![CDATA[{title} -- Restaurants -- {exp:channel:categories}{category_name}{/exp:channel:categories} ]]></title>
      <link>{title_permalink=food_section/food_restaurant_listing}</link>
      <guid>{title_permalink=food_section/food_restaurant_listing}</guid>
      <description><![CDATA[{article}]]></description>
      <dc:subject><![CDATA[{categories backspace="1"}{category_name}, {/exp:channel:categories}]]></dc:subject>
      <dc:date>{gmt_entry_date format="%Y-%m-%dT%H:%i:%s%Q"}</dc:date>
{/if}
{exp:channel:categories}
{if channel_id=="12" AND category_id=="16"}
{/exp:channel:categories}
      <title><![CDATA[{title} -- Arts Section -- {exp:channel:categories}{category_name}{/exp:channel:categories} ]]></title>
      <link>{title_permalink=arts_section/arts_articles_movies}</link>
      <guid>{title_permalink=arts_section/arts_articles_movies}</guid>
      <description><![CDATA[{article}]]></description>
      <dc:subject><![CDATA[{categories backspace="1"}{category_name}, {/exp:channel:categories}]]></dc:subject>
      <dc:date>{gmt_entry_date format="%Y-%m-%dT%H:%i:%s%Q"}</dc:date>
{/if}
{exp:channel:categories}
{if channel_id=="12" AND category_id=="17"}
{/exp:channel:categories}
      <title><![CDATA[{title} -- Arts Section -- {exp:channel:categories}{category_name}{/exp:channel:categories} ]]></title>
      <link>{title_permalink=arts_section/arts_articles_music}</link>
      <guid>{title_permalink=arts_section/arts_articles_music}</guid>
      <description><![CDATA[{article}]]></description>
      <dc:subject><![CDATA[{categories backspace="1"}{category_name}, {/exp:channel:categories}]]></dc:subject>
      <dc:date>{gmt_entry_date format="%Y-%m-%dT%H:%i:%s%Q"}</dc:date>
{/if}
{exp:channel:categories}
{if channel_id=="12" AND category_id=="18"}
{/exp:channel:categories}
      <title><![CDATA[{title} -- Arts Section -- {exp:channel:categories}{category_name}{/exp:channel:categories} ]]></title>
      <link>{title_permalink=arts_section/arts_articles_art}</link>
      <guid>{title_permalink=arts_section/arts_articles_art}</guid>
      <description><![CDATA[{article}]]></description>
      <dc:subject><![CDATA[{categories backspace="1"}{category_name}, {/exp:channel:categories}]]></dc:subject>
      <dc:date>{gmt_entry_date format="%Y-%m-%dT%H:%i:%s%Q"}</dc:date>
{/if}
{exp:channel:categories}
{if channel_id=="12" AND category_id=="19"}
{/exp:channel:categories}
      <title><![CDATA[{title} -- Arts Section -- {exp:channel:categories}{category_name}{/exp:channel:categories} ]]></title>
      <link>{title_permalink=arts_section/arts_articles_theater}</link>
      <guid>{title_permalink=arts_section/arts_articles_theater}</guid>
      <description><![CDATA[{article}]]></description>
      <dc:subject><![CDATA[{categories backspace="1"}{category_name}, {/exp:channel:categories}]]></dc:subject>
      <dc:date>{gmt_entry_date format="%Y-%m-%dT%H:%i:%s%Q"}</dc:date>
{/if}
{exp:channel:categories}
{if channel_id=="12" AND category_id=="20"}
{/exp:channel:categories}
      <title><![CDATA[{title} -- Arts Section -- {exp:channel:categories}{category_name}{/exp:channel:categories} ]]></title>
      <link>{title_permalink=arts_section/arts_articles_books}</link>
      <guid>{title_permalink=arts_section/arts_articles_books}</guid>
      <description><![CDATA[{article}]]></description>
      <dc:subject><![CDATA[{categories backspace="1"}{category_name}, {/exp:channel:categories}]]></dc:subject>
      <dc:date>{gmt_entry_date format="%Y-%m-%dT%H:%i:%s%Q"}</dc:date>
{/if}
    </item>
{/exp:channel:entries}
    </channel>
</rss>
{/exp:rss:feed} 

You get the idea… What is going wrong in 3.2.0?

Thanks!

Terry

up vote 0 down vote accepted

Robin Sowell at EE found the problem, and of course it had to do with parsing -- but was in the last place I would have thought to look!

The long and short of it: We cannot nest {categories} tags any longer and get away with it. Never was a good idea - won't work at all now.

Here is a short example of what DOES work!

    {exp:channel:entries channel="{master_channel_name}" limit="19" rdf="off" dynamic_start="on" status="open" disable="member_data|trackbacks" category_group="1|2|3|4|5|6|7|8|13|14|15"}
    <item>

{categories}
{if channel_id=="12" AND category_id=="16"}

      <title><![CDATA[{title} -- Arts Section -- {category_name} ]]></title>
      <link>{title_permalink=arts_section/arts_articles_movies}</link>
      <guid>{title_permalink=arts_section/arts_articles_movies}</guid>
      <description><![CDATA[{article}]]></description>
      <dc:subject><![CDATA[{category_name}, ]]></dc:subject>
      <dc:date>{gmt_entry_date format="%Y-%m-%dT%H:%i:%s%Q"}</dc:date>
{/if}{/categories}

Now the conditionals work and parse-out just fine. I hope this helps someone else in a similar situation where you need to direct categories to specific template groups and templates.

Terry

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.