Zen Cart Logo
Forums / All Other Contributions/Addons / Ceon URI Mapping v4.x

Ceon URI Mapping v4.x

Views: 451,956

Results 2,201 to 2,220 of 2,454
8 Dec 2017, 9:45 PM
#2201
three_sisters avatar

three_sisters

Zen Follower

Join Date:
Nov 2006
Location:
Indiana
Posts:
188
Plugin Contributions:
0

Ceon URI Mapping v4.x

Thank you @**mc12345678** - was great and easy-to-follow advice!

I do use Easy Populate 4 - but on trying the export idea I found that the URI's were in the traditional ZenCart format. Which is the problem I get with SitemapXML - it appears neither program can read the encrypted file that generates the attractive URI's. Thus... the reason I want to switch to CEON. Not quite sure how I'm going to get this to happen without loosing my 10+ years of link history. I'm half wondering if CEON will be able to do it's initial read and map of the URI's either..... Once again, I find myself wishing I was more skilled! :blush:

8 Dec 2017, 10:35 PM
#2202
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: Ceon URI Mapping v4.x

Three Sisters:

Thank you @**mc12345678** - was great and easy-to-follow advice!

I do use Easy Populate 4 - but on trying the export idea I found that the URI's were in the traditional ZenCart format. Which is the problem I get with SitemapXML - it appears neither program can read the encrypted file that generates the attractive URI's. Thus... the reason I want to switch to CEON. Not quite sure how I'm going to get this to happen without loosing my 10+ years of link history. I'm half wondering if CEON will be able to do it's initial read and map of the URI's either..... Once again, I find myself wishing I was more skilled! :blush:
The public version of Ceon URI Mapping will only generate a URI when the product is saved through the edit page. There are ways available to auto-generate the uris (many published in here as well as searchable via the internet). Ceon did have a commercial version that would auto-generate, but that doesn't appear to be yet again available.

An important question ro answer related to the existing uris would be what was the format generated? Maybe one of the other methods could easily and quickly generate them again from the existing data? Ie. Is the uri based on the category and product name only? Or is there extra information? We're they able to be entered independently or uniquely?

As for ways to regenerate what already exists, there may be some programmatic way to visit/retrieve the data and store it in a file. It mostly depends on the hooks of the software into the system and then the ease of visiting "everything"...

The Ceon software supports identifying any uri to the destination, just need to know what it is or what would be desired. :)

9 Dec 2017, 2:29 PM
#2203
three_sisters avatar

three_sisters

Zen Follower

Join Date:
Nov 2006
Location:
Indiana
Posts:
188
Plugin Contributions:
0

Re: Ceon URI Mapping v4.x

mc12345678:

The public version of Ceon URI Mapping will only generate a URI when the product is saved through the edit page. There are ways available to auto-generate the uris (many published in here as well as searchable via the internet). Ceon did have a commercial version that would auto-generate, but that doesn't appear to be yet again available.

I am beginning to think I am misunderstanding what this program does... So, if I upload products via Easy Populate 4 and then don't open each one and edit it in the admin panel, the nice URI will not be generated unless I adapt this program by some other auto-generating means? Currently, Magic generates the URI the first time someone opens the product page from the shopping cart - I thought I understood this would do the same.

mc12345678:

An important question ro answer related to the existing uris would be what was the format generated? Maybe one of the other methods could easily and quickly generate them again from the existing data? Ie. Is the uri based on the category and product name only? Or is there extra information? We're they able to be entered independently or uniquely?

It would be very easy to duplicate the URI's. Currently, the Magic uses: /category-name-and-id-01/product-name-and-id-52.html Easy pages are the only ones that, although they are done similarly, break this format.

mc12345678:

As for ways to regenerate what already exists, there may be some programmatic way to visit/retrieve the data and store it in a file. It mostly depends on the hooks of the software into the system and then the ease of visiting "everything"...

Not quite sure what "hooks" you mean, but the software only uses one file besides an edited .htaccess file; however the file is encrypted so no hope of finding anything about its behaviors from the file. (Upon initial install a cache/fancy-data folder is also added where, after the software is run, each and every category, sub-category, product, review, easy-page, etc has a file with one line including the name with spaces converted to dashes and the id - but it is not written in the exact order of the new URI.) When you mention the possible need for programmatically visiting/retrieving currently exiting URI data - that would be because of the inability for programs to see the nice URI's, correct? Not because it doesn't NORMALLY attempt to map exisiting URI's (from either a standard ZenCart format or perhaps another open source SEO URI re-writer) to the ones created?

mc12345678:

The Ceon software supports identifying any uri to the destination, just need to know what it is or what would be desired. :)
Maybe you can clarify this for my simple mind... I think I may be conflating several things software like this does. Are you saying CEON will scan and find any URI's that point to a certain product and then map it to whatever new URI CEON has created either through automatic generation or by hand in admin via edit product?

And - perhaps this is a conversation for another topic - but since you are being so kind and explain things so well (thank you very, very much!) perhaps you can tell me if I am simply attempting something that doesn't even need to be done. When SitemapXML generates its sitemaps the links all look like "normal" Zencart links. If you click on them, you land on the correct web page with the "nice" URI that Magic generated. Is this OK - or is it an SEO problem that I really should address?

21 Dec 2017, 10:38 AM
#2204
shop_suey avatar

shop_suey

Zen Follower

Join Date:
Feb 2014
Location:
Germany
Posts:
375
Plugin Contributions:
0

Re: Ceon URI Mapping v4.x

just installed on german zc 1.5.0
works like a charm :)
Thank you!

9 Jan 2018, 10:25 PM
#2205
devlyn avatar

devlyn

New Zenner

Join Date:
Jan 2006
Location:
Texas
Posts:
64
Plugin Contributions:
0

Re: Ceon URI Mapping v4.x

Successfully installed on Zen-Cart 1.5.5f with TPP, SitemapXML. Slight change to .htacces:

Handle all other URIs using Zen Cart (its index.php)

Changed:
RewriteRule .* index.php [QSA,L]

To:
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]

After main page was giving an error/not showing up.

I thought it might help someone else.

12 Jan 2018, 2:20 PM
#2206
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Ceon URI Mapping v4.x

I've updated to 155f , php 7.1 and CEON php7 .... and maybe this in not the right place to ask , but anyway here it goes:
I got issues! :smile:

Categories menu links are ok, but products ( canonical, breadcrumb ) are not.
I also had the breadcrumbs to work with product type handler ( or term) bookx like this:

 if ($get_term_breadcrumb->RecordCount() > 0) {
       // BEGIN CEON URI MAPPING 1 of 2
	  // Set the required parameters so that an attempt can be made to map the link to any static URI for the
	  // filtered page
	  $typefilter_parameters = '';  
	  if ($get_terms->fields['get_term_name'] != 'manufacturers_id') {   
          $fix_bookx_term = explode('_',$get_terms->fields['get_term_name'] );
          //@ALTERED for Bookx terms
          if( $fix_bookx_term['0'] == 'bookx') {
             $typefilter_parameters = 'typefilter=' . $fix_bookx_term['0'] . '&'; 
           } else {
               $typefilter_parameters = 'typefilter=' . str_replace('_id', '', $get_terms->fields['get_term_name']) . '&';
          }
      }
	  $typefilter_parameters .=
		$get_terms->fields['get_term_name'] . '=' . $_GET[$get_terms->fields['get_term_name']];
	
      $breadcrumb->add($get_term_breadcrumb->fields[$get_terms->fields['get_term_name_field']],
		zen_href_link(FILENAME_DEFAULT, $typefilter_parameters));
	  /*
// END CEON URI MAPPING 1 of 2
      $breadcrumb->add($get_term_breadcrumb->fields[$get_terms->fields['get_term_name_field']], zen_href_link(FILENAME_DEFAULT, $get_terms->fields['get_term_name'] . "=" . $_GET[$get_terms->fields['get_term_name']]));
// BEGIN CEON URI MAPPING 2 of 2
	  */
// END CEON URI MAPPING 2 of 2
    }
	}

$typefilter_parameters are ok, so I guess all this should be confined to the html_output.php or as I was reading the auto_loaders position.
Anyway, I've check and diff the html_output with the CEON 4.5.3 and I'm completely lost .
So maybe this is related to the auto_loaders position...
Sorry for the long report , but perhaps you could give a clue about this:

[autoLoadConfig] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [autoType] => include
                            [loadFile] => includes/version.php
                        )

                    [1] => Array
                        (
                            [autoType] => class
                            [loadFile] => class.base.php
                        )

                    [2] => Array
                        (
                            [autoType] => class
                            [loadFile] => class.notifier.php
                        )

                    [3] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => notifier
                            [objectName] => zco_notifier
                        )

                    [4] => Array
                        (
                            [autoType] => class
                            [loadFile] => class.phpmailer.php
                        )

                    [5] => Array
                        (
                            [autoType] => class
                            [loadFile] => boxes.php
                        )

                    [6] => Array
                        (
                            [autoType] => class
                            [loadFile] => category_tree.php
                        )

                    [7] => Array
                        (
                            [autoType] => class
                            [loadFile] => template_func.php
                        )

                    [8] => Array
                        (
                            [autoType] => class
                            [loadFile] => split_page_results.php
                        )

                    [9] => Array
                        (
                            [autoType] => class
                            [loadFile] => language.php
                        )

                    [10] => Array
                        (
                            [autoType] => class
                            [loadFile] => cache.php
                        )

                    [11] => Array
                        (
                            [autoType] => class
                            [loadFile] => sniffer.php
                        )

                    [12] => Array
                        (
                            [autoType] => class
                            [loadFile] => shopping_cart.php
                        )

                    [13] => Array
                        (
                            [autoType] => class
                            [loadFile] => navigation_history.php
                        )

                    [14] => Array
                        (
                            [autoType] => class
                            [loadFile] => currencies.php
                        )

                    [15] => Array
                        (
                            [autoType] => class
                            [loadFile] => message_stack.php
                        )

                    [16] => Array
                        (
                            [autoType] => class
                            [loadFile] => breadcrumb.php
                        )

                    [17] => Array
                        (
                            [autoType] => class
                            [loadFile] => query_cache.php
                        )

                    [18] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => QueryCache
                            [objectName] => queryCache
                            [checkInstantiated] => 1
                        )

                    [19] => Array
                        (
                            [autoType] => class
                            [loadFile] => class.zcPassword.php
                        )

                    [20] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => zcPassword
                            [objectName] => zcPassword
                        )

                    [21] => Array
                        (
                            [autoType] => class
                            [loadFile] => class.CeonURIMappingHandler.php
                        )

                    [22] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.ceon_uri_mapping_link_build.php
                        )

                )

            [10] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_file_db_names.php
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_database.php
                        )

                    [2] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.bookx_observers.php
                        )

                    [3] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.tpl_pb.php
                        )

                    [4] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_tpl_pb.php
                        )

                )

            [30] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => cache
                            [objectName] => zc_cache
                        )

                )

            [40] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_db_config_read.php
                        )

                )

            [50] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => sniffer
                            [objectName] => sniffer
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_gzip.php
                        )

                    [2] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_sefu.php
                        )

                )

            [60] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_general_funcs.php
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_tlds.php
                        )

                )

            [70] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_sessions.php
                        )

                )

            [80] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => shoppingCart
                            [objectName] => cart
                            [checkInstantiated] => 1
                            [classSession] => 1
                        )

                )

            [90] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => currencies
                            [objectName] => currencies
                        )

                    [1] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => productTypeFilterObserver
                            [objectName] => productTypeFilterObserver
                        )

                    [2] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.reward_points.php
                        )

                    [3] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => RewardPoints
                            [objectName] => RewardPoints
                        )

                    [4] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => class_tpl_pb
                            [objectName] => class_tpl_pb
                        )

                )

            [99] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => CeonURIMappingHandler
                            [objectName] => ceon_uri_mapping
                        )

                )

            [100] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => template_func
                            [objectName] => template
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_sanitize.php
                        )

                    [2] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => navigationHistory
                            [objectName] => navigation
                            [checkInstantiated] => 1
                            [classSession] => 1
                        )

                )

            [110] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_languages.php
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_templates.php
                        )

                )

            [115] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_zca_layout.php
                        )

                )

            [120] => Array
                (
                    [0] => Array
                        (
                            [autoType] => objectMethod
                            [objectName] => navigation
                            [methodName] => add_current_page
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_currencies.php
                        )

                )

            [130] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => messageStack
                            [objectName] => messageStack
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_customer_auth.php
                        )

                )

            [140] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_cart_handler.php
                        )

                )

            [150] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_special_funcs.php
                        )

                )

            [160] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => breadcrumb
                            [objectName] => breadcrumb
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_category_path.php
                        )

                )

            [161] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_canonical.php
                        )

                )

            [165] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => CeonUriMappingLinkBuild
                            [objectName] => ceon_uri_mapping_link_build
                        )

                )

            [170] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_add_crumbs.php
                        )

                )

            [175] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_observers.php
                        )

                )

            [180] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_header.php
                        )
                )
            [190] => Array
                (
                    [0] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.google_recaptcha.php
                        )

                    [1] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => google_recaptcha
                            [objectName] => google_recaptcha
                        )

                    [2] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.products_viewed_counter.php
                        )

                    [3] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => products_viewed_counter
                            [objectName] => products_viewed_counter
                        )
                )
        )
12 Jan 2018, 2:48 PM
#2207
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: Ceon URI Mapping v4.x

devlyn:

Successfully installed on Zen-Cart 1.5.5f with TPP, SitemapXML. Slight change to .htacces:

Handle all other URIs using Zen Cart (its index.php)

Changed:
RewriteRule .* index.php [QSA,L]

To:
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]

After main page was giving an error/not showing up.

I thought it might help someone else.
This is atypical of a standard ZC install. What is installed that is "reading" the path parameter? Path on the uri is not a part of ZC code, nor part of Ceon URI Mapping. Glad it works for this install, but some perspective would help others.

12 Jan 2018, 3:50 PM
#2208
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: Ceon URI Mapping v4.x

mesnitu:

I've updated to 155f , php 7.1 and CEON php7 .... and maybe this in not the right place to ask , but anyway here it goes:
I got issues! :smile:

Categories menu links are ok, but products ( canonical, breadcrumb ) are not.
I also had the breadcrumbs to work with product type handler ( or term) bookx like this:

if ($get_term_breadcrumb->RecordCount() > 0) {
// BEGIN CEON URI MAPPING 1 of 2
// Set the required parameters so that an attempt can be made to map the link to any static URI for the
// filtered page
$typefilter_parameters = '';
if ($get_terms->fields['get_term_name'] != 'manufacturers_id') {
$fix_bookx_term = explode('_',$get_terms->fields['get_term_name'] );
//@ALTERED for Bookx terms
if( $fix_bookx_term['0'] == 'bookx') {
$typefilter_parameters = 'typefilter=' . $fix_bookx_term['0'] . '&';
} else {
$typefilter_parameters = 'typefilter=' . str_replace('_id', '', $get_terms->fields['get_term_name']) . '&';
}
}
$typefilter_parameters .=
$get_terms->fields['get_term_name'] . '=' . $_GET[$get_terms->fields['get_term_name']];

  $breadcrumb->add($get_term_breadcrumb->fields[$get_terms->fields['get_term_name_field']],
	zen_href_link(FILENAME_DEFAULT, $typefilter_parameters));
  /*

// END CEON URI MAPPING 1 of 2
$breadcrumb->add($get_term_breadcrumb->fields[$get_terms->fields['get_term_name_field']], zen_href_link(FILENAME_DEFAULT, $get_terms->fields['get_term_name'] . "=" . $_GET[$get_terms->fields['get_term_name']]));
// BEGIN CEON URI MAPPING 2 of 2
*/
// END CEON URI MAPPING 2 of 2
}
}

> 
>  $typefilter_parameters are ok, so I guess all this should be confined to the html_output.php or as I was reading the auto_loaders position.
> Anyway, I've check and diff the html_output with the CEON 4.5.3 and I'm completely lost .
> So maybe this is related to the auto_loaders position... 
> Sorry for the long report , but perhaps you could give a clue about this: 
> 
> ```
[autoLoadConfig] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [autoType] => include
                            [loadFile] => includes/version.php
                        )

                    [1] => Array
                        (
                            [autoType] => class
                            [loadFile] => class.base.php
                        )

                    [2] => Array
                        (
                            [autoType] => class
                            [loadFile] => class.notifier.php
                        )

                    [3] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => notifier
                            [objectName] => zco_notifier
                        )

                    [4] => Array
                        (
                            [autoType] => class
                            [loadFile] => class.phpmailer.php
                        )

                    [5] => Array
                        (
                            [autoType] => class
                            [loadFile] => boxes.php
                        )

                    [6] => Array
                        (
                            [autoType] => class
                            [loadFile] => category_tree.php
                        )

                    [7] => Array
                        (
                            [autoType] => class
                            [loadFile] => template_func.php
                        )

                    [8] => Array
                        (
                            [autoType] => class
                            [loadFile] => split_page_results.php
                        )

                    [9] => Array
                        (
                            [autoType] => class
                            [loadFile] => language.php
                        )

                    [10] => Array
                        (
                            [autoType] => class
                            [loadFile] => cache.php
                        )

                    [11] => Array
                        (
                            [autoType] => class
                            [loadFile] => sniffer.php
                        )

                    [12] => Array
                        (
                            [autoType] => class
                            [loadFile] => shopping_cart.php
                        )

                    [13] => Array
                        (
                            [autoType] => class
                            [loadFile] => navigation_history.php
                        )

                    [14] => Array
                        (
                            [autoType] => class
                            [loadFile] => currencies.php
                        )

                    [15] => Array
                        (
                            [autoType] => class
                            [loadFile] => message_stack.php
                        )

                    [16] => Array
                        (
                            [autoType] => class
                            [loadFile] => breadcrumb.php
                        )

                    [17] => Array
                        (
                            [autoType] => class
                            [loadFile] => query_cache.php
                        )

                    [18] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => QueryCache
                            [objectName] => queryCache
                            [checkInstantiated] => 1
                        )

                    [19] => Array
                        (
                            [autoType] => class
                            [loadFile] => class.zcPassword.php
                        )

                    [20] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => zcPassword
                            [objectName] => zcPassword
                        )

                    [21] => Array
                        (
                            [autoType] => class
                            [loadFile] => class.CeonURIMappingHandler.php
                        )

                    [22] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.ceon_uri_mapping_link_build.php
                        )

                )

            [10] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_file_db_names.php
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_database.php
                        )

                    [2] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.bookx_observers.php
                        )

                    [3] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.tpl_pb.php
                        )

                    [4] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_tpl_pb.php
                        )

                )

            [30] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => cache
                            [objectName] => zc_cache
                        )

                )

            [40] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_db_config_read.php
                        )

                )

            [50] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => sniffer
                            [objectName] => sniffer
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_gzip.php
                        )

                    [2] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_sefu.php
                        )

                )

            [60] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_general_funcs.php
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_tlds.php
                        )

                )

            [70] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_sessions.php
                        )

                )

            [80] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => shoppingCart
                            [objectName] => cart
                            [checkInstantiated] => 1
                            [classSession] => 1
                        )

                )

            [90] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => currencies
                            [objectName] => currencies
                        )

                    [1] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => productTypeFilterObserver
                            [objectName] => productTypeFilterObserver
                        )

                    [2] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.reward_points.php
                        )

                    [3] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => RewardPoints
                            [objectName] => RewardPoints
                        )

                    [4] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => class_tpl_pb
                            [objectName] => class_tpl_pb
                        )

                )

            [99] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => CeonURIMappingHandler
                            [objectName] => ceon_uri_mapping
                        )

                )

            [100] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => template_func
                            [objectName] => template
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_sanitize.php
                        )

                    [2] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => navigationHistory
                            [objectName] => navigation
                            [checkInstantiated] => 1
                            [classSession] => 1
                        )

                )

            [110] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_languages.php
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_templates.php
                        )

                )

            [115] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_zca_layout.php
                        )

                )

            [120] => Array
                (
                    [0] => Array
                        (
                            [autoType] => objectMethod
                            [objectName] => navigation
                            [methodName] => add_current_page
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_currencies.php
                        )

                )

            [130] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => messageStack
                            [objectName] => messageStack
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_customer_auth.php
                        )

                )

            [140] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_cart_handler.php
                        )

                )

            [150] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_special_funcs.php
                        )

                )

            [160] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => breadcrumb
                            [objectName] => breadcrumb
                        )

                    [1] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_category_path.php
                        )

                )

            [161] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_canonical.php
                        )

                )

            [165] => Array
                (
                    [0] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => CeonUriMappingLinkBuild
                            [objectName] => ceon_uri_mapping_link_build
                        )

                )

            [170] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_add_crumbs.php
                        )

                )

            [175] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_observers.php
                        )

                )

            [180] => Array
                (
                    [0] => Array
                        (
                            [autoType] => init_script
                            [loadFile] => init_header.php
                        )
                )
            [190] => Array
                (
                    [0] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.google_recaptcha.php
                        )

                    [1] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => google_recaptcha
                            [objectName] => google_recaptcha
                        )

                    [2] => Array
                        (
                            [autoType] => class
                            [loadFile] => observers/class.products_viewed_counter.php
                        )

                    [3] => Array
                        (
                            [autoType] => classInstantiate
                            [className] => products_viewed_counter
                            [objectName] => products_viewed_counter
                        )
                )
        )

It's unfortunate that having issues; however, it's difficult to identify a solution to a problem that isn't explained, what the issues are, what notifications/errors are reported, etc...

The autoLoadConfig array provided identifies that at least the modifications implemented in the software for the breadcrumbs are loaded before attempting to access the breadcrumbs.

As to the modification made in the breadcrumbs file, while not sure what value is returned for bookx from $get_terms->fields['get_term_name'] other than expecting it to begin with bookx_, but the code there appears to handle the situation correctly to support addressing the bookx product type as compared to the ZC default that includes _id on the end of it.

12 Jan 2018, 4:57 PM
#2209
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Ceon URI Mapping v4.x

mc12345678:

It's unfortunate that having issues; however, it's difficult to identify a solution to a problem that isn't explained, what the issues are, what notifications/errors are reported, etc...
Thanks
Yeap... but there's nothing to report. Not errors or logs.

Even if I paste a uri from the database it works on the url.
uri (/romances/romance/o-deserto-dos-tartaros/) main_page(product_bookx_info)

Even the bookx filters are working, categories, etc...

The products listings links are the issue...
This is a different product type but.... The only thing I can report it's I had this working with 155e, php 5.6.3 and the Ceon 4.5.2
I don't remember doing anything for CEON to recognize the product_bookx_info. But... I've done so much stuff in this site , that I be 100% sure

I digging into CEON class.CeonURIMappingHREFLinkBuilder but no luck yet.

12 Jan 2018, 5:04 PM
#2210
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Ceon URI Mapping v4.x

Ok, I know now it's something related with the product_book_info
If I insert a "regular" product it works fine.
Still don't remember what I've done.
Getting closer.
Thanks

12 Jan 2018, 5:13 PM
#2211
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: Ceon URI Mapping v4.x

mesnitu:

Ok, I know now it's something related with the product_book_info
If I insert a "regular" product it works fine.
Still don't remember what I've done.
Getting closer.
Thanks

You should have done what is recommended (I think in the instructions) of updating: includes/extra_datafiles/ceon_uri_mapping_product_pages.php

To reflect the issue. So, there's the problem you were talking about, bookx product uris are not rewritten, but other product type are... easy fix and guiding to that file should help out. :)

6 Mar 2018, 1:54 PM
#2213
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,065
Plugin Contributions:
56

Re: Ceon URI Mapping v4.x

Any pointers for running the Ceon URI Mapping on a localhost installation? I've got an XAMPP installation on my computer and normally access my test installations as http[s]://localhost/store_name.

When I've got a store that uses the URI mappings, any mapping generated discards the store_name portion of the link resulting in 404's. I'm expecting that the generated links should be localhost/store_name/the_link, but they're coming out as simply localhost/the_link.

6 Mar 2018, 2:01 PM
#2214
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: Ceon URI Mapping v4.x

How is you're HTTP_HOST and/or DIR_WS_CATALOG defined?

How/where is the .htaccess that was recommended by the install and is there one in the sub-directory (if so please provide contents of both omitting/obscuring the admin directory RewriteCond for it and the comment above it.)

6 Mar 2018, 2:07 PM
#2215
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,065
Plugin Contributions:
56

Re: Ceon URI Mapping v4.x

Thanks for the prompt response, @mc12345678. The information you requested:

HTTP_SERVER is http://localhost
DIR_WS_CATALOG is /store_name/

.htaccess (located in the root of the /store_name directory):

## 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)$ [NC]
# Don't rewrite any URIs for some specific file format extensions,
#   which are not covered by main file extension condition above
#   Uncomment the following line to apply this condition! (Remove the # at the start of the next line)
#RewriteCond %{REQUEST_URI} !\.(3gp|3g2|h261|h263|mj2|mjp2|mp4v|mpg4|m1v|m2v|m4u|f4v|m4v|3dml)$ [NC]
# Don't rewrite admin directory
RewriteCond %{REQUEST_URI} !^/admin [NC]
# Don't rewrite editors directory
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
# Don't rewrite logs directory
RewriteCond %{REQUEST_URI} !^/logs/ [NC]
# Don't rewrite sitemap directory
RewriteCond %{REQUEST_URI} !^/sitemap/ [NC]
# Don't rewrite cgi-bin directory
RewriteCond %{REQUEST_URI} !^/cgi\-bin/ [NC]
# Handle all other URIs using Zen Cart (its index.php)
RewriteRule .* index.php [QSA,L]

## END CEON URI MAPPING REWRITE RULE
6 Mar 2018, 2:41 PM
#2216
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: Ceon URI Mapping v4.x

What's the plan for any uris generated in the local environment related to an online site? Ie. Will that site have the same sub-folder structure, will it be another directory name, or is neither of that a factor?Ask because can possibly provide a local "only" solution or one that supports moving this htaccess elsewhere. Mind you, the instructions recommend that the htaccess be placed in the root of the domain (paraphrasing) such that it would have been expected to be at localhost not localhost/store_name from the web-facing address.

6 Mar 2018, 3:17 PM
#2217
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,065
Plugin Contributions:
56

Re: Ceon URI Mapping v4.x

mc12345678:

What's the plan for any uris generated in the local environment related to an online site? Ie. Will that site have the same sub-folder structure, will it be another directory name, or is neither of that a factor?Ask because can possibly provide a local "only" solution or one that supports moving this htaccess elsewhere. Mind you, the instructions recommend that the htaccess be placed in the root of the domain (paraphrasing) such that it would have been expected to be at localhost not localhost/store_name from the web-facing address.
I'm not totally sure what you're asking. My expectation is that any URIs generated are *relative *to the site's current installation.

That is if the ceon-generated URI is microsoft-intellimouse-pro, my expectation is that the localhost'd version would be http://localhost/store_name/microsoft-intellimouse-pro while the webhosted version would be http://www.store_name.com/microsoft-intellimouse-pro (since the site's hosted version is in the root of the hosted account).

6 Mar 2018, 3:47 PM
#2218
paul3648 avatar

paul3648

Zen Follower

Join Date:
Mar 2007
Location:
Taiwan
Posts:
239
Plugin Contributions:
0

Re: Ceon URI Mapping v4.x

I have this working by setting up my install folder as an apache2 virtual host, then putting the CEON mappings directly in the conf file of /etc/apache2/vhosts.d folder.

So rather than accessing it as http://localhost/myinstall I access it as http://myinstall

6 Mar 2018, 4:08 PM
#2219
simon1066 avatar

simon1066

Totally Zenned

Join Date:
Feb 2009
Location:
UK
Posts:
1,326
Plugin Contributions:
0

Re: Ceon URI Mapping v4.x

lat9:

Any pointers for running the Ceon URI Mapping on a localhost installation? I've got an XAMPP installation on my computer and normally access my test installations as http[s]://localhost/store_name.

When I've got a store that uses the URI mappings, any mapping generated discards the store_name portion of the link resulting in 404's. I'm expecting that the generated links should be localhost/store_name/the_link, but they're coming out as simply localhost/the_link.

Not sure what pointers you need but I have my local dev copies of ZC running on a windows pc (uniformserver), this is the way I've done it and apologies in advance if I'm teaching you to suck eggs:

by editing the windows etc/hosts file I access the dev site just by using example.com - no localhost to worry about and this means my URI's are the same as my live site. Of course this means I can't access the live site on this PC without changing the hosts file, which is fine as I have another PC for live site access.

my CEON htaccess (root) content is the same as yours.

my includes/configure.php is

define('HTTP_SERVER', 'https://example.com');
define('HTTPS_SERVER', 'https://example.com');
define('DIR_WS_CATALOG', '/');
define('DIR_WS_HTTPS_CATALOG', '/');
define('DIR_FS_CATALOG', 'C:/server/UniserverZ/www/example.com/');

Hope this helps.

6 Mar 2018, 4:09 PM
#2220
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,065
Plugin Contributions:
56

Re: Ceon URI Mapping v4.x

paul3648:

I have this working by setting up my install folder as an apache2 virtual host, then putting the CEON mappings directly in the conf file of /etc/apache2/vhosts.d folder.

So rather than accessing it as http://localhost/myinstall I access it as http://myinstall
Thanks for that @paul3648, I'd tried that a couple of years ago but had issues. I'll give it another shot.