Problem with SEO Rewrite

Hi People,



2.1 upgrade went ok, but an issue where Im sure Ive missed something is to to with the SEO rewrite.



The links on the pages are appearing correctly ie product name/blah/blah.html but the categories aren’t! they show up as /index.php?dispatch=categories.view&category_id=247



For some reason they aren’t using the proper names from the add-ons menu ?



There used to be a “Clean up the catalog” link under the SEO rewrite but thats gone…

What am I missing?

If all else fails, you can erase the catalog files and let CS-Cart recreate the catalog.

the catalog dir is empty :frowning:

I am having same issue… Help please

Are you using the new SEO format or replaced with your own template after an upgrade? if you go to your template and use the following in your links it should resolve your problem!



href=“{“categories.view?category_id=$category.category_id”|fn_url}”



let me know how it goes, but it worked for me!

I Don’t suppose you could run me through what to do could you?



The answer above is a little vague and I’m not sure what to edit where!



Thanks!

1line, I believe there is a typo in your provided code. an extra space.



bytraper, here is a real world example from a custom template I had to modify.



original link:

{$subcategory.category}



updated link for new SEO:

{$category.category}

Where are you guys editing this?

I am not even sure what files those things are in :frowning:

Thank you for this, it was driving me nuts!



bytraper, it is in whatever template you are using for the categories, for example “views/categories/components/categories_tree.tpl”

The easiest way to do it is just go into customization mode and go the the template editor that surrounds you categories. You should see something like “views/categories/components/” then either “categories_tree.tpl”, “categories_tree_simple.tpl”, “menu_items.tpl”, or “categories_multicolumns.tpl.” Go into that and just edit any time you see the code like what DeGrey said.

I’m still having problems, i have a fresh install of 2.1.1 and have the correct links as suggested above and have also checked the .htaccess folder in the root folder, my categories are still showing index.php?etcetc.



How would you let CS-cart recreate the catalog as said by gginorio



any help would be great!!

i know it might sound dumb, but have you enabled the SEO addon in administration?

Yes everything is set on, the products come up fine with their SEO names and all the categories have SEO names but none of them appear

i dont understand what you mean by them not appearing - can you give me a URL to have a look?

by not appearing I mean not appearing as it should with the correct seo name that has been put in undere the addons section of the category in admin.



here is an example link



[url]Loading...



it should obviously read



[url]Loading...

can you please provide the code of the categories view template so i can have a look at that

{* $Id: view.tpl 10184 2010-07-23 11:11:24Z klerik $ *}



{hook name=“categories:view”}

{if $subcategories or $category_data.description || $category_data.main_pair}

{math equation=“ceil(n/c)” assign=“rows” n=$subcategories|count c=$columns|default:“2”}

{split data=$subcategories size=$rows assign=“splitted_subcategories”}



{if $category_data.description && $category_data.description != “”}

{$category_data.description|unescape}


{/if}





{if $category_data.main_pair}

{include file="common_templates/image.tpl" show_detailed_link=true images=$category_data.main_pair object_type="detailed_category" no_ids=true class="cm-thumbnails" show_thumbnail="Y" image_width=$settings.Thumbnails.category_details_thumbnail_width image_height=$settings.Thumbnails.category_details_thumbnail_height}


{if $category_data.main_pair.detailed_id}
{include file="common_templates/previewer.tpl"}
{/if}

{/if}

{if $subcategories}

{if $subcategories|@count < 6}

    {/if}
    {foreach from=$splitted_subcategories item="ssubcateg"}
    {if $subcategories|count >= 6}


      {/if}
      {foreach from=$ssubcateg item=category name="ssubcateg"}
      {if $category.category_id}
    • {$category.category}
    • {/if}

      {/foreach}
      {if $subcategories|count >= 6}


    {/if}
    {/foreach}
    {if $subcategories|count < 6}

{/if}

{/if}

{/if}
{if $smarty.request.advanced_filter}
{include file="views/products/components/product_filters_advanced_form.tpl" separate_form=true}
{/if}
{if $products}
{assign var="layouts" value=""|fn_get_products_views:false:0}
{if $category_data.product_columns}
{assign var="product_columns" value=$category_data.product_columns}
{else}
{assign var="product_columns" value=$settings.Appearance.columns_in_products_list}
{/if}

{if $layouts.$selected_layout.template}
{include file="`$layouts.$selected_layout.template`" columns=`$product_columns`}
{/if}

{elseif !$subcategories}

{$lang.text_no_products}


{/if}

{capture name="mainbox_title"}{$category_data.category}{/capture}
{/hook}

ok cool, can you throw me over your htaccess file also please

i have just noticed some whitespace in your code here:








$category.cat egory_id should not be $category.category_id ??

i noticed that white space as well it seems to have appeared when copying the text over, on the original file that space isn’t there.



.htaccess



DirectoryIndex index.html index.php





RewriteEngine on

Some hostings require RewriteBase to be uncommented

Example:

Your store url is [url]http://www.yourcompany.com/store/cscart[/url]

So “RewriteBase” should be:

RewriteBase /store/cscart

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !.(png|gif|ico|swf|jpe?g|js|css)$

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php?sef_rewrite=1 [L,QSA]



RewriteCond %{REQUEST_FILENAME} ./catalog/.

RewriteCond %{REQUEST_FILENAME} -d

RewriteCond %{REQUEST_FILENAME}/index.html !-f

RewriteRule . index.php?sef_rewrite=1 [L,QSA]









I have tried changing this to the code suggested in the help files and have changed it back to this. Is this the right code?

very strange, both seem to be fine - is php compiled with mod_rewrite?