-
Ceon URI Mapping V5.0
Please welcome the latest version on my brothers SEO module Ceon URL mapping, V 5.0.0.
I wish to thank the Zen Cart community for your patience while our family have been rebuilding our lives as well as rebuilding Ceon in honour of my brother.
I wish to thank those of you who have supported the previous versions with bug fixes and updates, and those of you that reached out to us to give your time and skills to make this possible, you know who you all are.
Please do not Private Message me for support questions, I will not be in a position to reply. All questions should be asked here on the new thread for all to benefit from.
Plugin Link:
https://www.zen-cart.com/downloads.php?do=file&id=2250
Thank you all.
Neil.
-
Re: Ceon URI Mapping V5.0
Once the module has been approved by the Admins I will post a link. In the meantime all Ceon releases are available here.
-
Re: Ceon URI Mapping V5.0
Just want to say :clap: and thanks!
-
Re: Ceon URI Mapping V5.0
It seems wrong that these 2 files are there up to 1.5.4 and then they disappear in 1.5.5 and 1.5.6.
./modified_core_files/1.5.4/includes/functions/html_output.php
./modified_core_files/1.5.4/admin/includes/functions/html_output.php
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
swguy
It seems wrong that these 2 files are there up to 1.5.4 and then they disappear in 1.5.5 and 1.5.6.
./modified_core_files/1.5.4/includes/functions/html_output.php
./modified_core_files/1.5.4/admin/includes/functions/html_output.php
sorry to ask, but ...why?
-
Re: Ceon URI Mapping V5.0
What I'm saying is, "I believe modifications are still required to these two core files in 1.5.5 and 1.5.6."
-
Re: Ceon URI Mapping V5.0
Ok. I've tested this version a couple of weeks ago, and it seamed ok, that's why I'm asking, because I've been away from zc code for a while. You've found some issues?
-
Re: Ceon URI Mapping V5.0
I'm working with an older version, and there, the changes to includes/functions/html_output.php are still required. How is it that they are not required with this version, and only not required in 1.5.5 and 1.5.6? What changed?
-
Re: Ceon URI Mapping V5.0
Now it uses some javascript to add the code, but I'm "talking out of my head" on those specific files.
-
Re: Ceon URI Mapping V5.0
it's using a observer "class.ceon_uri_mapping_link_build.php" to replace html_output.php code
-
Re: Ceon URI Mapping V5.0
Fantastic - thank you. I was hoping it was something like that rather than, "Oh nuts, we forgot to check in all the files." :)
-
Re: Ceon URI Mapping V5.0
Not sure who's behind the code, but I take my hat off. It's a seamless upgrade ( at least from 155 up ), and 156 installation. I guess it was or is "delayed" because of the new documentation.
-
Re: Ceon URI Mapping V5.0
i tried to download this and there was nothing in the download, where do i find it, i am trying to up grade
-
Re: Ceon URI Mapping V5.0
-
Re: Ceon URI Mapping V5.0
@Neil I'd recommend that versions prior to 1.5.6 (or perhaps 1.5.5) be removed from this module to make it smaller - people with older carts can use the older contribution (https://www.zen-cart.com/downloads.php?do=file&id=889)
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mesnitu
Not sure who's behind the code, but I take my hat off. It's a seamless upgrade ( at least from 155 up ), and 156 installation. I guess it was or is "delayed" because of the new documentation.
Seconded. Works like a champ and oh how sweet not to have to update all those core files.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
swguy
Seconded. Works like a champ and oh how sweet not to have to update all those core files.
And a third! Great job.
-
Re: Ceon URI Mapping V5.0
Getting a log for field language_code_add
Code:
--> PHP Fatal error: 1054:Unknown column 'language_code_add' in 'field list' :: ^M
SELECT^M
autogen_new,^M
whitespace_replacement,^M
capitalisation,^M
remove_words,^M
char_str_replacements,^M
language_code_add,^M
mapping_clash_action^M
FROM^M
zen_ceon_uri_mapping_configs^M
WHERE^M
id ='1'; ==> (as called by) /home/mysite/public_html/includes/classes/class.CeonURIMappingAdmin.php on line 176 <== in /home/mysite/public_html/includes/classes/db/mysql/query_factory.php on line 171.
Maybe I didn't do the Admin->Modules-Ceon SEO Configuration step?
-
Re: Ceon URI Mapping V5.0
When I tried this out the first time I also had this error where the auto-update did not work.
I saved the query just in case:
Quote:
ALTER TABLE `ceon_uri_mapping_configs` ADD `language_code_add` INT(1) UNSIGNED NOT NULL AFTER `char_str_replacements`;
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
swguy
Getting a log for field language_code_add
Code:
--> PHP Fatal error: 1054:Unknown column 'language_code_add' in 'field list' :: ^M
SELECT^M
autogen_new,^M
whitespace_replacement,^M
capitalisation,^M
remove_words,^M
char_str_replacements,^M
language_code_add,^M
mapping_clash_action^M
FROM^M
zen_ceon_uri_mapping_configs^M
WHERE^M
id ='1'; ==> (as called by) /home/mysite/public_html/includes/classes/class.CeonURIMappingAdmin.php on line 176 <== in /home/mysite/public_html/includes/classes/db/mysql/query_factory.php on line 171.
Maybe I didn't do the Admin->Modules-Ceon SEO Configuration step?
Yeah, looks like the "upgrade" section (going to Admin->Modules->Ceon SEO Configuration step) didn't get run before the error log came in. The field is added through that process and it looks like without executing it the field is missing as reported.
-
Re: Ceon URI Mapping V5.0
Hi everyone,
Has this been 1.5.6b tested?.
I am working on a fresh install & no other moudules on site yet (of course except payment and shipping)
I am familiar with earlier versions of this module.
Do we have a go for it?
Thanks!
-
Re: Ceon URI Mapping V5.0
Works like a champ. Just be sure to visit the upgrade page as noted earlier in this thread.
-
Re: Ceon URI Mapping V5.0
Thumbs up for the plugin, Upgraded and followed instructions and works like a charm on 1.5.6a :D
-
Re: Ceon URI Mapping V5.0
I'm upgrading a site that was using 3.6.3. Installation went smoothly, but I get:
--> PHP Fatal error: 1054:Unknown column 'manage_product_reviews_info_mappings' in 'field list' ::
When accessing Admin>Modules>CEON URI Mapping (SEO) Config
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
jeking
I'm upgrading a site that was using 3.6.3. Installation went smoothly, but I get:
--> PHP Fatal error: 1054:Unknown column 'manage_product_reviews_info_mappings' in 'field list' ::
When accessing Admin>Modules>CEON URI Mapping (SEO) Config
After attempting to access that page, if you add to the Web address:
?check-config=1
Does that make it successful?
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
After attempting to access that page, if you add to the Web address:
?check-config=1
Does that make it successful?
Thanks for the suggestion, but no. I get the same error.
Just to clarify, if needed, the page displays WARNING: An Error occurred, please refresh the page and try again. The error I reported is from the logs folder.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
jeking
Thanks for the suggestion, but no. I get the same error.
Just to clarify, if needed, the page displays WARNING: An Error occurred, please refresh the page and try again. The error I reported is from the logs folder.
That's what I was guessing (the message and logs folder entry). Are you able to look at the database tables to see if the field: mapping_clash_action is already in the table? I was looking through the table check code and well, seems that no initial action changes were made to affect upgrade from 3.6.3, the 3.6.3 code doesn't look like it has that field, but then again swiping through my mobile doesn't mean I could easily find it. :)
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
That's what I was guessing (the message and logs folder entry). Are you able to look at the database tables to see if the field: mapping_clash_action is already in the table? I was looking through the table check code and well, seems that no initial action changes were made to affect upgrade from 3.6.3, the 3.6.3 code doesn't look like it has that field, but then again swiping through my mobile doesn't mean I could easily find it. :)
I figured you had the errors straight, just wanted to be sure.
These are the three ceon tables I see: http://prntscr.com/o7699q
And in ceon_uri_mapping_prp_uri_parts, I see: http://prntscr.com/o769v1
-
Re: Ceon URI Mapping V5.0
It looks like the table in question would be ceon_uri_mapping_configs
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
It looks like the table in question would be ceon_uri_mapping_configs
There's only one entry in that table: http://prntscr.com/o76ypz
I checked another site and it's got only one entry in this table as well. Slightly different, but about the same.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
jeking
There's only one entry in that table:
http://prntscr.com/o76ypz
I checked another site and it's got only one entry in this table as well. Slightly different, but about the same.
Yeah, there would be one entry (row) of data, the question was related to what fields are in that table.
Now that I've looked at the correct version of the code (I was looking at some 4.x version), might I suggest executing the following in tools->Install SQL Patches and then a little navigation?
Code:
ALTER TABLE ceon_uri_mapping_configs DROP language_code_add;
Then, navigate to the Ceon URI Mapping (SEO) Config (likely will fault again), add ?check-config=1 to the end of the browser path and move forward with that address. Looks like should get a success install/upgrade. If not, then perhaps there is more to the error log? Have the files been removed that are directed in the instructions? Code seems to direct insertion of the field that is considered missing and to do so in a step-by-step sequence.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
Yeah, there would be one entry (row) of data, the question was related to what fields are in that table.
Now that I've looked at the correct version of the code (I was looking at some 4.x version), might I suggest executing the following in tools->Install SQL Patches and then a little navigation?
Code:
ALTER TABLE ceon_uri_mapping_configs DROP language_code_add;
Then, navigate to the Ceon URI Mapping (SEO) Config (likely will fault again), add ?check-config=1 to the end of the browser path and move forward with that address. Looks like should get a success install/upgrade. If not, then perhaps there is more to the error log? Have the files been removed that are directed in the instructions? Code seems to direct insertion of the field that is considered missing and to do so in a step-by-step sequence.
Ding, ding, ding....we have a winner. I did get the success message and looks like it's all set now. Thank you for helping out. :D
-
Re: Ceon URI Mapping V5.0
Custom Product Types
Hi Guys,
Just want to put this in here in case it helps anyone in the future as I could not find the answer in the docs.
If you have made any custom product types (e.g product_car) you will need to add that into the file /includes/extra_datafiles/ceon_uri_mapping_product_pages.php or else these will not output on your page correctly.
For Example
PHP Code:
$ceon_uri_mapping_product_pages = array_merge(array(
FILENAME_DOCUMENT_GENERAL_INFO,
FILENAME_DOCUMENT_PRODUCT_INFO,
FILENAME_PRODUCT_INFO,
FILENAME_PRODUCT_CAR_INFO,
FILENAME_PRODUCT_BOOK_INFO,
FILENAME_PRODUCT_FREE_SHIPPING_INFO,
FILENAME_PRODUCT_MUSIC_INFO
), $ceon_uri_mapping_product_pages);
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
DannyVarley
Custom Product Types
Hi Guys,
Just want to put this in here in case it helps anyone in the future as I could not find the answer in the docs.
If you have made any custom product types (e.g product_car) you will need to add that into the file /includes/extra_datafiles/ceon_uri_mapping_product_pages.php or else these will not output on your page correctly.
For Example
Code:
$ceon_uri_mapping_product_pages = array_merge(array(
FILENAME_DOCUMENT_GENERAL_INFO,
FILENAME_DOCUMENT_PRODUCT_INFO,
FILENAME_PRODUCT_INFO,
FILENAME_PRODUCT_CAR_INFO,
FILENAME_PRODUCT_BOOK_INFO,
FILENAME_PRODUCT_FREE_SHIPPING_INFO,
FILENAME_PRODUCT_MUSIC_INFO
), $ceon_uri_mapping_product_pages);
Or you could do something that doesn't require modifying the existing code (which would likely be included on some future update) like adding another file: includes/extra_datafiles/ceon_uri_mapping_added_product_pages.php or:
includes/extra_datafiles/ceon_uri_mapping_car_product_pages.php
Code:
<?php
/**
* These are pages in addition to those assigned to support Ceon URI Mapping.
**/
// ensure the variable is declared with expectation of it being an array already.
if (empty($ceon_uri_mapping_product_pages)) $ceon_uri_mapping_product_pages = array();
$ceon_uri_mapping_product_pages[] = FILENAME_PRODUCT_CAR_INFO;
Regardless which order the files are loaded, the information would be added together and when/if the Ceon software is updated again in the future, no file merge specifically necessary. For a Zen Cart rebuild, would be an additional file to review for necessity in transferring based on what is installed to the new site. But guess everyone has their preferred method and style.
I like to look for changes and then the impact those changes have on other things, in this area of code if there are no changes that seem to affect the loading of product type pages, then I would not expect to have to search for things that I may have modified/added to support additional product types.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
Or you could do something that doesn't require modifying the existing code (which would likely be included on some future update) like adding another file: includes/extra_datafiles/ceon_uri_mapping_added_product_pages.php or:
includes/extra_datafiles/ceon_uri_mapping_car_product_pages.php
Yep good idea, Im no good with code so I didn't have a clue to do it like this. Only reason I did it my way was it said so in the file
"If the store has any custom product page types, add their info page definitions to the list."
Thanks for the better understanding.
-
Re: Ceon URI Mapping V5.0
Testing an install of Ceon URI Mapping v5.0 on a fresh install of Zen Cart v1.5.6c
When enabled, the catalog crashes with the following error code: ERR_TOO_MANY_REDIRECTS
The part of the module that seems to be generating those redirects is located at:
includes/classes/class.CeonURIMappingHandlerBase.php
... between lines 403 and 406.
Any idea on how to fix that?
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
wvasconcelos
Testing an install of Ceon URI Mapping v5.0 on a fresh install of Zen Cart v1.5.6c
When enabled, the catalog crashes with the following error code: ERR_TOO_MANY_REDIRECTS
The part of the module that seems to be generating those redirects is located at:
includes/classes/class.CeonURIMappingHandlerBase.php
... between lines 403 and 406.
Any idea on how to fix that?
What is in the .htaccess at the root of the store and/or above?
-
Re: Ceon URI Mapping V5.0
Is there a GitHub repository for this?
-
Re: Ceon URI Mapping V5.0
Noting that the override to /admin/includes/javascript_loader.php is using the zc156 version (with jQuery 3.3.1). That file was updated in zc156b to use jQuery 3.4.0.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
What is in the .htaccess at the root of the store and/or above?
Following is the content of my .htaccess file:
Code:
## BEGIN CEON URI MAPPING REWRITE RULE
RewriteEngine On
# 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|woff2)$ [NC]
# Don't rewrite admin directory
RewriteCond %{REQUEST_URI} !^/manager [NC]
# Don't rewrite editors directory
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
# Don't rewrite logs directory
RewriteCond %{REQUEST_URI} !^/logs/ [NC]
# Don't rewrite readme directory
RewriteCond %{REQUEST_URI} !^/readme/ [NC]
# Handle all other URIs using Zen Cart (its index.php)
RewriteRule .* index.php [QSA,L]
## END CEON URI MAPPING REWRITE RULE
-
Re: Ceon URI Mapping V5.0
Quote:
Is there a GitHub repository for this?
Not a public one. You have to contact them directly to get one.
-
Re: Ceon URI Mapping V5.0
On initial entry to Modules->Ceon URI Mapping (SEO) Config after applying the file-set to an in-progress zc156c upgrade (plugin's database elements exist from the store's zc154 version), I received the following PHP Notices:
Code:
[22-Jul-2019 11:29:31 America/New_York] Request URI: /store/my_admin/ceon_uri_mapping_config.php, IP address: ::1
#1 CeonURIMappingInstallOrUpgrade->_checkProductRelatedPagesURIPartsExistForLanguages() called at [C:\xampp\htdocs\store\my_admin\includes\classes\class.CeonURIMappingInstallOrUpgrade.php:122]
#2 CeonURIMappingInstallOrUpgrade->__construct() called at [C:\xampp\htdocs\store\my_admin\includes\classes\class.CeonURIMappingConfigUtility.php:242]
#3 CeonURIMappingConfigUtility->_checkInstalledAndUpToDate() called at [C:\xampp\htdocs\store\my_admin\includes\classes\class.CeonURIMappingConfigUtility.php:201]
#4 CeonURIMappingConfigUtility->__construct() called at [C:\xampp\htdocs\store\my_admin\ceon_uri_mapping_config.php:28]
--> PHP Notice: Undefined index: ask_a_question in C:\xampp\htdocs\store\my_admin\includes\classes\class.CeonURIMappingInstallOrUpgrade.php on line 533.
[22-Jul-2019 11:29:32 America/New_York] Request URI: /store/my_admin/ceon_uri_mapping_config.php, IP address: ::1
#1 CeonURIMappingConfigUtility->_buildAutoManagedProductURIsConfigPanel() called at [C:\xampp\htdocs\store\my_admin\includes\classes\class.CeonURIMappingConfigUtility.php:667]
#2 CeonURIMappingConfigUtility->_buildConfigUtilityInterface() called at [C:\xampp\htdocs\store\my_admin\includes\classes\class.CeonURIMappingConfigUtility.php:215]
#3 CeonURIMappingConfigUtility->__construct() called at [C:\xampp\htdocs\store\my_admin\ceon_uri_mapping_config.php:28]
--> PHP Notice: Undefined property: CeonURIMappingConfigUtility::$_ask_a_question_pages_uri_parts in C:\xampp\htdocs\store\my_admin\includes\classes\class.CeonURIMappingConfigUtility.php on line 1084.
I'll note that the notices are not displayed on re-entry to the tool.
-
Re: Ceon URI Mapping V5.0
I'm also having "The page isn't redirecting properly". I've got a test site set up in my local XAMPP environment,
having made the modifications suggested by @torvista on this support-thread posting for v4 of the URI mappings.
My local site's configuration, provided in /local/configure.php identifies the HTTP_SERVER as 'http://www.mysite.local' and the DIR_WS_SERVER is set to '/'.
The .htaccess file contains the ceon-generated defaults:
Code:
## BEGIN CEON URI MAPPING REWRITE RULE
RewriteEngine On
# 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|woff2)$ [NC]
# Don't rewrite admin directory
RewriteCond %{REQUEST_URI} !^/myadmin [NC]
# Don't rewrite editors directory
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
# Don't rewrite feed directory
RewriteCond %{REQUEST_URI} !^/feed/ [NC]
# Don't rewrite logs directory
RewriteCond %{REQUEST_URI} !^/logs/ [NC]
# Handle all other URIs using Zen Cart (its index.php)
RewriteRule .* index.php [QSA,L]
## END CEON URI MAPPING REWRITE RULE
The multiple redirects are, as identified by @wvasconselos here, within the `_checkForAndHandleIndexPage` processing for the index page.
I enter www.mysite.local in the browser address bar, I'm seeing that on entry to that function that `$request_uri` is set to '/', `$_GET['main_page']` is set to 'index' and no other $_GET variables are present. The `$redirection_uri` to which the request is sent is '/' (same as entered); that's where the loop arises.
I'll also note that the site displays once the URI mappings are disabled in the admin.
-
Re: Ceon URI Mapping V5.0
You beat me to it.
Following upgrade to 1.56c CEON URI 5.0 is producing a 301 error - store side. Likewise disabling the mod and all's well.
During the upgrade everythings ok with all 1.56c file changes except /includes/auto_loaders/config.core.php - this breaks CEON URI 5.0/ZC
The 1.56c changes to this file seem to be a reordering of init_sanitize.php and init_script.php.
edit: on a local machine using wampserver
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
simon1066
You beat me to it.
Following upgrade to 1.56c CEON URI 5.0 is producing a 301 error - store side. Likewise disabling the mod and all's well.
During the upgrade everythings ok with all 1.56c file changes except /includes/auto_loaders/config.core.php - this breaks CEON URI 5.0/ZC
The 1.56c changes to this file seem to be a reordering of init_sanitize.php and init_script.php.
edit: on a local machine using wampserver
Nice bit of debugging, @simon1066! I was able to successfully load my locally-hosted storefront by modifying /includes/auto_loaders/config.ceon_uri_mapping.php, changing
Code:
$autoLoadConfig[99][] = array(
'autoType' => 'classInstantiate',
'className' => 'CeonURIMappingHandler',
'objectName' => 'ceon_uri_mapping'
);
to
Code:
$autoLoadConfig[95][] = array(
'autoType' => 'classInstantiate',
'className' => 'CeonURIMappingHandler',
'objectName' => 'ceon_uri_mapping'
);
-
Re: Ceon URI Mapping V5.0
Glad to have spotted it. Thank you for the fix, that makes sense although I wouldn't have thought of it - I will next time though.
-
Re: Ceon URI Mapping V5.0
Looks like there are two ways to address the issue in light of that situation.
Either change the loadpoint of CeonURIMappingHandler to say 95 (as suggested by lat9) from 99 (would think some review would be desirable based on the move of the init_sanitize load point from 100 to 96) or to leave the loadpoint alone and modify the code in the class to something like:
Code:
// Handle variations of the index page URI
if ((isset($_GET['main_page']) &&
(strlen($_GET['main_page']) == 0 || $_GET['main_page'] == FILENAME_DEFAULT) &&
!isset($_GET['cPath']) && !isset($_GET['manufacturers_id']) && !isset($_GET['typefilter']) && $request_uri == strtolower(DIR_WS_CATALOG) . 'index.php') ||
(!isset($_GET['main_page']) && $request_uri == strtolower(DIR_WS_CATALOG) . 'index.php')) {
though with the complexity of that 'if' statement I would think that there is a better way to rewrite it to capture all of the conditions.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
Looks like there are two ways to address the issue in light of that situation.
Either change the loadpoint of CeonURIMappingHandler to say 95 (as suggested by lat9) from 99 (would think some review would be desirable based on the move of the init_sanitize load point from 100 to 96) or to leave the loadpoint alone and modify the code in the class to something like:
Code:
// Handle variations of the index page URI
if ((isset($_GET['main_page']) &&
(strlen($_GET['main_page']) == 0 || $_GET['main_page'] == FILENAME_DEFAULT) &&
!isset($_GET['cPath']) && !isset($_GET['manufacturers_id']) && !isset($_GET['typefilter']) && $request_uri == strtolower(DIR_WS_CATALOG) . 'index.php') ||
(!isset($_GET['main_page']) && $request_uri == strtolower(DIR_WS_CATALOG) . 'index.php')) {
though with the complexity of that 'if' statement I would think that there is a better way to rewrite it to capture all of the conditions.
Nix the code change highlighted in red as it doesn't resolve all conditions expected to address.
-
Re: Ceon URI Mapping V5.0
ZC v1.56c
PHP v7.2.10
In admin > modules > payment with Paypal EC and Square enabled I get these PHP warnings on a page refresh:
(this refers to paypal.php, the others refer to paypalwpp.php & square.php)
Code:
[24-Jul-2019 18:33:45 Europe/London] Request URI: /admin/modules.php?set=payment, IP address: 127.0.0.1
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [D:\wamp64\www\mydomain.co.uk\includes\classes\class.base.php:103]
#2 base->notify() called at [D:\wamp64\www\mydomain.co.uk\admin\includes\functions\html_output.php:50]
#3 zen_catalog_href_link() called at [D:\wamp64\www\mydomain.co.uk\includes\languages\english\modules\payment\paypal.php:14]
#4 include(D:\wamp64\www\mydomain.co.uk\includes\languages\english\modules\payment\paypal.php) called at [D:\wamp64\www\mydomain.co.uk\admin\modules.php:192]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in D:\wamp64\www\mydomain.co.uk\admin\includes\classes\observers\class.CeonURIMappingLinkBuildAdmin.php on line 46.
relevant lines in admin\includes\classes\observers\class.CeonURIMappingLinkBuildAdmin.php are:
Code:
if ($connection == 'NONSSL') {
$link = HTTP_SERVER;
} elseif ($connection == 'SSL') {
if (ENABLE_SSL == 'true') {
$link = HTTPS_SERVER;
} else {
$link = HTTP_SERVER;
}
}
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
simon1066
ZC v1.56c
PHP v7.2.10
In admin > modules > payment with Paypal EC and Square enabled I get these PHP warnings on a page refresh:
(this refers to paypal.php, the others refer to paypalwpp.php & square.php)
Code:
[24-Jul-2019 18:33:45 Europe/London] Request URI: /admin/modules.php?set=payment, IP address: 127.0.0.1
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [D:\wamp64\www\mydomain.co.uk\includes\classes\class.base.php:103]
#2 base->notify() called at [D:\wamp64\www\mydomain.co.uk\admin\includes\functions\html_output.php:50]
#3 zen_catalog_href_link() called at [D:\wamp64\www\mydomain.co.uk\includes\languages\english\modules\payment\paypal.php:14]
#4 include(D:\wamp64\www\mydomain.co.uk\includes\languages\english\modules\payment\paypal.php) called at [D:\wamp64\www\mydomain.co.uk\admin\modules.php:192]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in D:\wamp64\www\mydomain.co.uk\admin\includes\classes\observers\class.CeonURIMappingLinkBuildAdmin.php on line 46.
relevant lines in admin\includes\classes\observers\class.CeonURIMappingLinkBuildAdmin.php are:
Code:
if ($connection == 'NONSSL') {
$link = HTTP_SERVER;
} elseif ($connection == 'SSL') {
if (ENABLE_SSL == 'true') {
$link = HTTPS_SERVER;
} else {
$link = HTTP_SERVER;
}
}
Looks like those are incorrectly trying to resolve to "admin" style links instead of the expected catalog style.
in admin\includes\classes\observers\class.CeonURIMappingLinkBuildAdmin.php
Change:
Code:
if ($connection == 'NONSSL') {
$link = HTTP_SERVER;
} elseif ($connection == 'SSL') {
if (ENABLE_SSL == 'true') {
$link = HTTPS_SERVER;
} else {
$link = HTTP_SERVER;
}
}
To:
Code:
if ($connection == 'NONSSL') {
$link = HTTP_CATALOG_SERVER;
} elseif ($connection == 'SSL') {
if (ENABLE_SSL_CATALOG == 'true') {
$link = HTTPS_CATALOG_SERVER;
} else {
$link = HTTP_CATALOG_SERVER;
}
}
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
Code:
if ($connection == 'NONSSL') {
$link = HTTP_CATALOG_SERVER;
} elseif ($connection == 'SSL') {
if (ENABLE_SSL_CATALOG == 'true') {
$link = HTTPS_CATALOG_SERVER;
} else {
$link = HTTP_CATALOG_SERVER;
}
}
Thank you @mc12345678, that solved the issue.
-
Re: Ceon URI Mapping V5.0
I've just installed this on 1.5.6, and wanted to say, great job. It is a bloody fantastic bit of software.
-
Re: Ceon URI Mapping V5.0
Has anybody got Ceon's Mapping Manager installed on 1.5.6? I would like to buy it as my store already has thousands of products and I don't want to map them manually, but just wanted to be sure it has also been updated to 1.5.6.
-
Re: Ceon URI Mapping V5.0
On their site they have an updated version, no doubt that works.
(I modified the old one before they had that available and haven't got a need for the new one yet.)
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
torvista
On their site they have an updated version, no doubt that works.
(I modified the old one before they had that available and haven't got a need for the new one yet.)
Thank you.
Another question, has anybody got this working with Dynamic Filter plugin? IS there any way to get them to work together? The mapping works brilliantly, but any attempt to filter dynamically results in a 404 error.
-
Re: Ceon URI Mapping V5.0
I need to add more information to this:
I am using ZC1.5.6
Plugins:
Dynamic Filter
CEON URI Mapping
Easy Populate 4
Running on an Apache server with PHP 7.1.
The URL is formed as folowing:
mydomain.co.uk/dynamic_filter?cPath=108_109_112&sort=20a&fltExpressDelivery[]=1+Day+Express+Delivery
but all the results disappear and give a 404 error instead.
It seems to be missing part of the URL, my other site with just Dynamic FIlter gives a result like this:
mydomain.co.uk/dynamic_filter?main_page=index&cPath=293_347_348&sort=20a&fltCategories%5B%5D=Pe ns
The "main_page=index&" is missing from the URL that is not functioning. If I paste it in, then suddenly it redirects to the URI mapped category names, and displays the correct results.
Is this perhaps something that can be fixed from the .htaccess entry?
-
Re: Ceon URI Mapping V5.0
applied the fix listed above here
and the site is working for known pages.
If I enable "Auto-generate URIs for Unmapped Categories/Products/Manufacturers/EZ-Pages"
I get this error
Code:
#1 trigger_error() called at [/home/spares/public_html/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/home/spares/public_html/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/home/spares/public_html/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/home/spares/public_html/includes/classes/class.CeonURIMappingAdminEZPages.php:189]
#5 CeonURIMappingAdminEZPages->autogenEZPageURIMapping() called at [/home/spares/public_html/includes/classes/class.CeonURIMappingHREFLinkBuilder.php:685]
#6 CeonURIMappingHREFLinkBuilder->_autogenEZPageURIMapping() called at [/home/spares/public_html/includes/classes/class.CeonURIMappingHREFLinkBuilder.php:337]
#7 CeonURIMappingHREFLinkBuilder->buildHREFLink() called at [/home/spares/public_html/includes/classes/observers/class.ceon_uri_mapping_link_build.php:47]
#8 CeonUriMappingLinkBuild->updateNotifySefuIntercept() called at [/home/spares/public_html/includes/classes/class.base.php:103]
#9 base->notify() called at [/home/spares/public_html/includes/functions/html_output.php:35]
#10 zen_href_link() called at [/home/spares/public_html/includes/functions/functions_ezpages.php:53]
#11 zen_ez_pages_link() called at [/home/spares/public_html/includes/templates/yourstore/common/tpl_header_v2.php:122]
#12 require(/home/spares/public_html/includes/templates/yourstore/common/tpl_header_v2.php) called at [/home/spares/public_html/includes/templates/yourstore/common/tpl_main_page.php:192]
#13 require(/home/spares/public_html/includes/templates/yourstore/common/tpl_main_page.php) called at [/home/spares/public_html/index.php:97]
--> PHP Fatal error: 1054:Unknown column 'pages_title' in 'field list' ::
SELECT
pages_title
FROM
ezpages
WHERE
pages_id = '27'
AND
languages_id = '1' ==> (as called by) /home/spares/public_html/includes/classes/class.CeonURIMappingAdminEZPages.php on line 189 <== in /home/spares/public_html/includes/classes/db/mysql/query_factory.php on line 171.
Changing /includes/classes/class.CeonURIMappingAdminEZPages.php
Code:
FROM " . TABLE_EZPAGES . "
to
Code:
FROM " . TABLE_EZPAGES_CONTENT . "
Solves that problem
-
Re: Ceon URI Mapping V5.0
If "Auto-generate URIs for Unmapped Categories/Products/Manufacturers/EZ-Pages" is enabled, creating category mappings in the Manager appears to hang.
-
Re: Ceon URI Mapping V5.0
I wasn't able to reproduce either of the errors in the last two posts.
-
Re: Ceon URI Mapping V5.0
Then you are a winner and I am unlucky
-
Re: Ceon URI Mapping V5.0
Hi All!
Just upgraded to 1.5.6c and also grabbed the new version of this mod. After getting a 500 error and not because of the mod rewrite I managed to get most of the site working with 'lat9' trick changing the $autoLoadConfig[95].
However EzPages do not work I get the error 'WARNING: An Error occurred, please refresh the page and try again.' Anybody have any ideas why this is happening or how to fix it?
Thanks in advance!
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
Draxwyn
Hi All!
Just upgraded to 1.5.6c and also grabbed the new version of this mod. After getting a 500 error and not because of the mod rewrite I managed to get most of the site working with 'lat9' trick changing the $autoLoadConfig[95].
However EzPages do not work I get the error 'WARNING: An Error occurred, please refresh the page and try again.' Anybody have any ideas why this is happening or how to fix it?
Thanks in advance!
Does the error happen on the admin side or the catalog? Be sure that have accessed the module from the admin side to support database upgrade/install. For the issue on the catalog side using the provided version of this software, there should not be any issues as the code referenced a few posts back is not executed (nor exists at the reported line number) in normal operation.
Lastly, although in normal form, I have taken a guess at the situation, reporting what is in the myDebug file generated in the logs directory would help as well as addressing the posting tips. For example, upgraded to ZC 1.5.6c from what version?
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
Does the error happen on the admin side or the catalog? Be sure that have accessed the module from the admin side to support database upgrade/install. For the issue on the catalog side using the provided version of this software, there should not be any issues as the code referenced a few posts back is not executed (nor exists at the reported line number) in normal operation.
Lastly, although in normal form, I have taken a guess at the situation, reporting what is in the myDebug file generated in the logs directory would help as well as addressing the posting tips. For example, upgraded to ZC 1.5.6c from what version?
The error is occuring on the catalog side, so when the link to an ezpage is clicked instead of loading the easy page (it has the correct URL in the bar) it just displays the error 'WARNING: An Error occurred, please refresh the page and try again.' It only happens on ezpages on the catalog side. Admin side I can still access, setup and configure ezpages no problems on that side just when as a customer they would try to view it.
Everything as far as I can see has been setup and installed correctly. ZC was updated from 1.5.5 to the latest version 1.5.6c. CEON URI mapping was updated from ceon_uri_mapping_4.4.2_for_zc to ceon_uri_mapping_5.0.0_for_zc, which for the most part when smoothly other than having to remove a couple of old ceon calls that the configuration tool said it no longer needed for it. All other URLs now have the nice naming and work it is just the ezpages that return this error with this ceon mod enabled, they work without it enabled.
No myDebug file has been created so it is only the error displayed on the screen.
My understanding of the somewhat generic error that is being thrown is that the php code can't connect to the DB, but as absolutely everything else works and ZC can connect to the DB elsewhere I am stumped as that what the problem is.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
Draxwyn
The error is occuring on the catalog side, so when the link to an ezpage is clicked instead of loading the easy page (it has the correct URL in the bar) it just displays the error 'WARNING: An Error occurred, please refresh the page and try again.' It only happens on ezpages on the catalog side. Admin side I can still access, setup and configure ezpages no problems on that side just when as a customer they would try to view it.
Everything as far as I can see has been setup and installed correctly. ZC was updated from 1.5.5 to the latest version 1.5.6c. CEON URI mapping was updated from ceon_uri_mapping_4.4.2_for_zc to ceon_uri_mapping_5.0.0_for_zc, which for the most part when smoothly other than having to remove a couple of old ceon calls that the configuration tool said it no longer needed for it. All other URLs now have the nice naming and work it is just the ezpages that return this error with this ceon mod enabled, they work without it enabled.
No myDebug file has been created so it is only the error displayed on the screen.
My understanding of the somewhat generic error that is being thrown is that the php code can't connect to the DB, but as absolutely everything else works and ZC can connect to the DB elsewhere I am stumped as that what the problem is.
Well, being able to actually have information to evaluate would make it easier for everyone. That message is covered by this FAQ: https://www.zen-cart.com/content.php...-and-try-again
Sounds like either writing error messages to file has been disabled, the logs folder is in some way "protected" from receiving additional logs. With that message in ZC 1.5.6, a relatively detailed log file should be generated.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
lat9
Nice bit of debugging, @simon1066! I was able to successfully load my locally-hosted storefront by modifying /includes/auto_loaders/config.ceon_uri_mapping.php, changing
Code:
$autoLoadConfig[99][] = array(
'autoType' => 'classInstantiate',
'className' => 'CeonURIMappingHandler',
'objectName' => 'ceon_uri_mapping'
);
to
Code:
$autoLoadConfig[95][] = array(
'autoType' => 'classInstantiate',
'className' => 'CeonURIMappingHandler',
'objectName' => 'ceon_uri_mapping'
);
thank you so much.. it helped me also..
thank you
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
Draxwyn
The error is occuring on the catalog side, so when the link to an ezpage is clicked instead of loading the easy page (it has the correct URL in the bar) it just displays the error 'WARNING: An Error occurred, please refresh the page and try again.' It only happens on ezpages on the catalog side. Admin side I can still access, setup and configure ezpages no problems on that side just when as a customer they would try to view it.
Everything as far as I can see has been setup and installed correctly. ZC was updated from 1.5.5 to the latest version 1.5.6c. CEON URI mapping was updated from ceon_uri_mapping_4.4.2_for_zc to ceon_uri_mapping_5.0.0_for_zc, which for the most part when smoothly other than having to remove a couple of old ceon calls that the configuration tool said it no longer needed for it. All other URLs now have the nice naming and work it is just the ezpages that return this error with this ceon mod enabled, they work without it enabled.
No myDebug file has been created so it is only the error displayed on the screen.
My understanding of the somewhat generic error that is being thrown is that the php code can't connect to the DB, but as absolutely everything else works and ZC can connect to the DB elsewhere I am stumped as that what the problem is.
I managed to resolve the issue. Updating ZC locked the logs folder so no log files were being generated. Once I got that fixed and replicated the problem to get a log file I found that one of the files didn't upload properly or became corrupt during update of ZC, after fixing that everything is now working as expected.
-
Re: Ceon URI Mapping V5.0
I'm on a fresh install of 1.5.6c using Tableau2 template which itself installs IH4, numinix disk cache, css js loader and homepage product carousels.
Quite stuck installing the plugin because I can't make some edits to template files since the code isn't in the file for this template.
I uploaded everything from files/admin and files/includes
Made the edits to modified_core_files/1.5.6/admin/includes/javascript_loader
This file which needed editing did not exist on my server so I just uploaded it: modified_core_files/1.5.6/includes/init_includes/init_add_crumbs
Instructions state (I think) my 1.5.6c install should need these files but they don't exist in the plugin folder
includes/init_includes/overrides/init_canonical.php (Zen Cart 1.3.0 - 1.5.6a)
includes/init_includes/overrides/init_currencies.php (Zen Cart 1.3.0 - 1.5.6a)
includes/init_includes/overrides/init_sessions.php (Zen Cart 1.3.9/1.5.6a)
Lastly, template_override_files/1.5.6/includes/templates
Bit confused does responsive_template mean the responsive template I am using or the default responsive_classic template?
If it means my currently used responsive template, html_header for Tableau2 does not include the piece of code to edit nor does /templates/tpl_index_product_list
As for store-template I don't really know what that means either, is it if you aren't using a responsive template so can be ignored?
I hope I've provided enough information and very much appreciate any help. Been looking forward to having clean links with store updates for years.
Code:
<?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 6 2012-05-07 21:43:01Z numinix $
*/
/**
* 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>
<html xmlns="http://www.w3.org/1999/xhtml" <?php echo HTML_PARAMS; ?>>
<head>
<title><?php echo META_TAG_TITLE; ?></title>
<meta charset="<?php echo CHARSET; ?>" />
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="keywords" content="<?php echo META_TAG_KEYWORDS; ?>" />
<meta name="description" content="<?php echo META_TAG_DESCRIPTION; ?>" />
<meta name="author" content="The Zen Cart™ Team and others" />
<?php
if ($_SESSION['view'] == 'desktop'){}
else { ?>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<?php } ?>
<meta name="theme-color" content="#333333">
<meta name="generator" content="shopping cart program by Zen Cart™, http://www.zen-cart.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
/**
* load the loader files
*/
$RC_loader_files = array();
if($RI_CJLoader->get('status') && (!isset($Ajax) || !$Ajax->status())){
$RI_CJLoader->autoloadLoaders();
$RI_CJLoader->loadCssJsFiles();
$RC_loader_files = $RI_CJLoader->header();
foreach($RC_loader_files['meta'] as $file) {
include($file['src']);
echo "\n";
}
foreach($RC_loader_files['css'] as $file){
if($file['include']) {
include($file['src']);
} else if (!$RI_CJLoader->get('minify_css') || $file['external']) {
//$link = $file['src'];
echo '<link rel="stylesheet" type="text/css" href="'.$file['src'] .'" />'."\n";
} else {
//$link = 'min/?f='.$file['src'].'&'.$RI_CJLoader->get('minify_time');
echo '<link rel="stylesheet" type="text/css" href="min/?f='.$file['src'].'&'.$RI_CJLoader->get('minify_time').'" />'."\n";
}
}
}
//DEBUG: echo '<!-- I SEE cat: ' . $current_category_id . ' || vs cpath: ' . $cPath . ' || page: ' . $current_page . ' || template: ' . $current_template . ' || main = ' . ($this_is_home_page ? 'YES' : 'NO') . ' -->';
?>
<!-- TrustBox script --> <script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script> <!-- End TrustBox script -->
</head>
<?php // NOTE: Blank line following is intended: ?>
-
Re: Ceon URI Mapping V5.0
To add to my above post, I noticed there was a 5.0.1 version available on the CEON site (5.0.0 on the zen cart plugin finder) so I replaced everything from the "files" folder and it started working. Before then I was getting "too many redirects" or internal server error so I think 5.0.0 may not be compatible with zen cart 1.5.6c
I am still unsure what to do about template edits though since the plugin is fully functioning even though I wasn't able to make all the edits to my currently used template. It's just not so clear if "responsive-template" and "store-template" refers to your currently used responsive or not responsive template or the base templates that come with zen cart. Usually plugins will either name the folders after the base folders or call them "your-template"
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mjf91331
To add to my above post, I noticed there was a 5.0.1 version available on the CEON site (5.0.0 on the zen cart plugin finder) so I replaced everything from the "files" folder and it started working. Before then I was getting "too many redirects" or internal server error so I think 5.0.0 may not be compatible with zen cart 1.5.6c
I am still unsure what to do about template edits though since the plugin is fully functioning even though I wasn't able to make all the edits to my currently used template. It's just not so clear if "responsive-template" and "store-template" refers to your currently used responsive or not responsive template or the base templates that come with zen cart. Usually plugins will either name the folders after the base folders or call them "your-template"
See post #45 of this thread for the solution to the "too many redirects" issue on zc156c.
-
Re: Ceon URI Mapping V5.0
v1.5.5f PHP7.1 CEON uri mapping - IH - and others (previously reported in this thread July 26 with no responses https://www.zen-cart.com/showthread....16#post1360016)
When adding new products in configuration/catalogue/products/new_product I am getting the following problem.
Problem. 404 error: When I add a new product then go to the site the product is there in category/listing but when clicking on it to go to product/info page I get a 404 error 'this resource is not available on this server' i.e. a blank page, not the default ZC 404 page.
the box at the bottom of the create product page is ticked by default for auto generation of url - if I add a product and untick the CEON automatic uri generation box the product loads and works as it should on the site (it then has a generic ZC url).
I have checked and re-checked the CEON installation and configuration using the inbuilt checking and all is OK - I even added the "/" in front of index as suggested - "Try adding a slash to the front of index.php, this may resolve the problem: RewriteRule .* /index.php [QSA,L]" but that made no difference.
notes:
1. another site (former site) is wildcard redirected to this new site
2. this new site is an exact clone of the former site, i.e. all folders are exactly the same and so is the data base (renamed)
3. site works seamlessly except for adding new products
4. .htaccess which I thought may be an issue is an exact copy from another site that also is a clone site that is also widcard redirected - so same same - and that site does not have the new product creation issue
5. I have in fact rolled back the site to a saved copy pre redirection above
I do not want to reinstall CEON because I will lose all existing mapped urls
So looking for some ideas here please.
cheers,
Mike
.htaccess file
HTML Code:
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^index\.php$ - [L]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
###############################################################################
# Add any other directives relating to the handling of physical files
###############################################################################
# Notes:
#
# If processing makes it this far, the request was for a real file or folder.
# Example: Adding further processing related to browser caching or security.
###############################################################################
<IfModule mod_security.c>
SecFilterScanPOST Off
</IfModule>
###############################################################################
## BEGIN CEON URI MAPPING REWRITE RULE
RewriteEngine On
# Don't rewrite any URIs ending with a file extension (ending with .[xxxxx])
# Don't rewrite any URIs for some, popular specific file format extensions,
# which are not covered by main file extension condition above
# 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
# Don't rewrite editors directory
# Don't rewrite bmz_cache directory
# Don't rewrite .well-known directory
# Don't rewrite teststore directory
# Don't rewrite cgi-bin directory
# Don't rewrite zc_install_done directory
# Don't rewrite blog directory
# Don't rewrite logs directory
# Don't rewrite sitemap directory
# Don't rewrite temp directory
# Handle all other URIs using Zen Cart (its index.php)
RewriteCond %{REQUEST_URI} !\.[a-zA-Z]{2,5}$ [OR]
RewriteCond %{REQUEST_URI} \.(html)$ [NC]
RewriteCond %{REQUEST_URI} !\.(mp3|mp4|h264)$ [NC]
RewriteCond %{REQUEST_URI} !^/dazzlers [NC]
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
RewriteCond %{REQUEST_URI} !^/bmz_cache/ [NC]
RewriteCond %{REQUEST_URI} !^/\.well\-known/ [NC]
RewriteCond %{REQUEST_URI} !^/teststore/ [NC]
RewriteCond %{REQUEST_URI} !^/cgi\-bin/ [NC]
RewriteCond %{REQUEST_URI} !^/zc_install_done/ [NC]
RewriteCond %{REQUEST_URI} !^/blog/ [NC]
RewriteCond %{REQUEST_URI} !^/logs/ [NC]
RewriteCond %{REQUEST_URI} !^/sitemap/ [NC]
RewriteCond %{REQUEST_URI} !^/temp/ [NC]
RewriteRule .* /index.php [QSA,L]
## END CEON URI MAPPING REWRITE RULE
###############################################################################
## Optional caching improvements
## Requires mod_header and mod_deflate to be enabled within Apache
##################
##################
## Optional caching improvements
## Requires mod_header and mod_deflate to be enabled within Apache
##################
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|webp|js|css|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<IfModule mod_deflate.c>
<FilesMatch "(?i)\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
##################
## Optional improvements
## Requires mod_expires to be enabled within Apache
##################
## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 7 days"
</IfModule>
## EXPIRES HEADER CACHING
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php70” package as the default “PHP” programming language.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php70 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
shags38
v1.5.5f PHP7.1 CEON uri mapping - IH - and others (previously reported in this thread July 26 with no responses
https://www.zen-cart.com/showthread....16#post1360016)
When adding new products in configuration/catalogue/products/new_product I am getting the following problem.
Problem.
404 error: When I add a new product then go to the site the product is there in category/listing but when clicking on it to go to product/info page I get a 404 error 'this resource is not available on this server' i.e. a blank page, not the default ZC 404 page.
the box at the bottom of the create product page is ticked by default for auto generation of url - if I add a product and untick the CEON automatic uri generation box the product loads and works as it should on the site (it then has a generic ZC url).
I have checked and re-checked the CEON installation and configuration using the inbuilt checking and all is OK - I even added the "/" in front of index as suggested - "Try adding a slash to the front of index.php, this may resolve the problem: RewriteRule .* /index.php [QSA,L]" but that made no difference.
notes:
1. another site (former site) is wildcard redirected to this new site
2. this new site is an exact clone of the former site, i.e. all folders are exactly the same and so is the data base (renamed)
3. site works seamlessly except for adding new products
4. .htaccess which I thought may be an issue is an exact copy from another site that also is a clone site that is also widcard redirected - so same same - and that site does not have the new product creation issue
5. I have in fact rolled back the site to a saved copy pre redirection above
I do not want to reinstall CEON because I will lose all existing mapped urls
So looking for some ideas here please.
cheers,
Mike
.htaccess file
HTML Code:
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^index\.php$ - [L]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
###############################################################################
# Add any other directives relating to the handling of physical files
###############################################################################
# Notes:
#
# If processing makes it this far, the request was for a real file or folder.
# Example: Adding further processing related to browser caching or security.
###############################################################################
<IfModule mod_security.c>
SecFilterScanPOST Off
</IfModule>
###############################################################################
## BEGIN CEON URI MAPPING REWRITE RULE
RewriteEngine On
# Don't rewrite any URIs ending with a file extension (ending with .[xxxxx])
# Don't rewrite any URIs for some, popular specific file format extensions,
# which are not covered by main file extension condition above
# 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
# Don't rewrite editors directory
# Don't rewrite bmz_cache directory
# Don't rewrite .well-known directory
# Don't rewrite teststore directory
# Don't rewrite cgi-bin directory
# Don't rewrite zc_install_done directory
# Don't rewrite blog directory
# Don't rewrite logs directory
# Don't rewrite sitemap directory
# Don't rewrite temp directory
# Handle all other URIs using Zen Cart (its index.php)
RewriteCond %{REQUEST_URI} !\.[a-zA-Z]{2,5}$ [OR]
RewriteCond %{REQUEST_URI} \.(html)$ [NC]
RewriteCond %{REQUEST_URI} !\.(mp3|mp4|h264)$ [NC]
RewriteCond %{REQUEST_URI} !^/dazzlers [NC]
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
RewriteCond %{REQUEST_URI} !^/bmz_cache/ [NC]
RewriteCond %{REQUEST_URI} !^/\.well\-known/ [NC]
RewriteCond %{REQUEST_URI} !^/teststore/ [NC]
RewriteCond %{REQUEST_URI} !^/cgi\-bin/ [NC]
RewriteCond %{REQUEST_URI} !^/zc_install_done/ [NC]
RewriteCond %{REQUEST_URI} !^/blog/ [NC]
RewriteCond %{REQUEST_URI} !^/logs/ [NC]
RewriteCond %{REQUEST_URI} !^/sitemap/ [NC]
RewriteCond %{REQUEST_URI} !^/temp/ [NC]
RewriteRule .* /index.php [QSA,L]
## END CEON URI MAPPING REWRITE RULE
###############################################################################
## Optional caching improvements
## Requires mod_header and mod_deflate to be enabled within Apache
##################
##################
## Optional caching improvements
## Requires mod_header and mod_deflate to be enabled within Apache
##################
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|webp|js|css|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<IfModule mod_deflate.c>
<FilesMatch "(?i)\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
##################
## Optional improvements
## Requires mod_expires to be enabled within Apache
##################
## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 7 days"
</IfModule>
## EXPIRES HEADER CACHING
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php70” package as the default “PHP” programming language.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php70 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
In review of other .htaccess rules I have seen and had to implement, a possible alternative RewriteRule line could be:
Code:
RewriteRule ^(.*)$ /index.php [QSA,L]
or
Code:
RewriteRule ^(.*)$ index.php [QSA,L]
The problem described certainly appears to be related to the .htaccess file where the installation check seems to just offer a recommended .htacess file based on a few minor factors, not necessarily guaranteed to work on the specific server.
As an aside, it appears that the admin directory has been published for all to see. Would recommend that the admin directory be renamed both on the server and in the .htaccess file.
Now there are also a number of other questions that have gone unanswered: what version of Ceon URI Mapping is being used, is the site in a sub-directory as seen in a web-browser? Why are some of the other RewriteCond statements in the installation check not included?
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
In review of other .htaccess rules I have seen and had to implement, a possible alternative RewriteRule line could be:
Code:
RewriteRule ^(.*)$ /index.php [QSA,L]
or
Code:
RewriteRule ^(.*)$ index.php [QSA,L]
The problem described certainly appears to be related to the .htaccess file where the installation check seems to just offer a recommended .htacess file based on a few minor factors, not necessarily guaranteed to work on the specific server.
As an aside, it appears that the admin directory has been published for all to see. Would recommend that the admin directory be renamed both on the server and in the .htaccess file.
Now there are also a number of other questions that have gone unanswered: what version of Ceon URI Mapping is being used, is the site in a sub-directory as seen in a web-browser? Why are some of the other RewriteCond statements in the installation check not included?
Many thanks for your response mc ....
I changed that rule but to no effect. The version installed is 4.5.5. Not sure what you mean about this 'As an aside, it appears that the admin directory has been published for all to see' ? ... my admin name doesn't appear in the .htaccess - the site is in the root, it is not a sub-domain. All the RewriteCond statements in the installation check are in fact included.
This comment is interesting to me 'not necessarily guaranteed to work on the specific server' - the very same .htaccess file works on at least 3 other sites that are all on the same server, different nodes. Given you didn't see anything glaringly faulty is it possible that it could be a server 'permissions' issue. The problem has occurred subsequent to the wildcard redirect from the former site but that redirect is functioning fine and I am at a loss to fathom how that could have an effect on CEON ... other than ... is the installation of CEON 'domain specific'? - i.e. this site is a clone of the former site, would that have any effect? (clutching at straws now methinks).
Is v4.5.5 upgrade-able to v5.0.0 without losing existing mapped urls? - I have v5.0.0 downloaded as I used it in the ZC v1.5.6b version of this site which is not live because of template issues. I note in v5.0.0 it shows modified files specifically for zc v1.5.5f ... one of which is this admin/includes/modules/update_product.php
Again probably clutching at straws given that v4.5.5 was working ok in zc v1.5.5f before the change of site/wildcard redirect - just a rambling thought.
So can you think of any other areas I should be looking at?
cheers,
Mike
-
Re: Ceon URI Mapping V5.0
@mc .... I've had my host look at possible causes and they came up with zip (see below).
So it appears something likely within the CEON code is not submitting the uri mapping correctly to the server (if at all) such that the server can recognize it, (guessing here - possibly in a corrupted format?) - regardless something is stopping the uri mapping from uploading when update is clicked in product_update HOWEVER only for new products since the new site was built (copied over) - possibly a bad ftp transfer of a crucial file in CEON? (grabbing at straws again). I can go into existing products and alter the existing uri mapping and the product still resolves - so it tends away from simply the update_product button.
I need to add some new products so may end up doing so by un-ticking the auto generate button in product creation and when the problem has been found I can go back and tick it and update - I hate doing this sort of thing as it screws things up with Google Search.
Hopefully you will come up with a fix soonish - I will keep trying different things my end.
Importantly ... can I re-install CEON without losing existing mapping data? .... if so then that may be a good step - if it does lose the existing data then not so good.
cheers,
Mike
from my host:
I have contacted a Senior Technician to overlook your query and we both can confirm that your rewrite conditions will not have an effect to your 404 issue.
I would also like to mention that this cPanel service is also on the same server as the domain dazzlersharmonynecklace.com.
Both of these domains are being resolved from the following shared IP address:
------------------- A/AAAA record(s) -------------
103.27.34.7 >> r131.syd3.hostingplatform.net.au.
While your error logs have also not provided any issued related to the permissions of this website specifically, I suggest running our Permissions fixer tool which will default your files permissions to 755 and 644 respectively; this will also eliminate the concern of the incorrect permissions within this specific cPanel account.
This can be done via the following:
Log into VIPControl >> Web Hosting >> Manage >> List Accounts >> Manage >> Permission Fixer
-
Re: Ceon URI Mapping V5.0
To address the first of things, this forum thread is about version 5 of the module. If wanting to address things about version 4 they should be discussed in the appropriate forum thread. That said, version 5 can be installed it seems by following the install and/or upgrade instructions.
As far as I know and understand the module, because it's power is in database use, as long as you maintain the database entries associated with any existing "use" then you can install and/or upgrade without specific issue. Now that said, reuploading the files that are in the files section is not exactly like reinstalling and it seems that the software is written to handle the situation of an attempt to reinstall. Even in my experience I've "removed" the plugin following the directions and loaded it again without loss. As always backup the database...
The fact that existing uris can be modified and work, but new uris are causing a problem seems to indicate that there may be a problem with the database. Understanding that this database was in some way carried over from another system calls to question the success in that move and/or the verification that all of the files made it fully intact and as suggested by the host with the appropriate permissions and ownership.
From what is described, existing rewritten uris continue to function, but those generated for new product are not reachable. That would seem to indicate that when storing the new uri(s) there is some information associated with the Zen Cart portion of the designation that is not correct. Therefore when the rewritten uri is provided to the system, the retrieved Zen Cart portions do not resolve to a known page.
As far as I recall seeing in the 4.5.5 version, I'm not so sure that the installation check had been updated to reflect the expected condition of the software. I can say that I'm glad Ceon was able to finally distribute an updated version and it seems that version 5 includes the files necessary to operate on Zen Cart 1.5.5 (as well as other versions).
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
As far as I know and understand the module, because it's power is in database use, as long as you maintain the database entries associated with any existing "use" then you can install and/or upgrade without specific issue. Now that said, reuploading the files that are in the files section is not exactly like reinstalling and it seems that the software is written to handle the situation of an attempt to reinstall. Even in my experience I've "removed" the plugin following the directions and loaded it again without loss. As always backup the database...
The fact that existing uris can be modified and work, but new uris are causing a problem seems to indicate that there may be a problem with the database. Understanding that this database was in some way carried over from another system calls to question the success in that move and/or the verification that all of the files made it fully intact and as suggested by the host with the appropriate permissions and ownership.
Thanks mc ... I appreciate your detailed response and the explanation of the database emphasis and the potential of a corrupt carry over makes sense. I will endeavor to upgrade to v5.0.0 and hopefully that will resolve the issue.
Again many thanks,
Mike
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
shags38
Thanks mc ... I appreciate your detailed response and the explanation of the database emphasis and the potential of a corrupt carry over makes sense. I will endeavor to upgrade to v5.0.0 and hopefully that will resolve the issue.
Again many thanks,
Mike
One thing though, while the newer version may integrate better, if there is a problem with the installation of Zen Cart (as it was likely an upgrade) or the database, even using the newer version of this module may not resolve the problem with adding new product. There may still be an issue with either the database or fileset that causes this problem. Just offering my own input on the matter. Your feedback on the result will be an indicator.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
One thing though, while the newer version may integrate better, if there is a problem with the installation of Zen Cart (as it was likely an upgrade) or the database, even using the newer version of this module may not resolve the problem with adding new product. There may still be an issue with either the database or fileset that causes this problem. Just offering my own input on the matter. Your feedback on the result will be an indicator.
Hi MC .... UPDATE ... I found the problem but am not sure of the solution per se.
I changed the main products 'category' name after I did this site duplication (cloned site to new domain) - so 'all clip on earrings' (old) became 'dazzlers clip on earrings full range' (new) ..... whilst experimenting I changed the category name back to what it was (old) and all is good.
So that solved the 404 issue but I have no idea why CEON would not redirect the new category name - it rewrote the url according to the new category name but that resulted in a 404 - the mapping uri in the category remained as [all-clip-on-earrings-c1] but CEON used the category name and not the designated uri name saved in category configuration?? I can understand the DB entries uri's carried over from the former site being the 'old' original category name, that is why they still functioned correctly, just not understanding why CEON didn't adapt?
So if I changed the uri mapping name to the new category name then I get 404's for all the products in the database at time of cloning - so I guess once you have category names then you have to stick to them, right?
Thanks for all your help.
cheers,
Mike
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
shags38
Hi MC .... UPDATE ... I found the problem but am not sure of the solution per se.
I changed the main products 'category' name after I did this site duplication (cloned site to new domain) - so 'all clip on earrings' (old) became 'dazzlers clip on earrings full range' (new) ..... whilst experimenting I changed the category name back to what it was (old) and all is good.
So that solved the 404 issue but I have no idea why CEON would not redirect the new category name - it rewrote the url according to the new category name but that resulted in a 404 - the mapping uri in the category remained as [all-clip-on-earrings-c1] but CEON used the category name and not the designated uri name saved in category configuration?? I can understand the DB entries uri's carried over from the former site being the 'old' original category name, that is why they still functioned correctly, just not understanding why CEON didn't adapt?
So if I changed the uri mapping name to the new category name then I get 404's for all the products in the database at time of cloning - so I guess once you have category names then you have to stick to them, right?
Thanks for all your help.
cheers,
Mike
On the surface, this makes no sense and does not really answer/address the issue. The original report was that new product did not get a functional rewrite. Now the discussion is that the rewrite works, but only if the category designation remains the same as it originally was. This doesn't make sense either, because the rewrite generation for a product is independent of the rewritten category.
By that I mean (and I just tested this so am comfortable saying it) if a category exists that has a name of say 'test1' and assuming it is found at the root of the store, the initial uri would be /test1. If one goes in and edits that empty category to change the rewrite to /newtest1, then specifically the category is reachable by /test1 and /newtest1. The browser though when using either of those will show /newtest1 as that is the single active uri for that category.
If now a product is added to the category, the initial rewritten uri will be based off of the category's name, not its rewritten uri. So if the product were called prod1, then the auto-generated rewritten uri would be /test1/prod1, even though the category in whole would be reached by /newtest1. If a second product were added (to account for potential settings regarding going directly to a product if there is only 1 product in a category) that is named prod2, then it's autogenerated uri would be /test1/prod2.
Navigation now to /test1 would show in the browser as /newtest1, and the links to the products would show as /test1/prod1 and /test1/prod2 respectfully for product 1 and product 2.
Attempting to go to /newtest1/prod1 will result in a product not found, because the product doesn't have that rewritten uri associated with it (whether as an original uri or as a new/revised uri).
To change the uri for each of the product to have /newtest1 in the path, both product would need to be edited to have that as part of their rewritten uri and stored.
Sum and total, every rewritten uri is maintained independent of any higher up rewrite where a new rewrite for an item is built directly off of the name of whatever is above it. In the above situation of adding product after revising the category rewrite, the category's name would need to be changed to "match" the rewritten uri before attempting to add product to the category using the auto-generation feature. Of course, the product could be edited after that rename, the checkbox ticked to auto-generate, and the new uri will then be generated where the previous is still accessible along with the new uri.
None of this though really explains why you received a 404, but also, there is no explanation about exactly how the issue was discovered as in from where the link was attempted that was generated for said new product.
To then also try to answer the questions firectly about changing a category, you can modify the category uri all you want, it will not change the link(s) to the product in the category. If you change the category name, but do not check the auto-generate box when doing so, then the category rewrite will remain the same and new product will follow the rewrite rule to auto-generate the uri with the new category name. This would result in old product still having the old category name and new product having the new category name. I believe though that the commercial version makes this "easier" to handle/address as it is designed to make changes en mass rather than one product/category/ez-page/manufacturer at a time.
-
2 Attachment(s)
Re: Ceon URI Mapping V5.0
Hi Guys, I am having an issue with updating the category fields. I belive it has something to do with where it is placing the fields on the page
DISCLAIMER, I mostly do not know what I am on about so please excuse anything that is wrong or otherwise just stupid im just guessing at most stuff here after testing :D
On the category pages I believe that it places the URI mapping fields just before the last form, as you can see on my screenshot the row highlighted in blue is the mapping fields and this is in the main for so works fine.
Attachment 18669
However if you restrict the category to only certain product types then it places the URI mapping fields inside the wrong form as the last form on the page is the currently restricted product types, So when the category is restricted to product types it does not let the URI mapping work
Attachment 18670
I hope this makes sense and you can help me figure out a way to solve! Basically when the category is restricted to certain product types the URI mapping will not update as it is not in the main form.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
DannyVarley
Hi Guys, I am having an issue with updating the category fields. I belive it has something to do with where it is placing the fields on the page
DISCLAIMER, I mostly do not know what I am on about so please excuse anything that is wrong or otherwise just stupid im just guessing at most stuff here after testing :D
On the category pages I believe that it places the URI mapping fields just before the last form, as you can see on my screenshot the row highlighted in blue is the mapping fields and this is in the main for so works fine.
Attachment 18669
However if you restrict the category to only certain product types then it places the URI mapping fields inside the wrong form as the last form on the page is the currently restricted product types, So when the category is restricted to product types it does not let the URI mapping work
Attachment 18670
I hope this makes sense and you can help me figure out a way to solve! Basically when the category is restricted to certain product types the URI mapping will not update as it is not in the main form.
Looks like somewhere around line 369 of admin/includes/ceon_uri_mapping_javascript.php change:
Code:
var place = classList[classList.length - 1];
To:
Code:
var place = classList[0];
-
Re: Ceon URI Mapping V5.0
-
Re: Ceon URI Mapping V5.0
I've got a site, recently upgraded to zc156c and Ceon 5.0.0. I'm seeing that, for the product_info page, if a requested product has an entry in the ceon_uri_mappings::uri field and the associated product exists in the products table ... but the product is disabled that the $_GET['products_id'] value isn't set.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
lat9
I've got a site, recently upgraded to zc156c and Ceon 5.0.0. I'm seeing that, for the product_info page, if a requested product has an entry in the ceon_uri_mappings::uri field and the associated product exists in the products table ... but the product is disabled that the $_GET['products_id'] value isn't set.
I just tried taking a product that was defined with a URI, added a log of $_GET at the point after the first notifier in includes/modules/pages/product_info/header_php.php navigated to the product, then disabled the product and navigated to it again. In both cases $_GET['products_id'] was shown as set and no errors/notices in the header load.
Assume that the resequence of the load point was applied?
What are the settings associated with missing pages and how to deal with things like that? I mean I had a "sorry page not found" message provided through the ZC main area, but it was expected.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
I just tried taking a product that was defined with a URI, added a log of $_GET at the point after the first notifier in includes/modules/pages/product_info/header_php.php navigated to the product, then disabled the product and navigated to it again. In both cases $_GET['products_id'] was shown as set and no errors/notices in the header load.
>> For my case, this was apparently a disabled product when the site was upgraded from zc154/Ceon 4.?? to zc156c/Ceon 5.00. I've had to force $_GET['products_id'] to be 0 if not set.
Assume that the resequence of the load point was applied?
>> Yes.
What are the settings associated with missing pages and how to deal with things like that? I mean I had a "sorry page not found" message provided through the ZC main area, but it was expected.
>> Missing pages are set to display page-not-found, but what's happening is that the product_info page (with the 'sorry that product could not be found') page is displayed and the zc156c version is having a major hissy-fit due to that missing $_GET['products_id'].
Which of the various class methods are involved in 'decoding' the category-/product-id from a product-specific URI?
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
lat9
Which of the various class methods are involved in 'decoding' the category-/product-id from a product-specific URI?
Never mind; it's the zc156c /pages/product_info/header_php.php that's unsetting that $_GET['products_id'] (properly decoded by Ceon URI) when the associated product is 'not found'.
-
Re: Ceon URI Mapping V5.0
This is on an upgraded Zen Cart (1.5.5>1.5.6c) and CEON URI (3.6.3>5.0.1)
Seems to work find until I access the config from the admin when I get this error:
--> PHP Fatal error: 1146:Table 'db739574.TABLE_CEON_URI_MAPPING_PRODUCT_RELATED_PAGES_URI_PARTS' doesn't exist ::
SELECT
page_type,
language_code,
uri_part
FROM
TABLE_CEON_URI_MAPPING_PRODUCT_RELATED_PAGES_URI_PARTS
WHERE
1 = 1; ==> (as called by) /....../ADMIN/includes/classes/class.CeonURIMappingConfigUtility.php on line 373 <== in ......./includes/classes/db/mysql/query_factory.php on line 171.
Troubleshooting I see:
the database table does exist: http://prntscr.com/plupe7
is defined correctly in admin/includes/extra_datafiles/ceon_uri_mapping_database_tables.php as define('TABLE_CEON_URI_MAPPING_PRODUCT_RELATED_PAGES_URI_PARTS', DB_PREFIX . 'ceon_uri_mapping_prp_uri_parts');
Why would it thing it doesn't exist?
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
jeking
This is on an upgraded Zen Cart (1.5.5>1.5.6c) and CEON URI (3.6.3>5.0.1)
Seems to work find until I access the config from the admin when I get this error:
--> PHP Fatal error: 1146:Table 'db739574.TABLE_CEON_URI_MAPPING_PRODUCT_RELATED_PAGES_URI_PARTS' doesn't exist ::
SELECT
page_type,
language_code,
uri_part
FROM
TABLE_CEON_URI_MAPPING_PRODUCT_RELATED_PAGES_URI_PARTS
WHERE
1 = 1; ==> (as called by) /....../ADMIN/includes/classes/class.CeonURIMappingConfigUtility.php on line 373 <== in ......./includes/classes/db/mysql/query_factory.php on line 171.
Troubleshooting I see:
the database table does exist:
http://prntscr.com/plupe7
is defined correctly in admin/includes/extra_datafiles/ceon_uri_mapping_database_tables.php as define('TABLE_CEON_URI_MAPPING_PRODUCT_RELATED_PAGES_URI_PARTS', DB_PREFIX . 'ceon_uri_mapping_prp_uri_parts');
Why would it thing it doesn't exist?
Looks like if admin/includes/init_includes/init_file_db_names.php did not properly execute as part of includes/application_top.php then that might explain it. Otherwise if the constant were elsewhere defined as itself before getting to the expected file, that would be another "reason". Also, as far as directories, to be sure that the admin/includes/configure.php properly uses relative reference to the current directory instead of a specific path where there might also be an admin directory, but its missing that file but has other(s). Lots of possibilities it seems.
-
Re: Ceon URI Mapping V5.0
Here's what I found. The file ceon_uri_mapping_database_tables.php is in two folders:
/ADMIN/includes/extra_datafiles
/includes/extra_datafiles
The one in the admin folder did not have this define:
define('TABLE_CEON_URI_MAPPING_PRODUCT_RELATED_PAGES_URI_PARTS', DB_PREFIX . 'ceon_uri_mapping_prp_uri_parts');
I checked the 5.0.1 zip from CEON and it's there so I don't know if I mixed something up in the install or if this was a bug from 5.0.0. That's the version installed, not 5.0.1 as I thought.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
jeking
Here's what I found. The file ceon_uri_mapping_database_tables.php is in two folders:
/ADMIN/includes/extra_datafiles
/includes/extra_datafiles
The one in the admin folder did not have this define:
define('TABLE_CEON_URI_MAPPING_PRODUCT_RELATED_PAGES_URI_PARTS', DB_PREFIX . 'ceon_uri_mapping_prp_uri_parts');
I checked the 5.0.1 zip from CEON and it's there so I don't know if I mixed something up in the install or if this was a bug from 5.0.0. That's the version installed, not 5.0.1 as I thought.
I just downloaded the version 5.0.0 from the Zen Cart site and admin/includes/extra_datafiles/ceon_uri_mapping_database_tables.php included the definition for the table. My guesss is that it was an overseen table from the older 3.6.3 version. Meaning a file didn't get updated during the upgrade.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
I just downloaded the version 5.0.0 from the Zen Cart site and admin/includes/extra_datafiles/ceon_uri_mapping_database_tables.php included the definition for the table. My guesss is that it was an overseen table from the older 3.6.3 version. Meaning a file didn't get updated during the upgrade.
I couldn't find it here. I downloaded the plugin from Ceon but the file name is the same for 5.0.0 and 5.0.1 so overwrote the 5.0.0 I had.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
jeking
I couldn't find it here. I downloaded the plugin from Ceon but the file name is the same for 5.0.0 and 5.0.1 so overwrote the 5.0.0 I had.
Yeah, kind of weird. Can't find the plugin by searching the downloads area, but was able to get to it from the first post of this thread, but for me on my computer to find this thread I had to go to the version 4 thread to find a post leading to here... oye...
-
Re: Ceon URI Mapping V5.0
Is it possible to override the canonical link handling for certain mappings?
I have the News Box Manager plugin on 1.5.6, and I have mapped from "main_page=more_news" to "our-latest-news", so the URL might be "our-latest-news?news_id=11" but the problem is that CEON removes the news article ID from the canonical link, leaving a canonical link pointing just to "our-latest-news".
I believe this is intended behaviour so that things like display orders do not show as duplicate content, but in the case of the news articles, they aren't duplicate content and we would want the search engine to treat each article as a separate item.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
Pingfah
Is it possible to override the canonical link handling for certain mappings?
I have the News Box Manager plugin on 1.5.6, and I have mapped from "main_page=more_news" to "our-latest-news", so the URL might be "our-latest-news?news_id=11" but the problem is that CEON removes the news article ID from the canonical link, leaving a canonical link pointing just to "our-latest-news".
I believe this is intended behaviour so that things like display orders do not show as duplicate content, but in the case of the news articles, they aren't duplicate content and we would want the search engine to treat each article as a separate item.
It appears that there is something like this at the end of the function _handleStaticURI found in includes/classes/class.CeonURIMappingHandler.php. Would suggest using a similar if statement but to handle your case as well as a similar action within the if statement. There might be another way to implement; however, it appears that all the potentially needed data is present to accomplish the task.
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
mc12345678
It appears that there is something like this at the end of the function _handleStaticURI found in includes/classes/class.CeonURIMappingHandler.php. Would suggest using a similar if statement but to handle your case as well as a similar action within the if statement. There might be another way to implement; however, it appears that all the potentially needed data is present to accomplish the task.
Ahh yes, I see it, it is being used to add the ID onto the end of the canonical links for reviews. I will adapt that for my needs.
Many thanks.
-
Re: Ceon URI Mapping V5.0
Just FYI, this was successful, just copying that chunk of code and changing the file name and the type of _id required, it now produces a canonical link with the article ID in it.
Thanks so much.
-
Re: Ceon URI Mapping V5.0
I'm on 1.5.6
I am getting this error in the logs and I can't load ezpages in the admin
[26-Oct-2019 12:11:54 UTC] Request URI: /beaSt-EgU-sWing/ezpages.php?page=1&ezID=171&action=new, IP address: 86.17.198.133
#1 trigger_error() called at [public_html/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/public_html/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/public_html/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/public_html/includes/classes/class.CeonURIMappingAdmin.php:176]
#5 CeonURIMappingAdmin->_loadAutogenerationSettings() called at [/public_html/includes/classes/class.CeonURIMappingAdmin.php:142]
#6 CeonURIMappingAdmin->__construct() called at [/public_html/includes/classes/class.CeonURIMappingAdminEZPages.php:59]
#7 CeonURIMappingAdminEZPages->__construct() called at [/public_html/beaSt-EgU-sWing/includes/classes/class.CeonURIMappingAdminEZPagePages.php:97]
#8 CeonURIMappingAdminEZPagePages->__construct() called at [/public_html/beaSt-EgU-sWing/includes/init_includes/init_ceon_ezpages_collect_info.php:132]
#9 require(/public_html/beaSt-EgU-sWing/includes/init_includes/init_ceon_ezpages_collect_info.php) called at [/home/lacqueredbrass2/public_html/includes/autoload_func.php:48]
#10 require(/public_html/includes/autoload_func.php) called at [/home/lacqueredbrass2/public_html/beaSt-EgU-sWing/includes/application_top.php:171]
#11 require(/public_html/beaSt-EgU-sWing/includes/application_top.php) called at [/home/lacqueredbrass2/public_html/beaSt-EgU-sWing/ezpages.php:10]
[26-Oct-2019 12:11:54 UTC] PHP Fatal error: 1054:Unknown column 'language_code_add' in 'field list' ::
SELECT
autogen_new,
whitespace_replacement,
capitalisation,
remove_words,
char_str_replacements,
language_code_add,
mapping_clash_action
FROM
ceon_uri_mapping_configs
WHERE
id ='1'; ==> (as called by) /public_html/includes/classes/class.CeonURIMappingAdmin.php on line 176 <== in /home/lacqueredbrass2/public_html/includes/classes/db/mysql/query_factory.php on line 171
-
Re: Ceon URI Mapping V5.0
I've got Sitemap XML v3.9.6 running on zc156c w/ PHP 7.1.32 with Ceon 5.0.0. Recently setup a cron-job to run the Sitemap daily and I'm finding this log each time it runs:
Code:
[26-Oct-2019 04:00:03 America/Chicago] Request URI: /home/mystore/public_html/cgi-bin/sitemapxml.php, IP address: 127.0.0.1
#1 strpos() called at [/home/mystore/public_html/includes/classes/class.CeonURIMappingHandlerBase.php:183]
#2 CeonURIMappingHandlerBase->_normaliseServerEnvironment() called at [/home/mystore/public_html/includes/classes/class.CeonURIMappingHandlerBase.php:107]
#3 CeonURIMappingHandlerBase->__construct() called at [/home/mystore/public_html/includes/classes/class.CeonURIMappingHandler.php:52]
#4 CeonURIMappingHandler->__construct() called at [/home/mystore/public_html/includes/autoload_func.php:79]
#5 require(/home/mystore/public_html/includes/autoload_func.php) called at [/home/mystore/public_html/includes/application_top.php:170]
#6 require(/home/mystore/public_html/includes/application_top.php) called at [/home/mystore/public_html/index.php:26]
#7 include(/home/mystore/public_html/index.php) called at [/home/mystore/public_html/cgi-bin/sitemapxml.php:60]
--> PHP Warning: strpos(): Empty needle in /home/mystore/public_html/includes/classes/class.CeonURIMappingHandlerBase.php on line 183.
Is that something that can be bypassed via an .htaccess rule?
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
Nick1973
I'm on 1.5.6
I am getting this error in the logs and I can't load ezpages in the admin
Code:
[26-Oct-2019 12:11:54 UTC] Request URI: /beaSt-EgU-sWing/ezpages.php?page=1&ezID=171&action=new, IP address: 86.17.198.133
#1 trigger_error() called at [public_html/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/public_html/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/public_html/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/public_html/includes/classes/class.CeonURIMappingAdmin.php:176]
#11 require(/public_html/admin/includes/application_top.php) called at [/home/lacqueredbrass2/public_html/admin/ezpages.php:10]
[26-Oct-2019 12:11:54 UTC] PHP Fatal error: 1054:Unknown column 'language_code_add' in 'field list' ::
SELECT
autogen_new,
whitespace_replacement,
capitalisation,
remove_words,
char_str_replacements,
language_code_add,
mapping_clash_action
FROM
ceon_uri_mapping_configs
WHERE
id ='1'; ==> (as called by) /public_html/includes/classes/class.CeonURIMappingAdmin.php on line 176 <== in /home/lacqueredbrass2/public_html/includes/classes/db/mysql/query_factory.php on line 171
Perhaps this earlier post helps?
Quote:
Originally Posted by
swguy
Getting a log for field language_code_add
Code:
--> PHP Fatal error: 1054:Unknown column 'language_code_add' in 'field list' :: ^M
SELECT^M
autogen_new,^M
whitespace_replacement,^M
capitalisation,^M
remove_words,^M
char_str_replacements,^M
language_code_add,^M
mapping_clash_action^M
FROM^M
zen_ceon_uri_mapping_configs^M
WHERE^M
id ='1'; ==> (as called by) /home/mysite/public_html/includes/classes/class.CeonURIMappingAdmin.php on line 176 <== in /home/mysite/public_html/includes/classes/db/mysql/query_factory.php on line 171.
Maybe I didn't do the Admin->Modules-Ceon SEO Configuration step?
-
Re: Ceon URI Mapping V5.0
Quote:
Originally Posted by
lat9
I've got Sitemap XML v3.9.6 running on zc156c w/ PHP 7.1.32 with Ceon 5.0.0. Recently setup a cron-job to run the Sitemap daily and I'm finding this log each time it runs:
Code:
[26-Oct-2019 04:00:03 America/Chicago] Request URI: /home/mystore/public_html/cgi-bin/sitemapxml.php, IP address: 127.0.0.1
#1 strpos() called at [/home/mystore/public_html/includes/classes/class.CeonURIMappingHandlerBase.php:183]
#2 CeonURIMappingHandlerBase->_normaliseServerEnvironment() called at [/home/mystore/public_html/includes/classes/class.CeonURIMappingHandlerBase.php:107]
#3 CeonURIMappingHandlerBase->__construct() called at [/home/mystore/public_html/includes/classes/class.CeonURIMappingHandler.php:52]
#4 CeonURIMappingHandler->__construct() called at [/home/mystore/public_html/includes/autoload_func.php:79]
#5 require(/home/mystore/public_html/includes/autoload_func.php) called at [/home/mystore/public_html/includes/application_top.php:170]
#6 require(/home/mystore/public_html/includes/application_top.php) called at [/home/mystore/public_html/index.php:26]
#7 include(/home/mystore/public_html/index.php) called at [/home/mystore/public_html/cgi-bin/sitemapxml.php:60]
--> PHP Warning: strpos(): Empty needle in /home/mystore/public_html/includes/classes/class.CeonURIMappingHandlerBase.php on line 183.
Is that something that can be bypassed via an .htaccess rule?
Seems like that line 183 of includes/classes/class.CeonURiMappingHandlerBase.php perhaps should be:
Code:
} else if (!empty($SERVER['DOCUMENT_ROOT']) && strpos($PHP_SELF, $_SERVER['DOCUMENT_ROOT']) !== false) {
What happens with that modification? Also, makes me wonder how it was handled in version 4..
-
Re: Ceon URI Mapping V5.0
Thanks, @mc12345678, I'll give that a shot and report back tomorrow (the cron runs at 5am EDT).