[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ic] Action Map - basics?


I am adding a 'News' section to our Interchange store.

I have successfully added a new MySQL table 'News' and set this up in the UI so entries can be added. 'News' items are categorised by Categories similar to our Product categories.
For simplicity the 'News' table fields look something like:

code    category    newscontent
1    Hammers    New hammers released by Acme etc.
2    Nails    Acme releases line of titanium compound gang nails. etc
3 Nails New tests show hand hammered nails five times stronger than gun nails etc

I have been able to display News items with a news.html page that uses [query] tag and SQL statements.

However, I thought that this might be a good opportunity to use ActionMap functionality.

I think I have read every ActionMap post in the archives and docs however I am struggling getting this to work. Before I go on this is my first ActionMap and I admit I do not fully understand the function.

I am hoping to be able to display news items using URLs as follows:

www.domain.com/storename/news/Hammers

or

www.domain.com/storename/news/Nails


My ActionMap (added to catalog.cfg) looks like:

ActionMap  news  <<EOR
sub {
       my ($action, $category) = split ('/', shift);
       $CGI->{mv_todo} ='search';
       $CGI->{mv_nextpage} = 'resultsnews';
       $CGI->{mv_search_file} = 'News';
       $CGI->{mv_searchtype} = 'db';
       $CGI->{mv_coordinate} = 'yes';
       $CGI->{mv_return_fields} = 'code';
       $CGI->{mv_matchlimit} = '10';
       $CGI->{mv_sort_field} = 'category';
       $CGI->{mv_sort_option} = 'f,n';
       $CGI->{mv_search_field} = 'category';
       $CGI->{mv_searchspec} = "$category";
       $CGI->{banner_text} = "$category";
       $Tag->update('process');
       return 1;
}
EOR


Thanks for responses.

I have managed to now bring in search results successfully (YeeHa!) using the following in the resultsnews.html file:

-------------

[search-region]
[search-list]

Category: [item-data News category]<br>
[item-data News newscontent]<br>

<hr>

[/search-list]
[/search-region]

-------------

Which is a sweet break through for me understanding Interchange ActionMaps!
Instead of URLs like:
http://www.domain.com/storename/scan/sp=resultsnews/fi=News/st=db/co=yes/sf=category/se=Hammers/op=eq/rf=code/etc_etc

we are now successfully using:
www.domain.com/storename/news/Hammers
(which I am sure Google will prefer and also much easier to email etc)


Now...the new problem I am hoping for some help with...

I am trying to add some code to our products flypage to generate an ActionMap type link to 'news' relating to the flypage items product 'category'.

[page news/[item-field category]]Latest news for this product category[/page]

This works perfectly if the 'category' is a single word (i.e. Hammer) generating a link that looks like:
http://www.domain.com/storename/news/Hammers.html?id=YLX8cRV2&mv_pc=19553

however if the category is two or more words (i.e. Hand Tools) the generated link looks like this:
http://www.domain.com/storename/news/Hand.html?id=YLX8cRV2&mv_arg=Tools&mv_pc=19358

How do I instead generate a link so that it looks more appropriately like:
http://www.domain.com/storename/news/Hand%20Tools.html?id=YLX8cRV2&mv_pc=19692

Any help greatly appreciated!


_______________________________________________
interchange-users mailing list
suppressed
http://www.icdevgroup.org/mailman/listinfo/interchange-users


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.