0

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

0

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

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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