& will not validate but & does.. It's the reason why I don't use ampersand's in product names and descriptions where possible..
Printable View
Hi,
Hope you (in particular Diva) are having a nice weekend., :)
Validate where? It should be output using htmlentities() or the like, to have it end up as & in the source?
If not, then wherever that is not happening, the code needs fixed, not the product name.
I know you know that and would agree, but just stating it here so that anyone who comes across it will get the makers of the broken code to fix their code, rather than people wrongly using HTML (code and/or entities) in product names!
All the best..
Conor
ceon
Hello,
I have scoured this forum doing searched for CEON + Algozone Mobile templates unsuccessfully.
What I have learned is that others have had problems using the Algozone Mobile templates with the CEON module because as I read in an earlier thread someone said...
"Instead of redirecting people to mobile.php, I immediately identified for the other person who contacted me about this, that when this theme detects that the site is being used on a mobile browser, it should set a flag that will have index.php load in mobile.php...
Instead of calling mobile.php, at the top of index.php the developer should add:
PHP Code:
if (CHECK FOR MOBILE VERSION) {
require('mobile.php');
exit;
}
This "theme" developer will have to come up with a way to have Zen Cart know that the mobile version is being used..and put it in place of "CHECK FOR MOBILE VERSION" above."
Unfortunately I do not know what this means... has anyone else had luck resolving this issue could explain to me in simple terms in what file I need to place that code?
thanks,
Brian
Hey guys. After going and changing all my &'s to &'s I've re-discovered why it'd been changed around in the first place. Looks like I'd have to go through everywhere and do the htmlentities thing all over the place to make it work properly, which, while it's not the responsibility of CEON's exemplary software is a pain in my arse :) so... if I did want to change everything back to &'s is there a work-around as per my original question?
eg is there a way to replace the & even before it's had the ampersand and colon removed and replace with 'and' ? A quick hacky fix is as good as anything right now to be honest! Running short on time!
Go through everywhere?? is this caused by another add-on you've installed or are you saying that this is a core Zen Cart issue??
Suggest opening up a new thread to get your answer since this is not related the Ceon URI Mappings module.. You might want to try to narrow it down to the add-on that is causing the issue with htmlentities or if you think it's a Zen Cart core issue report it to the admins.
Now that my brain has been given some proper rest, I remember now why in the past I may have converted & for & in my products names.. I recall that older versions of the XML Sitemap or the Google Product Search add-ons had issues with how they output ampersands which would cause issues when submitted to Google.. Not sure if you are using either on of those mods of something else, but if it is an issue with an add-on the place to get your answer is the support thread for that add-on..
Good luck..
Hi Sarah,
I believe that a job worth doing is worth doing properly, so you really should take the approach of not using & in any product names and instead fix the code that isn't using htmlentities() to output the product names, but a quick hacky fix for you is to simply have Ceon URI Mapping always remove the "&" so the auto-generation doesn't try to the characters in it:
Update the URI Auto-generation Settings in Modules - Ceon URI Mapping (SEO) Config, adding the "&" to the Remove Words configuration option:
The autogeneration will strip the & from product names, meaning that the "amp" will no longer be left in the URI.Code:-, &
That'll work perfectly for you but it really isn't the way you should work. I'd fix the broken code instead if I was you!
All the best...
Conor
ceon
Hi Brian,
Please contact the maker of the Algozone Mobile templates with the information I've provided and get this sorted with them.. it's not an issue with Ceon URI Mapping.
All the best..
Conor
ceon
Hi Diva, it's a brand new 1.5 site I'm just testing about with. The issue is I wanted to use '&' in my category names. If I put them in the admin as '&' then it doesn't pass W3C validation. So I changed them all to & via the admin so they're in the database like that, then when they get output they don't cause errors. The problem then is that CEON urls auto-generates urls replacing as, for example 'laptops-amp-pcs' (ie with the & and ; removed from the &)
The alternative as I understand it is to change it back in the admin to & which causes validation issues which can only be solved by running htmlentities everywhere the category name is output.
Hey Conor, thanks for the quick fix. It'll do fine for the time being. Unfortunately my little amps look nice in the design and are better for spacing, so I want to keep them. Something to keep in mind though.
Thanks for the help :-)
As I pointed out earlier, I knew validation was another reason to substitute & for &. That said you might want to report that to the admins because when you say "running htmlentities EVERYWHERE" I assume you mean core Zen Cart changes.. They should be aware..
I also have this & validation errors and I think the issue is in the Zen Cart codes. I remember it was also an error in 1.3.9.
How do you report to the admins?
Hi,
That's exactly what should be done. :)
[QUOTE=crazysarah;1149094]Hey Conor, thanks for the quick fix. It'll do fine for the time being. Unfortunately my little amps look nice in the design and are better for spacing, so I want to keep them. Something to keep in mind though.
What's to keep in mind?
No problem. Enjoy the new URIs! :)
All the best..
Conor
ceon
Hi Conor,
Long time no talk, hope all is well!
I set up a ZC 1.5 and installed Ceon URI 4.0.8. I added a temporary landing page at /index.html for my client while finishing their ZC. I had to temporarily delete the Ceon URI rules from the htaccess to make the index.html file show up, rather than the /index.php.
No biggy, when I finished I was going to put the Ceon URI rules back in. Everything seemed to be fine on Saturday. But now I cannot get the browser to load the /index.php file.
When I go here (site being staged)(remove the '**' to see the site):
strat**esysgroup**com/index.php
I get redirected to here:
strat**esysgroup**com
But the browser displays:
strat**esysgroup**com/index.html
This only seems to effect the index file. You get the ZC if you add this to the url: /index.php?main_page=contact_us
If I remover index.html, the index.php shows up. But my client needs that temporary landing page and I need the index.php so I can see what I'm doing.
As I say, it worked perfectly until I intentionally disabled the htaccess so that the default behavior would return (browser loading index.html befor index.php). I did that on Saturday and was able to default to index.html and access index.php no problem. But it doesn't work now!
This is absolutely not Ceon URI's fault. But I suspect a fix is hiding in Ceon URI. I imagine others have used a temporary landing page while staging a site, so I'm hoping you might know of a solution.
Your thoughts would be greatly appreciated!
Thanks,
Mike
Just wanted to share a tip.. If you are going to work directly on the client's hosting account, next time you should setup a sub-domain for your staging environment.. this way you can configure the site to your hearts content while the landing page is unaffected.. Using a sub-domain will make transferring the site easier as the only change you need to make is the paths in the configure.php files..
Totally kicking myself for not doing that right from the beginning! Believe me, I will from now on! Think the reason I didn't was that I wanted to use the SSL cert I installed, which doesn't cover subdomains. Still, I should have just disabled ssl during staging. Grrr!Quote:
Just wanted to share a tip.. If you are going to work directly on the client's hosting account, next time you should setup a sub-domain for your staging environment.. this way you can configure the site to your hearts content while the landing page is unaffected.. Using a sub-domain will make transferring the site easier as the only change you need to make is the paths in the configure.php files..
Thanks, Diva.
Quick question, Diva.
Let's say you use subdomain and you install Ceon URI on it and generate URLs like this:
www.SUBDOMAIN.mysite.com/About_Us
When you transfer over and fix the configure files, does Ceon automagically know this happened? So now all the URI's follow:
www.mysite.com/About_Us
Probably a dumb question, I'm guessing that is how it works.
Yes.. sub-domains behave like a top level domain.. and this is why Conor has said repeatedly that the way do do your development is to use a sub-domain and NOT a sub-folder.. If you use a sub-folder, be prepared to run a scrip to fix your URIs in the URI table..
I stopped using sub-folders for development long ago because I finally had one nightmare implementation too many.. Too many scripts and fixes I had to run to right everything after moving the code over. Especially since my development happens on my own hosting account and gets moved to the client's live server. So now I create a sub-domain and point it to my sub-folder.. Using sub-domains makes implementation part SOOOOOO much easier...
Good stuff, thanks! :smile:
Hi,
No, but passing/past the bottom and on the way up I think! Thanks for asking tho, hope you're well yourself! :)
Ceon URI Mapping sees the following as the same (which is a good thing ;) ):
/index.php
/index.php?main_page=index
/
You basically want to temporarily have '/' as '/index.html' but '/' is currently assigned to '/index.php'.
You should be able to have /index.html take control of / by adding the following to the rewrite rule:
RewriteCond %{REQUEST_URI} !^/$
This stops / being rewritten and passed on to /index.php
Nope, it's not Ceon URI Mapping's fault at all, temporary landing pages are the "problem" when the appropriate rule isn't in place.. Ceon URI Mapping can't read minds so, if told to handle a URI, it will! The "Example Rule" is aptly named if I don't say so myself. :)
I think I may have to use some of my massively limited time add to a small guide to Rewrite Rules/.htaccess to the documentation.. I'll see about that for version 5.0.0, in the meantime got 4.2.1 to release...
Ceon URI Mapping doesn't know/care what the domain is, it works using the part of the URI from the first slash onwards. It is definitely good to use subdomains for testing new sites and they will work perfectly; transferring the database across to the main site everything will continue to work just the same.
All the best...
Conor
ceon
Right on! Thanks Conor!
Our problem may not fall into this thread entirely. Just not sure yet what the issue is. We installed Ceon URI Mapping on a 1.3.9h zencart. The cart itself is behaving as it should. The client has their cart installed at http://myprofessionalcable.com/zencart and all is fine if you go directly to the cart with that link. However the cart was installed by someone else and they set a redirect in the htaccess root which is supposed to show the cart installed at proper link. What occurs is if you go to http://myprofessionalcable.com you see the cart, all the links appear that will take you into the zencart directory but the problem is that instead of a mainpage you get a 404 page not found with the site map. I am very confident that this is not related to the URI Mapping mod. We have another install on that server which is working just fine for another domain. The client is hosting with godaddy.com and this seems to have happened after their outage the other day.
Any ideas would be greatly appreciated.
Thanks
Hi,
It doesn't work at all for me but all I can suggest is to dump the current .htaccess file and start a new one.
All the best..
Conor
ceon
I never understand why people do this. If the SITE is the store, then why bother with the redirect and having the cart in a sub directory.. It's silly and outdated.. I know you didn't build this site, so this is not directed at you..
You need to fix the re-director and you are right that's not even and issue that should be discussed in this thread as it's completely unrelated to this mod.. Start a new thread to get help with the re-director, but you REALLY should ditch this outdated kind of setup and simply move the store to the site root and be done with it.. (and no this thread is also not the place to discuss what it is you need to do to move the store to the root of your site)
I have a brand spanking new 1.5 zencart using no template. I've installed CEON URI 4.2.0 and the integratedCOWOA2.1 mod but together they cause a problem.
in includes/templates/template_default/tpl_header.php (<-- I replaced the default coz I'm using no template) COWOA adds:
if (($_SESSION['customer_id']) && (!$_SESSION['COWOA']=='True'))
which if a user is logged in should mean that instead of the login link appearing at the top of the page, the logout and my account links should be there. This doesn't happen.
I've narrowed it down so that I now know that if I comment out the following in init_includes/overrides/init_sessions.php
// BEGIN CEON URI MAPPING 1 of 1
// Static URIs are relative to the site's root, so cookie should be set for the root
$path = '/';
// END CEON URI MAPPING 1 of 1
If I commen out the $path = '/'; bit then everything works. Put it back problem comes back again.
I've tried this a few times on a few different installations of zc1.5 and problem persists. All I can think of is that it's something to do with me being on localhost?
If I comment that bit above out, it doesn't seem to stop CEON URIs working (haven't gone through every single product to update uri's yet). So, if I comment that bit above out, is it ok? Will it cause probs for CEON later down the line? Or on a live server?
Hi,
You can see from the comment that the purpose of the above code is to set the path Zen Cart uses for the site's cookie.
The cookie is used to maintain the session ID.
The fact that you are the only person having this problem and that it is only on your computer shows it's a problem that is either related to your machine or, possibly, highlighted by it.
I'd ask if you had a cookie addon for your browser etc. or for you to test with another browser but here isn't the appropriate place.. please get in contact and we'll try to get this sorted.
All the best..
Conor
ceon
Hi!
It gives me great pleasure to release a new version of Ceon URI Mapping.
4.2.1's release has been skipped, the main changes from 4.2.0 are a few bugfixes and the modification of the zen_catalog_href_link() function in the admin, for static URI generation from admin modules!:D
All changes, from the Revision History of both 4.4.0 and 4.2.1:
[ADDED] New core file modification added. The zen_catalog_href_link() function in the admin-side html_output.php file has been modified to make use of Ceon URI Mapping. This will mean that any properly written admin-side software will use static URIs instead of Zen Cart dynamic URIs when generating a link with this function!
[UPDATED] Installation check updated to check for new core file modification of the zen_catalog_href_link() function in the admin-side version of the file html_output.php.
[UPDATED] Updates to the installation and upgrading instructions, to make them even clearer and even easier to follow.
[BUGFIX] A product review's page needs the ID included as part of the canonical URI, but this was not being set, meaning all product reviews were sharing the same canonical URI, breaking the functionality.
[BUGFIX] When an auto-generated URI clashed with an existing URI, instead of notifying the user, it was simply being stated that no mapping was being applied. Updated to now display an informative message and a link about the clash, to help resolve it.
The latest version should be available from the downloads area shortly.
As always the latest version can be downloaded directly at any time from the Ceon website:
Download 4.4.0 Now!
Upgrading isn't quite as simple as always, because of the additional core file to modify, but it's still very easy taking just 5 minutes to perform an upgrade, thanks to the auto-upgrade functionality!
Enjoy!
All the best..
Conor
ceon
Thank you!!!
Hi,
Hmm.. thanks to the pagination here no-one will probably ever know the new version 4.4.0 is out after your reply.
Grrr.
Think it's probably time to start a new thread.
All the best...
Conor
ceon
WHAT????
Mine was installed at 7.30 this morning.... ;)
Hi,
Well that's good then, all the work was worthwhile. ;)
All the best..
Conor
ceon
Hi, conor, I just transfer to zc1.50, and installed ceon uri mapping, because i like it as usual, but i do meet with the mapping problem, i cannot mapping the following pages:
1>
www.abc.com/index.php?main_page=shopping_cart
to www.abc.com/shopping_cart
2>
www.abc.com/index.php?main_page=contact_us (includes/languages/english/html_includes/classic/define_contact_us.php)
to www.abc.com/contact-us
please help, thanks a lot!!
Hi All!
I have a strange problem that only occurs under certain conditions.
When saving a product catagorie or ez page that have a link in the page text area or if they have a image enclosed I get a 406 - Not Acceptable (Policy Violation) error.
If you remove the links or images it saves fine. I have the same result on old and new pages and have no idea whats happening.
Any ideas? :o/
Hi,
Sorry, that's nothing to do with Ceon URI Mapping.. please start a new thread for this and hopefully someone can help.
All the best...
Conor
ceon
Hi , wondered anyone could tell me the correct part to click, Basically i want to create new categories but use existing products, Like a filter for "Same Brand" products,
It's not a problem as such, It's just i'm not sure what to do,
When i want to "copy" a product for my new category the Ceon Mapping asks me this ,
Installed Version: 4.0.8
URI Mapping (only applies if product is being duplicated):
-Auto-generate a new URI mapping for the duplicate product.
-Copy existing product's URI mapping to the duplicate product (it will have a number appended so that the URI mapping is unique and therefore doesn't conflict with the -URI mapping of the product being copied).
-Don't auto-generate the URI mapping or copy the existing product's URI mapping for the duplicate product.
Can someone please advise : All the existing URL's are nice and clean, So don't want to upset anything by maybe creating uneccessary errors, Duplicates.
Thanks
Zen Cart version presently using: v1.5.0
Hi,
The options you are being shown are for creating a new product based on an existing product - i.e. "duplicating" the product.
What you want to do is to "link" the products into these new categories. Then no new mapping is needed/used.
All the best..
Conor
ceon
Thanks Connor, So i shouldn't have even looked at that bit , and used Multiple Categories Link Manager to do it ,
EDIT: replied to an too old of a post, sorry.
Okay, it's been over a year since I've tested CEON URI and at least two years since I've used any re-writing on my main site. I'm aware of the arguments that re-writing isn't necessary as google/se's pick-up zencart dynamic urls just fine. And I can attest that google does read them. But the other night I read here on the forums that some who don't use re-writing admit that re-writing can give a small bump in search engine results, but content is still king. And tonight I read recent, independent articles online that state that re-written urls with your category and product names is critical...and one even suggested to stay away from carts that don't allow for friendly urls.
I want that slight bump and my site has never perfomed as well as when it had re-written urls (in it's case, the commercial Magic SEO).
I've tested Ultimate SEO pretty extensively and am about 98% satisfied with it. But looking again at CEON. Before I put-up a demo cart and install CEON again, two quick questions:
1. Can it have the product url without the category information? Zencart's canonical dynamic url shows the product only, not the cpath. Just in case I like this. (Ultimate SEO can do this.)
2. Even bigger issue: I intend to do alot of copying products to different categories. If I do so, will they jump back to their master category if one goes "prev/next"? Or will they stay in their copied categories? (Ultimate SEO can do this with proper setting to show cpath at end of url, to behave like dynamic urls.)
Thanks.
Hi, not sure wher to go with my problem (CEON or SitemapXML), so I start here.
I have the latest versions of CEON Uri mapping and Sitemap XML. It all works fine, untill I now started to use ezpages.
Creating an ezpage works fine and CEON creates the correct uri mapping. So far so good, the link works. But when create a sitemapezpages.xml with Sitemap XML I get this output:
.....mysite/index.php?main_page=page&id=1
where I expected:
.....mysite/test
So first of all it does not pick up the uri mapping, but second, the xml file does not work because of: page&id=1
Clicking the sitemapezpages.xml give me a "XML-parse error: element not found" and Google webmastertools reports that it is not valid.
All other uri mappings and xml file work normal, it's just the ezpages which have this problem. Ok, I can manually build the sitempaezpages.xml but it would be nice if it worked correctly :)
Is this "&" the reason why the uri maping is not put in the xml file? I have read some posts about "&" but cant figure out what causes this or how it can be fixed.
Thanks in advance
Edit: jus saw that the original output for this ezpage is "page&id=1" So without the "amp;". Now I should assume it's the SitemapXML that creates this error right?
Here's how my main site currently on dynamic urls and using the sitemap xml plugin (zc 1.5.1) produces the urls involving the "&":
1. The html page version:
http://www.prommart.com/index.php?ma...roducts_id=376
2. The view source version - which generates the &:
http://www.prommart.com/index.php?ma...roducts_id=376
The & is apparently the correct html code to render the & character, which shows as "&" on the html version.
We've learned that basically every place you use the "&" in your site - whether in category names, product names, descriptions, conditions page - if you do not use the & it will generate validation errors.
And note that when you click on no. 2 above with the "&" that the url goes to a page not found. That's not an error in itself, it's just that in the url address bar you use "&" instead of the "&".
In no. 1 above, the "&" is correctly converted to just "&" for the url address bar and everything works.
Hi,
Content is definitely king, the difference anything else makes is minor in comparison, however, that is in comparison.. things like the number of links to a page and the use of keywords in the URI will make additional differences, so do indeed provide benefits worth pursuing.
That sounds more than a bit extreme to me.. search engines will pick up a site with dynamic URIs just fine. However, dynamic URIs aren't useful for advertising literature, which was the primary purpose behind the creation of Ceon URI Mapping.. the SEO benefits are a welcome additional effect of human-readable URIs. :)
Ceon URI Mapping's much better than that software, so glad to see you looking at it as an alternative. ;)
Yes, you can enter whatever URI you want for any "page" whether that's a product page or any other kind of page.
If wanting to use auto-generation instead of typing, you can tick the auto-generation box and then click "Preview" and then copy and paste the product part of the auto-generated URI and go back to the product page and paste that in the URI textfield (and untick auto-generate). That's the quickest way to have the product part of the URI without the category and without typing. :)
No, Ceon URI Mapping will add the cPath query string parameter to maintain context. With full support for canonical URIs that's not a problem, the search engines don't have any "duplicate URI" issues. Installing Ceon URI Mapping will never have a negative effect on a site that can cope with static URIs (i.e. the only problems are misconfigured servers or modules that can't work with static URIs - both fixable with a bit of effort).
Hope that sets your mind at rest! The software does work well. :)
All the best...
Conor
ceon
Hi,
I would have expected mysite/test as well.. I'm afraid all I can say is that you should check out what way the Sitemap XML module is calling zen_href_link()... Ceon URI Mapping will always return the static URI if that function is called with the correct parameters.
Sorry, I don't have the time to debug this for you.. I hope you find the solution quickly!
If you do, and it requires the Sitemap XML module to be fixed, please let its author know and update us here too. :)
All the best..
Conor
ceon
I still think that all things being equal (and they rarely are) that re-written urls will perform better. And major retailers like big-box stores don't primarily rely on search engines anyway, as everyone knows who they are.
I do not see a wide-spread movement across the web AWAY from re-written urls, on the theory that dynamic urls consistently out perform re-written urls. It's really only here at zencart you see statements like that. Since zencart does not come with url re-writing, and re-writting plugins are susceptible to being broken by some plugin or zencart upgrade (CEON excepted, of course), the feeling is that since dynamic urls work good enough, stay with them.
Hey, I'm giving a plug for CEON here!
and there is no wide spread movement TOWARDS "friendly" URLs either.. It's 6 of one half dozen of the other truly.. Your theory about dynamic URLS is not correct.. There are PLENTY of stores/sites that perform well and do not need dynamic URLS to do so because the developers/maintainers know the value of good content.. Finally the assumption that large retailers are NOT concerned with SEO or search engine results/performance is not a true statement..
Bottomline is it seems as if YOU prefer "friendly" URLs for whatever reasons you have found sound, then you should feel free to use whatever add-on you find will be the most sound one to use to provide this feature.. However, much of what you have assumed and posted about why friendly URLs are a better choice is not based fully in facts.
Fine, then let's just forget the whole CEON re-writing thing. Few probably need product urls for printed material and nobody really remembers even a re-written url; hard enough just to remember the domain.
But before that, I'm having what I think is a htaccess issue on my test site, using a subdomain. I'll search thread a bit first. I remember this an issue when I tested this plugin in the past. Wasn't THAT easy to install.
Post #819, looks like subfolders (where my test site is) are not that great. I may have a sub-domain 1.5.0 cart ready to go to test, or maybe I'll try again on a top level unused domain with a new 1.5.1 cart. Want to give CEON plugin the best possible test.
Got it!
http://www.webdivision.prommart.com/demo-stores
It was much easier than I remembered, once I saw the post about subfolders vs sub-domains. Now to play with it a bit.
Sub-domains are the RIGHT way to go it is what Conor has continuously stressed as how a test store should be setup.. The reason is simple.. sub-domains will be have like a top level domain when it comes to installing and testing this add-on.. It means that the code will easily transfer over to the the top level domain when the time is right.
I've an error adding or modifing ezpages (with multilanguage support patch) under admin, this the log:
PHP Code:
[05-Oct-2012 08:54:17 UTC] PHP Fatal error: 1146:Table 'mydatabase.ceon_uri_mapping_configs' doesn't exist ::
SELECT
autogen_new,
whitespace_replacement,
capitalisation,
remove_words,
char_str_replacements,
mapping_clash_action
FROM
ceon_uri_mapping_configs
WHERE
id ='1'; in /home/myaccount/domains/mydomain.it/public_html/beta/includes/classes/db/mysql/query_factory.php on line 120
Last error solved, but now i've a new one
Any help?PHP Code:
[05-Oct-2012 09:47:38 UTC] PHP Warning: trim() expects parameter 1 to be string, array given in /home/gamesmart/domains/gamesmart.it/public_html/beta/gm_admin/ezpages.php on line 140
[05-Oct-2012 09:47:38 UTC] PHP Warning: addslashes() expects parameter 1 to be string, array given in /home/gamesmart/domains/gamesmart.it/public_html/beta/gm_admin/includes/functions/database.php on line 65
[05-Oct-2012 09:47:38 UTC] PHP Fatal error: 1054:Unknown column 'pages_title' in 'field list' :: update ezpages set pages_title = '', page_open_new_window = '0', page_is_ssl = '0', alt_url = 'index.php?main_page=page_2', alt_url_external = '', status_header = '1', status_sidebox = '0', status_footer = '1', status_toc = '0', header_sort_order = '1', sidebox_sort_order = '0', footer_sort_order = '1', toc_sort_order = '0', toc_chapter = '0', pages_html_text = '' where pages_id = '1' in /home/gamesmart/domains/gamesmart.it/public_html/beta/includes/classes/db/mysql/query_factory.php on line 120
Hi,
Sorry but haven't seen that one before and I'm out of time here to be able to recreate the environment and test.
I'd suggest "comparing" the files again and make sure you've made the modifications properly.
If you get this sorted please let us know.
PHP Warnings aren't the worst thing in the world but of course there's a reason for them being generated which is not good and it would be better to not have them.
All the best...
Conor
ceon
Hi,
Lots of chat here now! :)
I think it goes without saying that, on the balance of things, friendly URIs are the better choice.. sites look better with human-readable URIs and there are no negatives to having them. None. (I don't consider using more server resources to be "negative" but a "sensible business/technical decision").Quote:
if YOU prefer "friendly" URLs for whatever reasons you have found sound, then you should feel free to use whatever add-on you find will be the most sound one to use to provide this feature.. However, much of what you have assumed and posted about why friendly URLs are a better choice is not based fully in facts.
I disagree, I think having URIs like "/summer" is something well worth having - in this case a URI for a site showcasing the summer specials, useful for printing on bill boards, bus stops etc. I agree that not many may "need" this but I do think it's something some sites do need, more likely to be larger stores with physical, real-life advertising.Quote:
Few probably need product urls for printed material and nobody really remembers even a re-written url; hard enough just to remember the domain.
Anyway.. I'm biased of course so I would say all of that ;)
Regardless, /about-us just looks so much better than /index.php?main_page=page&id=3 so I think all sites should use Ceon URI Mapping. :)
Have a good afternoon!
All the best...
Conor
ceon
Hi Conor,
About my & and &: problem... I re-created an ezpage. Worked fine again, uri mapping was also created again (and works when I visit the link).
Strange thing is that SitemapXML now created the link correctly: /index.php?main_page=page&id=1
So the &: is gone and the & was placed right and Google accepted the xml file. But again, no uri mapping was added (/test).
All other sitemaps have the correct uri mappings in them, so no problemens there. So again, should I stay here or go to SitemapXML? :D
No errors in my cache btw.
Oh let me be clear here, I was not saying that there are negatives to using friendly URLs at all..:smile: I simply wanted to point out that some of the "facts" put forward about WHY to use friendly URLs and "facts" about dynamic URLs were not entirely accurate. I don't disagree that human-readable URIs look better, but dynamic URLS certainly will not "harm" a site if a shopowner chooses not to use an add-on which generates friendly URLs.. 'tis my only point on that score..:smile:
Ultimately it is the shopowner's choice on whther or not to use a human-readable URI add-on, and IMHO they should choose the add-on that provides this feature in a way that does not introduce new problems to the site.. On that last point I too am biased as well in that I think that your add-on is the ONLY one in this class of add-ons which does friendly URLs the RIGHT WAY. :D
When I say the RIGHT way, I mean it does so in a non-destructive manner, plays NICE with other add-ons, provides LOADS more flexibility (auto generate or create your own URIs), and most importantly it can easily be turned off if the shopowner so desires without creating the dreaded 301 errors. (which is the real issue IMHO with the "other" add-ons in this same class) Plus your documentation and support of this add-on are second to none. The add-on has one of the SMARTEST installers I've used, and it helps the site manager create the correct .htaccess file needed. Plus you just rock Conor.. I am unabashedly a fan!!! For all of these reasons when I have a client who wants friendly URLs, THIS is the add-on I install for them.
zc1.5
My site stopped working and I'm trying to resolve the issue.
It quit completing orders sometime yesterday but had been working fine up until then.
Could the Ceon URI Mapping or Ceon URI Mappings Manager be causing a conflict with Fast and Easy Checkout?
Now I can disagree with you! :)
See this url:
http://www.prommart.com/tony-bowls-t...tr1-p-644.html
It is from my main site, where I had Ultimate SEO installed for a few weeks.
Now, the other day I deleted my site and did a fresh 1.5.1 install and it is currently back on dynamic urls. Ultimate SEO is not installed at all! But the re-written link still works (and I obtained this link from google, copied below).
The reason: I was advised just yesterday that if one turns off Ultimate SEO but leaves its htacces in place, it will still redirect to the proper page. So I put the htacces back up to stabalize my site pending whether I'm going with re-writing and, if so, what one will be better for this particular site (with potentially thousands of products to re-write). I have another site coming along which will have only a few hundred products and I most certainly will use CEON on it; also as a comparison control.
Ultimate SEO's readme is pretty basic thus far and does not mention the possibility of preserving your google links if you turn it off for any reason.
How does CEON work if one decided to turn it off and go back to dynamic urls? Can one completely uninstall CEON, or does it or something from it have to remain installed to save your links?
==============
http://www.google.com/search?q=promm...rlz=1I7GWYE_en
Hi,
Ceon URI Mapping can be enabled/disabled, but disabling it will indeed break any static URIs that were being used, the user will just see the home page or a 404/sitemap page.
You can't really "go back" once it's installed and the static URIs are being used, unless you manually add the static URIs as individual redirects into the likes of a .htaccess file.
That's all understandable and fine though, why would you want to! ;)
All the best...
Conor
ceon
Hi,
As I said, I'd expect to see /test so it must be something about the SitemapXML module.
Sorry I don't have an answer for you, please refer to what I said before, nothing has changed, Ceon URI Mapping has nothing to do with the encoding of the links, so & and & issues are irrelevant to it.
All the best...
Conor
ceon
Hi,
No problem, I do agree that there's a certain amount of misinformation about, glad that things are all a lot clearer here now after a bit of discussion! :)
Thanks for all the nice comments about the software/documentation, especially for mentioning the installation software, lol that alone took best part of a week to write so it's nice to hear someone talk about it specifically; of course, more importantly, I'm glad it makes things so much easier for people! :)
All the best..
Conor
ceon
It was easy to say because it's true..
I looked the the alternatives in this class of add-ons and was directed to your add-on by a friend who saw all the issues I was having with configuration, and integration with other add-ons in this class. Heck one of these add-ons even interfered with a home page SLIDESHOW!! (Say what???) My friend saw my frustration with the setup and the lack of support being provided by the contributors of these other add-ons.. He suggested I check out the Ceon add-on.. I came here and haven't looked back since.. Your add-on was easy peezy in terms of installation and documentation two years ago, and you have only made it better with every release.. So for me this is the IT factor when it comes to the "friendly URL generating" class of add-ons..
Hi,
Well thanks once again/more for the nice comments, it's very nice of you to say such things and I'm very glad I can help people like yourself with software you want. :)
Actually, that was probably an issue with some slideshow module not able to cope with static URIs, but yeah, hopefully Ceon URI Mapping won't interfere with other modules. :)
Going to try and find some time for coding rather than posting/e-mailing, so I'll leave it there for now and just say "have a good evening!" :)
All the best..
Conor
ceon
Just wanted to drop in here and publicly thank Conor for being so helpful in my efforts to get this installed correctly on my site. Above and beyond. Super appreciated. I also took advantage of the free product here: http://ceon.net/software/business/zen-cart/uri-mapping. Expect my donation!
Hi Conor (and everyone)
Google Wenmaster Tools is reporting I have many duplicates. I have posted this in the Search Engine forum but thought after re-reading the info I would check in here also. I'm just wondering after reading the following 'IF' I have a problem with my instal?
FROM THE INFO PAGE:Canonical URIs
•Any page with a static URI automatically has a canonical URI tag added to the page's header. This minimises “duplicate content” reports as it tells the search engines that multiple “pages” should be treated as one.
•For example, instead of the search engine thinking that /all-products?disp_order=1 is a different page from /all-products?disp_order=3, Ceon URI Mapping lets it know that the page's “real” URI is just /all-products and that these other URIs are just variations for the same page.
Here is the two reports with some opened....
Attachment 11309 Attachment 11310
My .htaccess seems shorter than that given at install
## BEGIN CEON URI MAPPING REWRITE RULE
# Don't rewrite any URIs ending with a file extension (ending with .[xxxxx])
RewriteCond %{REQUEST_URI} !\.[a-z]{2,5}$ [NC]
# Don't rewrite any URIs for some, popular specific file format extensions,
# which are not covered by main file extension condition above
RewriteCond %{REQUEST_URI} !\.(mp3|mp4|h264)$ [NC]
# Don't rewrite any URIs for some specific file format extensions,
# which are not covered by main file extension condition above
# Uncomment the following line to apply this condition! (Remove the # at the start of the next line)
#RewriteCond %{REQUEST_URI} !\.(3gp|3g2|h261|h263|mj2|mjp2|mp4v|mpg4|m1v|m2v|m4u|f4v|m4v|3dml)$ [NC]
# Don't rewrite admin directory
RewriteCond %{REQUEST_URI} !^/nervecentre [NC]
# Don't rewrite editors directory
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
# Don't rewrite min directory
RewriteCond %{REQUEST_URI} !^/min/ [NC]
# Don't rewrite mailhive directory
RewriteCond %{REQUEST_URI} !^/mailhive/ [NC]
# Don't rewrite photopen directory
RewriteCond %{REQUEST_URI} !^/photopen/ [NC]
# Don't rewrite markets directory
RewriteCond %{REQUEST_URI} !^/markets/ [NC]
# Don't rewrite facebook directory
RewriteCond %{REQUEST_URI} !^/facebook/ [NC]
# Don't rewrite googlecheckout directory
RewriteCond %{REQUEST_URI} !^/googlecheckout/ [NC]
# Don't rewrite home directory
RewriteCond %{REQUEST_URI} !^/home/ [NC]
# Don't rewrite gifts1 directory
RewriteCond %{REQUEST_URI} !^/gifts1/ [NC]
# Don't rewrite cgi-bin directory
RewriteCond %{REQUEST_URI} !^/cgi-bin/ [NC]
# Don't rewrite zippo directory
RewriteCond %{REQUEST_URI} !^/zippo/ [NC]
# Don't rewrite bmz_cache directory
RewriteCond %{REQUEST_URI} !^/bmz_cache/ [NC]
# Don't rewrite spc2 directory
RewriteCond %{REQUEST_URI} !^/spc2/ [NC]
# Don't rewrite tankards directory
RewriteCond %{REQUEST_URI} !^/tankards/ [NC]
# Don't rewrite myfiles directory
RewriteCond %{REQUEST_URI} !^/myfiles/ [NC]
# Don't rewrite feed directory
RewriteCond %{REQUEST_URI} !^/feed/ [NC]
# Don't rewrite links-images directory
RewriteCond %{REQUEST_URI} !^/links-images/ [NC]
# Don't rewrite engrave directory
RewriteCond %{REQUEST_URI} !^/engrave/ [NC]
# Don't rewrite fonts directory
RewriteCond %{REQUEST_URI} !^/fonts/ [NC]
# Don't rewrite card directory
RewriteCond %{REQUEST_URI} !^/card/ [NC]
# Don't rewrite webpics directory
RewriteCond %{REQUEST_URI} !^/webpics/ [NC]
# Don't rewrite spc directory
RewriteCond %{REQUEST_URI} !^/spc/ [NC]
# Don't rewrite blog directory
RewriteCond %{REQUEST_URI} !^/blog/ [NC]
# Handle all other URIs using Zen Cart (its index.php)
RewriteRule .* index.php [QSA,L]
## END CEON URI MAPPING REWRITE RULE
Hi,
I found your website and took a look and the canonical tag is there in the header, so everything looks fine. Did you recently just sort out any canonical tag problems in the header file (html_header.php)?
If so it may take time for google to stop seeing filtered pages as duplicates.
I can't see any reason why it would see duplicate tags with the canonical tag in place as it is.
All the best...
Conor
ceon
Hi Conor
Thanks for taking the time to look for me. The only change I remember making to html_header.php was to lines 33 & 34 and they are now:
-----------------------------------------
<meta name="author" content="The Personalised Touch™ Team and others" />
<meta name="generator" content="shopping for engraved gifts by The Personalised Touch™, http://www.thepersonalisedtouch.com eCommerce" />
-----------------------------------------
The page code follows:
<?php
/**
* Common Template
*
* outputs the html header. i,e, everything that comes before the \</head\> tag <br />
*
* @package templateSystem
* @copyright Copyright 2003-2010 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: html_header.php 15761 2010-03-31 19:31:27Z drbyte $
*/
/**
* load the module for generating page meta-tags
*/
require(DIR_WS_MODULES . zen_get_module_directory('meta_tags.php'));
/**
* output main page HEAD tag and related headers/meta-tags, etc
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php echo HTML_PARAMS; ?>>
<head>
<!-- Engraved Gifts - Personalised Gifts - Place this tag in your head or just before your close body tag -->
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
{lang: 'en-GB'}
</script>
<title><?php echo META_TAG_TITLE; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>" />
<meta name="keywords" content="<?php echo META_TAG_KEYWORDS; ?>" />
<meta name="description" content="<?php echo META_TAG_DESCRIPTION; ?>" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="author" content="The Personalised Touch™ Team and others" />
<meta name="generator" content="shopping for engraved gifts by The Personalised Touch™, http://www.thepersonalisedtouch.com eCommerce" />
<?php if (defined('ROBOTS_PAGES_TO_SKIP') && in_array($current_page_base,explode(",",constant('ROBOTS_PAGES_TO_SKIP'))) || $current_page_base=='down_for_maintenance' || $robotsNoIndex === true) { ?>
<meta name="robots" content="noindex, nofollow" />
<?php } ?>
<?php if (defined('FAVICON')) { ?>
<link rel="icon" href="<?php echo FAVICON; ?>" type="image/x-icon" />
<link rel="shortcut icon" href="<?php echo FAVICON; ?>" type="image/x-icon" />
<?php } //endif FAVICON ?>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER . DIR_WS_HTTPS_CATALOG : HTTP_SERVER . DIR_WS_CATALOG ); ?>" />
<?php if (isset($canonicalLink) && $canonicalLink != '') { ?>
<link rel="canonical" href="<?php echo $canonicalLink; ?>" />
<?php } ?>
<?php
$jscript_files_to_load = $css_files_to_load = array();
/**
* load all template-specific stylesheets, named like "style*.css", alphabetically
*/
$directory_array = $template->get_template_part($template->get_template_dir('.css',DIR_WS_TEMPLATE, $current_page_base,'css'), '/^style/', '.css');
$load_order = -300;
while(list ($key, $value) = each($directory_array)) {
$css_files_to_load[$value] = $load_order++;
}
/**
* load stylesheets on a per-page/per-language/per-product/per-manufacturer/per-category basis. Concept by Juxi Zoza.
*/
$manufacturers_id = (isset($_GET['manufacturers_id'])) ? $_GET['manufacturers_id'] : '';
$tmp_products_id = (isset($_GET['products_id'])) ? (int)$_GET['products_id'] : '';
$tmp_pagename = ($this_is_home_page) ? 'index_home' : $current_page_base;
if ($current_page_base == 'page' && isset($ezpage_id)) $tmp_pagename = $current_page_base . (int)$ezpage_id;
$sheets_array = array('/' . $_SESSION['language'] . '_stylesheet',
'/' . $tmp_pagename,
'/' . $_SESSION['language'] . '_' . $tmp_pagename,
'/c_' . $cPath,
'/' . $_SESSION['language'] . '_c_' . $cPath,
'/m_' . $manufacturers_id,
'/' . $_SESSION['language'] . '_m_' . (int)$manufacturers_id,
'/p_' . $tmp_products_id,
'/' . $_SESSION['language'] . '_p_' . $tmp_products_id
);
$load_order = -200;
while(list ($key, $value) = each($sheets_array)) {
//echo "<!--looking for: $value-->\n";
$perpagefile = $template->get_template_dir('.css', DIR_WS_TEMPLATE, $current_page_base, 'css') . $value . '.css';
if (file_exists($perpagefile)) $css_files_to_load[trim($value, '/').'.css'] = $load_order++;
}
/**
* load printer-friendly stylesheets -- named like "print*.css", alphabetically
*/
$directory_array = $template->get_template_part($template->get_template_dir('.css',DIR_WS_TEMPLATE, $current_page_base,'css'), '/^print/', '.css');
sort($directory_array);
while(list ($key, $value) = each($directory_array)) {
echo '<link rel="stylesheet" type="text/css" media="print" href="' . $template->get_template_dir('.css',DIR_WS_TEMPLATE, $current_page_base,'css') . '/' . $value . '" />'."\n";
}
if (file_exists(DIR_WS_CLASSES . 'browser.php')) {
include(DIR_WS_CLASSES . 'browser.php');
$browser = new _Browser();
$browser_name = preg_replace("/[^a-zA-Z0-9s]/", "-", strtolower($browser->getBrowser()));
$browser_version = floor($browser->getVersion());
// this is to make it compatible with the other ie css hack
if ($browser->getBrowser() == $browser->BROWSER_IE) {
$browser_name = 'ie';
}
// get the browser specific files
$directory_array = $template->get_template_part($template->get_template_dir('.css',DIR_WS_TEMPLATE, $current_page_base,'css'), "/^{$browser_name}-/", '.css');
$js_directory_array = $template->get_template_part($template->get_template_dir('.js',DIR_WS_TEMPLATE, $current_page_base,'js'), "/^{$browser_name}-/", '.js');
$load_order = -100;
while(list ($key, $value) = each($directory_array )) {
$css_files_to_load[$value] = $load_order++;
}
$load_order = -500;
while(list ($key, $value) = each($js_directory_array )) {
$jscript_files_to_load[$value] = $load_order++;
}
// get the version specific files
$directory_array = $template->get_template_part($template->get_template_dir('.css',DIR_WS_TEMPLATE, $current_page_base,'css'), "/^{$browser_name}{$browser_version}-/", '.css');
$js_directory_array = $template->get_template_part($template->get_template_dir('.js',DIR_WS_TEMPLATE, $current_page_base,'js'), "/^{$browser_name}{$browser_version}-/", '.js');
$load_order = -100;
while(list ($key, $value) = each($directory_array )) {
$css_files_to_load[$value] = $load_order++;
}
$load_order = -500;
while(list ($key, $value) = each($js_directory_array )) {
$jscript_files_to_load[$value] = $load_order++;
}
}
/**
* load all site-wide jscript_*.js files from includes/templates/YOURTEMPLATE/jscript, alphabetically
*/
$directory_array = $template->get_template_part($template->get_template_dir('.js',DIR_WS_TEMPLATE, $current_page_base,'jscript'), '/^jscript_/', '.js');
$load_order = -400;
while(list ($key, $value) = each($directory_array)) {
$jscript_files_to_load[$value] = $load_order++;
}
/**
* load all page-specific jscript_*.js files from includes/modules/pages/PAGENAME, alphabetically
*/
$directory_array = $template->get_template_part($page_directory, '/^jscript_/', '.js');
$load_order = -300;
while(list ($key, $value) = each($directory_array)) {
$jscript_files_to_load["$page_directory/$value"] = $load_order++;
}
/**
* load all site-wide jscript_*.php files from includes/templates/YOURTEMPLATE/jscript, alphabetically
*/
$directory_array = $template->get_template_part($template->get_template_dir('.php',DIR_WS_TEMPLATE, $current_page_base,'jscript'), '/^jscript_/', '.php');
$load_order = -200;
while(list ($key, $value) = each($directory_array)) {
/**
* include content from all site-wide jscript_*.php files from includes/templates/YOURTEMPLATE/jscript, alphabetically.
* These .PHP files can be manipulated by PHP when they're called, and are copied in-full to the browser page
*/
$jscript_files_to_load[$value] = $load_order++;
}
/**
* include content from all page-specific jscript_*.php files from includes/modules/pages/PAGENAME, alphabetically.
*/
$directory_array = $template->get_template_part($page_directory, '/^jscript_/');
$load_order = -100;
while(list ($key, $value) = each($directory_array)) {
/**
* include content from all page-specific jscript_*.php files from includes/modules/pages/PAGENAME, alphabetically.
* These .PHP files can be manipulated by PHP when they're called, and are copied in-full to the browser page
*/
$jscript_files_to_load["$page_directory/$value"] = $load_order++;
}
$files = loadCssJsFiles($css_files_to_load, $jscript_files_to_load);
foreach($files['css'] as $file)
if($file['include']) include($file['string']);
else echo $file['string'];
foreach($files['js'] as $file)
if($file['include']) include($file['string']);
else echo $file['string'];
//DEBUG: echo '<!-- I SEE cat: ' . $current_category_id . ' || vs cpath: ' . $cPath . ' || page: ' . $current_page . ' || template: ' . $current_template . ' || main = ' . ($this_is_home_page ? 'YES' : 'NO') . ' -->';
?>
<?php
?>
<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.thepersonalisedtouch.com/piwik/" :
"http://www.thepersonalisedtouch.com/piwik/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="piwik/piwik.php?idsite=1" style="border:0" alt="" />
</p></noscript>
<!-- End Piwik Tracking Code -->
</head>
<?php // NOTE: Blank line following is intended: ?>
Hi,
That file is fine and as I said, your site has canonical links.
To be honest I think the answer to this is to ignore the duplicate descriptions section.. the only other option is to go through all of your products and add in unique descriptions for the review pages, write a review pages... sounds like a waste of time to me.
All the best..
Conor
ceon
Ok Conor.. Thanks for that. I will stop worrying
Urgent Help please !
I have installed version 4.4.1 and only with Internet Explorer a have a 404 problem movnig navigating from categories to menu informations links :
PLease try to navigate first on : http://ducashop.ro/ducashop/placate-...ri-placate-aur and after on http://ducashop.ro/ducashop/index.ph...age=conditions using IE .
Hello I was wandering if someone could help me please
I installed this mod and the rewrite rules arent working
could someone helo me here please
thamnk yoiu
Dear Conor,
I have installed Ceon URI Mapping (SEO) 4.4.1 on ZenCart 1.3.9h.
It seems to be working, except the product listing display still uses the ZenCart generated URL.
I have a category "Clocks" (cPath=66). I have two products in that category (products_id=208 and 209).
I generated the URI Mapping for the category (clocks), and two products (/clocks/clock-a and /clocks/clock-b).
The category URI Mapping works fine. In the "Categories" side box, the URI Mapping shows up in the link to "/clocks".
When I click on the Clocks category to display the product list, the product links still shows the ZenCart generated links even though I have generated the URI Mapping for each product already.
If I manually type in the URL "/clocks/clock-a", it will go to display the correct product. The links in the navigation "prev" or "next" buttons on the product information display page are ZenCart generated links, even though URI Mapping "/clocks/clock-b" has already been generated.
Have I missed a step?
Thanks.
kamion
Hey there.
Trying to install Ceon URI Mapping (SEO) module.
Uploaded all the files needed. Now it asks to go to Modules > Ceon URI Mapping (SEO) and make some changes there and on.
The problem is, I don't see anything new under Modules in Admin panel, besides Payment, Shipping and Order Total, which already were there.. (v.1.5.1)
Please advise.
Thank you.
I've found the answer to my problem above. :)
Looks like there's a need to add custom product types to two files:
1) includes\extra_datafiles\ceon_uri_mapping_product_pages.php
2) includes\extra_datafiles\ceon_uri_mapping_filenames.php
It's now working as it should.
Hi,
The custom menu software you have on the site is badly written. It can't cope with static URIs. You need to get the author of your menu software to fix it so that it can work with static URIs.
Currently it is generating URIs like:
http://ducashop.ro/ducashop/placate-...age=conditions
Clearly you can see that this should not include the current full path on the server (http://ducashop.ro/ducashop/placate-cu-aur-18k) but only http://ducashop.ro/ducashop/...
That's the only solution for you, but should be easy enough for the author of the menu software... have them update their software to use zen_href_link instead of whatever method they are using now to build the links.
All the best...
Conor
ceon
Hi,
Sorry but you haven't asked anything specific.
All the best..
Conor
ceon
Hi,
You haven't installed the software properly. Upload the files again.. the most common problem with installation now is people thinking they've uploaded all the files when they haven't.. often due to poor FTP software. I'd suggest trying FireFTP for Firefox, it's free software that has always seemed reliable to me.
All the best...
Conor
ceon
Hi,
If you haven't defined your custom product type with a filename then, yes, you must define it somewhere.. otherwise all you need to do is add the information to the product pages file as you did.
Glad you're sorted. Enjoy the new URIs!
All the best...
Conor
ceon
I had this installed for a while and all was well on zc v1.5.0 (link in my sig), but a while ago (not sure how long), it suddenly stopped working on internet explorer and wouldn't show 2nd or third level categories or any products (it showed but lost all formatting), so I have now turned it off, I am currently on CEON URI Mapping v4.0.7 but I have a message to say that 4.4.1 is available, would this fix this issue? It's just that I have to merge some admin files as I have this installed alongside numinix product fields so I don't really want to mess around unless I have to and if it will make a difference? or do you think the problem could be completely unrelated? if so, any ideas as to what it may be and how to fix would be appreciated.
Thanks in advance!
I have just installed this MOD V4.4.1 with ZC 1.5.0. Everything seems to work. When i add a new category or a new product, the corrrect pathway shows up, but when I click on the category, it displays no products. When i do a search for the product or use the NEW Products link and then click on product details, i get a 404 error. I have tried changing the MOD Rewrite rule but I still get the same errors. Any suggestions?
RewriteRule .* index.php [QSA,L]
RewriteRule .* /index.php [QSA,L]
RewriteRule .* /index.php [QSA,L,PT]
Thank you in advance for your help.
Connor, after reading through this thread for hours, i wonder cause of the problem I am having since it describes exactly the same issue I am having, I just do not know how to fix it.
Thanks
This is the code in the header file for the Template i am using
Code:<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER . DIR_WS_HTTPS_CATALOG : HTTP_SERVER . DIR_WS_CATALOG ); ?>" />
<?php if (isset($canonicalLink) && $canonicalLink != '') { ?>
<link rel="canonical" href="<?php echo $canonicalLink; ?>" />
<?php } ?>
I'm stuck in a loop when trying to checkout with version 4.4.1. Everything was working great, the friendly URLs were coming through. Navigating round the site has been good but when I go to Checkout I just get stuck in a loop at the login page. It looks like a redirect is forcing me back to login. I tried with and without the / on the rewrite rule, but have I missed something obvious?
Here are the log entries:
Code:127.0.0.1 - - [05/Nov/2012:13:58:31 +1100] "GET /op-shop/index.php?main_page=login HTTP/1.1" 200 38435 "http://localhost/op-shop/index.php?main_page=login" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4"
127.0.0.1 - - [05/Nov/2012:13:58:37 +1100] "POST /op-shop/index.php?main_page=login&action=process HTTP/1.1" 302 - "http://localhost/op-shop/index.php?main_page=login" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4"
127.0.0.1 - - [05/Nov/2012:13:58:37 +1100] "GET /op-shop/index.php?main_page=checkout_shipping HTTP/1.1" 302 - "http://localhost/op-shop/index.php?main_page=login" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4"
127.0.0.1 - - [05/Nov/2012:13:58:37 +1100] "GET /op-shop/index.php?main_page=login HTTP/1.1" 200 38419 "http://localhost/op-shop/index.php?main_page=login" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4"
So I deleted the files started over and still get the same issues. Rewrites the urls which I love but when I click on them they just loop back to the home page. I dont think it is the template,but I'm no expert. I'm usre this is somthing simple, just bugs the heck out of me that I cannot figure it out.
Hi,
It looks like something is indeed redirecting back but it's not Ceon URI Mapping.. none of those URIs are static URIs.. I think this is a conflict with something else you have put on the site.
All the best..
Conor
ceon
Hi,
I would suggest upgrading, it won't actually take you that long.. however, things don't just suddenly stop working. So you must have installed software that messed something up, or added something to your .htaccess file which has broken things.
All the best..
Conor
ceon
Conor,
Sent you an email. I know its getting late in the UK, thank you for your help and your great mods.
Hi,
Yes, you just got me before I stopped for the day, you should have received my response by now.. if not then a spam filter may be to blame!
Thanks for the nice comments, I'm really glad the software's useful to you! :)
All the best..
Conor
ceon
Got is and thanks. I want to make everyone clear, that the script works as advertised and the main issue was my htaccess file. Something, I honestly didnt know enough about.
I purchased the URI Mappings (Static URLs/URIs). https://ceon.net/software/business/z...ppings-manager and it is worth every penny, once installed thanks to Conor, it took seconds to change every product and category.
Thanks Again!
Assuming I know nothing about php:
Having uri-mapped categories called:
united-states/blue (category id is 1234)
united-kingdom/blue (category id is 5678)
.....
If i want to display my product_filter sidebox only on the above sub-category pages I can use this:
if ($cPath == '1234' or $cPath == '5678'){
$show_product_filter = true;
} else {
$show_product_filter = false;
}
But I have a LOT of sub-categories, with the same name to specify so I thought if I show the sidebox only when the URI Mapping is a certain value that it would be less work, by doing this:
$hide_filter = "select uri
from " . TABLE_CEON_URI_MAPPINGS . " cm
where current_uri = '1'
and cm.associated_db_id = '" . (int)$_GET['cPath'] . "'";
$hide = $db->Execute($hide_filter);
if ($hide == 'blue'){
$show_product_filter = true;
} else {
$show_product_filter = false;
}
The trouble is the uri's are actually /united-states/blue ...etc.
so using the == isn't correct. I'm just not sure what to use instead
Hi,
This is a PHP programming question, it's nothing to do with this thread really.
To answer your question specifically, you could simply check against the last part of the URI that you have identified as wanting to match.
You'd just extract the last part. Here's how to extract it from a string stored in "$uri"
However, your code is wrong, it will match Category URIs, Product URIs or EZ-Page URIs as you haven't limited the range of the page "types" that can use an associated_db_id.. the first one in the database with the ID of whatever the cPath is will match:PHP Code:
$last_slash_pos = strrpos($uri, '/');
$last_uri_part = substr($uri, $last_slash_pos + 1, strlen($uri) - ($last_slash_pos + 1));
if ($last_uri_part == 'blue') {
You'd be better off building the URI using the Ceon URI Mapping functionality, which can be easily instigated through a call to zen_href_link():PHP Code:
$hide_filter = "select uri
from " . TABLE_CEON_URI_MAPPINGS . " cm
where current_uri = '1'
and cm.associated_db_id = '" . (int)$_GET['cPath'] . "'";
As this is a very specific/personal programming question, it wouldn't be appropriate to reply here, please instead start a new thread.PHP Code:
$parameters = 'cPath=' . $cPath;
$uri = zen_href_link(FILENAME_DEFAULT, $parameters);
All the best...
Conor
ceon
Thank you taking the time to reply Conor
I was in two minds whether to post in Zen pub or here - chose here as I thought this thread might better recognise the ceon_mapping database references.
I've taken on board what you've said and have managed to get it working satisfactorily.
Looks like I now know a bit of php - amazing what a nights sleep can do.